laravel dompdf未定义类型“ PDF”

问题描述

我正在尝试将dompdf与Laravel一起使用,即使我使用'use PDF'还是错误

这是我的控制人

<?PHP
    
namespace App\Http\Controllers;

use RealRashid\SweetAlert\Facades\Alert;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Pasien;
use Illuminate\Support\Facades\Redirect;

use PDF;
    
class PasienController extends Controller {
    /**
     * display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index() {
        $pasien = DB::table('pasien')->paginate(5);
        return view('pasien/index',['pasien' => $pasien]);
    }

    public function createPDF() {
        // retreive all records from db
        $data = Pasien::all();
  
        // share data to view
        view()->share('employee',$data);
        $pdf =  PDF::loadView('pdf_view',$data);
  
        // download PDF file with download method
        return $pdf->download('pdf_file.pdf');
    }
}

此行中的PDF为红色

$ pdf = PDF :: loadView('pdf_view',$ data);

错误显示此消息

未定义类型“ PDF”

我已将其放入提供商中

Barryvdh \ DomPDF \ ServiceProvider :: class,

这是别名

'PDF'=> Barryvdh \ DomPDF \ Facade :: class,

我已经使用composer安装了该软件包,并且PHP artisan厂商也发布了该软件包。

解决方法

在我的情况下有效

Application.Current.Resources

我在$pdf = \PDF::loadView('...'); 类名前添加了\PDF

在类名开头之前的loadView代表Global Namespace

,

Maulik答案与Khalid khan的结合确实对我有帮助,并且确实有效!

代替

使用PDF;

使用此功能(即使我听说您可以使用“使用PDF”,但还是可以!)

使用Barryvdh \ DomPDF \ PDF;

然后输入此命令

php artisan config:cache

重置所有内容,退出IDE,重新启动服务器,然后尝试再次打开项目。

您可以先尝试清除缓存,然后再修改代码,或尝试另一种方式。

,

我刚刚在我的 providers 数组中添加了 Barryvdh\DomPDF\ServiceProvider::class(在 /config/app.php 中)和我的别名数组中的 'PDF' => Barryvdh\DomPDF\Facade::class(在同一个文件中)它对我有用!

注意 1:我使用的是 Laravel 8.0.3

注意2:不要忘记运行这个:

composer require barryvdh/laravel-dompdf