📜  不应静态调用非静态方法 Barryvdh\DomPDF\PDF::loadView() - PHP (1)

📅  最后修改于: 2023-12-03 15:06:12.702000             🧑  作者: Mango

不应静态调用非静态方法 Barryvdh\DomPDF\PDF::loadView() - PHP

在使用Barryvdh\DomPDF库中,运行时可能会出现“不应静态调用非静态方法 Barryvdh\DomPDF\PDF::loadView() - PHP”这样的错误提示。

错误原因

这个错误提示通常是因为调用了一个非静态方法,而使用了静态方法的调用方式。具体来说,就是使用了如下的方式调用loadView方法:

PDF::loadView('pdf.invoice', $data);

而应该使用如下方式调用:

$pdf = App::make('dompdf.wrapper');
$pdf->loadView('pdf.invoice', $data);

同时,注意在使用loadView方法之前,必须要先初始化$pdf对象。

解决方法

要解决这个问题,需要将调用方式从静态方法调用改为实例方法调用。以上面的例子为例:

$pdf = App::make('dompdf.wrapper');
$pdf->loadView('pdf.invoice', $data);

这样就可以解决此错误。

结论

“不应静态调用非静态方法 Barryvdh\DomPDF\PDF::loadView() - PHP”错误,是因为调用了一个非静态方法,而使用了静态方法的调用方式。要解决这个问题,需要将调用方式从静态方法调用改为实例方法调用。