Класс dompdf.wrapper не существует laravel 4.2.0

Я пытаюсь использовать пакет dompdf с Lavarel 4.2.0 в своем проекте, автором которого является barryvdh, я пытался установить три разные версии этого пакета (0.6*, 0.6.1,0.5.2)

"name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "laravel/framework": "4.2.*",
        "fzaninotto/faker": "^1.6",
        "barryvdh/laravel-dompdf": "0.5.2"

Тем не менее, каждый раз, когда я пытаюсь создать PDF-файл, используя

Route::get('/invoice', function()
{
$pdf = App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1>');
return $pdf->stream();
});

Я получаю эту ошибку

Class dompdf.wrapper does not exist (vendor\laravel\framework\src\Illuminate\Container\Container.php)
/ hand back the results of the functions, which allows functions to be
        // used as resolvers for more fine-tuned resolution of these objects.
        if ($concrete instanceof Closure)
        {
            return $concrete($this, $parameters);
        }

        $reflector = new ReflectionClass($concrete);

        // If the type is not instantiable, the developer is attempting to resolve

2 ответа

Согласно документации, нам нужно установить версии 0.4.x для Laravel 4. Ваш проект использует версии для Laravel 5.

composer.json:

"require": { 
    ... 
    "barryvdh/laravel-dompdf": "0.4.*"
}

Чтобы разрешить службу dompdf из контейнера, используйте 'dompdf'не 'dompdf.wrapper':

$pdf = App::make('dompdf');

Или используйте PDF фасад:

use PDF; 
... 
$pdf = PDF::loadHTML('<h1>Test</h1>');

Обязательно зарегистрируйте поставщика услуг и фасад в config / app.php.

Я положил в файл config/app.php в providers раздел:

Barryvdh\DomPDF\ServiceProvider::class,

И в aliases раздел:

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

И я использую это в моем контроллере:

use PDF;
...
$pdf = PDF::loadView('panel.cooperation-offers.pdf', $showData);

Вот мой composer.json:

...
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "barryvdh/laravel-dompdf": "0.6.*"
}, ...
Другие вопросы по тегам