关于Lumen Class' PDF'的tcpdf未找到

时间:2017-11-16 18:30:22

标签: tcpdf lumen

我使用Lumen 5.4.7创建了一个新项目,并添加了来自elibyy/tcpdf-laravel版本5.4.2的TCPDF库(具有Lumen支持):

composer require elibyy/tcpdf-laravel "5.4.2"

我使用

bootstrap/app.php中启用了Facades和服务提供商
$app->withFacades();
$app->register(Elibyy\TCPDF\ServiceProvider::class);

我创建了一个基本的控制器:

<?php

namespace App\Http\Controllers;
use \PDF;

class PdfController extends Controller
{
    /**
     * Create a test PDF file.
     *
     * @return void
     */
    public function createTestPdf()
    {
      PDF::SetTitle('Hello World');
      PDF::AddPage();
      PDF::Write(0, 'Hello World');
      PDF::Output('hello_world.pdf');

      echo "Fatto!";
    }
}

有一条基本路线:

$app->get('pdf', 'PdfController@createTestPdf');

但是当我尝试访问/pdf时,我收到以下错误:

Fatal error: Class 'PDF' not found in /Users/m/Documents/Projects/lumen-pdf/app/Http/Controllers/PdfController.php on line 15

(1/1) FatalErrorException
Class 'PDF' not found
in PdfController.php (line 15)
at Application->handleShutdown()
in RegistersExceptionHandlers.php (line 54)
at Application->Laravel\Lumen\Concerns\{closure}()

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。

bootstrap/app.php中缺少一行,为 Elibyy \ TCPDF \ Facades \ TCPDF 添加 class_alias PDF

class_alias('Elibyy\TCPDF\Facades\TCPDF', 'PDF');

谢谢!