在My Laravel应用程序中遇到以下错误:
CollaboPDFController.php第14行中的FatalErrorException:找不到类"PDF"
这是我的CollaboPDFController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use PDF;
class CollaboPDFController extends Controller
{
public function getPDF(){
$pdf = PDF::loadView('customer.customer'); //line 14
return $pdf->download('customer.customer');
}
//
}
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
首先你必须需要DOMPDF包
第1步 :
composer require barryvdh/laravel-dompdf
Run Code Online (Sandbox Code Playgroud)
第 2 步:在 ..\config\app.php
'providers' => [
.....
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
.....
'PDF' => Barryvdh\DomPDF\Facade::class,
]
Run Code Online (Sandbox Code Playgroud)
第 3 步:
use \PDF;
Run Code Online (Sandbox Code Playgroud)
第四步 :
$pdf = PDF::loadView('pdf.report');
return $pdf->stream('report.pdf', array('Attachment' => 0));
Run Code Online (Sandbox Code Playgroud)
您使用的是错误的导入.要使用您想要的PDF(可能是laravel-dompdf),请使用:
use Barryvdh\DomPDF\Facade as PDF;
Run Code Online (Sandbox Code Playgroud)
如果您'PDF' => Barryvdh\DomPDF\Facade::class,输入config/app.php,您还可以使用:
use \PDF;
Run Code Online (Sandbox Code Playgroud)
要么
\PDF::loadView('customer.customer');
Run Code Online (Sandbox Code Playgroud)
小智 5
就我而言,我尝试了上面的一些示例,但没有任何效果。但是,我浏览了位于此处的包的目录:
project-folder>vendor>barryvdh>laravel-dompdf>src>Facade>Pdf.php 我意识到在文件 >> app.php 中创建的 PDF 别名没有使用正确的类。所以替换:
'aliases' => [
.....
'PDF' => Barryvdh\DomPDF\Facade::class,
]Run Code Online (Sandbox Code Playgroud)
经过:
'aliases' => [
.....
'PDF' => Barryvdh\DomPDF\Facade\Pdf::class,
]Run Code Online (Sandbox Code Playgroud)
我希望这能帮到您。