【发布时间】:2017-08-24 17:33:22
【问题描述】:
我是 laravel 的新手。我正在尝试使用来自 barryvdh 的 Snappy PDF。我已经按照https://github.com/barryvdh/laravel-snappy 的说明安装了 snappy pdf。但是当我运行php artisan serve 命令时,会显示以下错误
PHP 致命错误:在第 21 行调用 F:\xampp\htdocs\Laravel\doctorApp\vendor\barryvdh\laravel-snappy\src\LumenServiceProvider.php 中未定义的方法 Illuminate\Foundation\Application::configure()
这是我的 LumenServiceProvider.php 中的那一行:
public function register()
{
$this->app->configure('snappy'); // line 21
$configPath = __DIR__ . '/../config/snappy.php';
$this->mergeConfigFrom($configPath, 'snappy');
}
我已经使用这个安装了 wkhtmltopdf:
$ composer require h4cc/wkhtmltopdf-amd64 0.12.x
$ composer require h4cc/wkhtmltoimage-amd64 0.12.x
在 config/app.php 中,我在提供程序和别名中添加了以下行:
在提供者中:Barryvdh\Snappy\ServiceProvider::class,
在别名中:
'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
我的配置文件 (config/snappy.php) 中二进制文件的路径:pdf 的第一个..
'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
图片的第二个...
'binary' => base_path('vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64'),
我的引导程序/app.php:
<?php
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
/*snappy pdf start--- i added this part*/
class_alias('Barryvdh\Snappy\Facades\SnappyPdf', 'PDF');
$app->register(Barryvdh\Snappy\LumenServiceProvider::class);
//Optionally, add the facades like so:
class_alias(Barryvdh\Snappy\Facades\SnappyPdf::class, 'PDF');
class_alias(Barryvdh\Snappy\Facades\SnappyImage::class, 'SnappyImage');
/*snappy pdf end*/
$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
return $app;
在我的控制器中我添加了:
use Barryvdh\Snappy\Facades as PDF;
这是我的控制器:
public function PdfView(Request $request, $patient_id)
{
$patients = Patient::where('id', $patient_id)->first();
$pdf = PDF::loadView('pdfview', ['patients'=>$patients]);
return $pdf->download('pdfview.pdf');
}
有人可以说一下,为什么会出现这个错误以及如何解决这个问题?
【问题讨论】:
-
我没有使用
configure开头,默认情况下在 LumenServiceProvider.php 中。 -
我没有使用
configure开头,默认情况下在 LumenServiceProvider.php 中。
标签: php laravel laravel-5 laravel-5.4