Php 无法在laravel 5.1中使用facade调用方法
我想从laravel 5.1中的视图生成PDF文件。我正在使用 但是,我得到了以下错误:非静态方法Barryvdh\DomPDF\PDF::loadView()不应该静态调用,假设$this来自不兼容的上下文Php 无法在laravel 5.1中使用facade调用方法,php,dompdf,laravel-5.1,Php,Dompdf,Laravel 5.1,我想从laravel 5.1中的视图生成PDF文件。我正在使用 但是,我得到了以下错误:非静态方法Barryvdh\DomPDF\PDF::loadView()不应该静态调用,假设$this来自不兼容的上下文 $pdf = PDF::loadView('invoices.show_invoice', $data); return $pdf->download('invoice.pdf'); 您很可能刚刚忘记将ServiceProvider和facade行添加到config/app.php
$pdf = PDF::loadView('invoices.show_invoice', $data);
return $pdf->download('invoice.pdf');
您很可能刚刚忘记将ServiceProvider和facade行添加到
config/app.php
:
'Barryvdh\DomPDF\ServiceProvider',
及
更新composer后,将ServiceProvider添加到提供程序中
config/app.php中的数组
“Barryvdh\DomPDF\ServiceProvider”,您可以选择使用facade
对于较短的代码。将此添加到您的外观:
'PDF'=>'Barryvdh\DomPDF\Facade'
您需要向Laravel注册facade。发生这种情况是因为您给错误的PDF类命名。 您正在给Barryvdh\DomPDF\PDF命名,并尝试将该类用作“Facade”,这是错误的。 因此,有两种可行的方法来解决您的问题:
参考资料:使用\在PDF之前,问题已解决
$pdf = \PDF::loadView('invoices.show_invoice', $data);
return $pdf->download('invoice.pdf');
在我的例子中,这个问题是由于给错误的PDF类命名而引起的。为了解决这个问题,我将名称空间设置为facade:
使用Barryvdh\DomPDF\Facade作为PDF代码>
与之相反:
使用Barryvdh\DomPDF\PDF代码>
我的IDE中的自动完成功能设置错误
$pdf = \PDF::loadView('invoices.show_invoice', $data);
return $pdf->download('invoice.pdf');