2016-07-22 6 views
0

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

"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 

ответ

-1

Я положил в файл 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.*" 
}, ... 
0

Согласно the docs, нам нужно, чтобы установить 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>'); 

Убедитесь, что register the service provider and facade в конфигурации/app.php.