Класс Spatie\PdfToText\Pdf не найден

Я попытался продолжить работу Spatie\PdfToText. У меня есть следующая ошибка:

Класс Spatie\PdfToText\Pdf не найден

Я прочитал это, но это не помогает.

use Spatie\PdfToText\Pdf;

public function importInRequestStore($projectId, Request $request)
{
    require  base_path().'/vendor/autoload.php';
    $text = (new Pdf())
        ->setPdf('book.pdf')
        ->text();
}

Что не так в этом коде? В гугле решения не нашел. Заранее спасибо.

введите здесь описание изображения


person Peter    schedule 16.12.2017    source источник
comment
Вы обновили автозагрузку после запроса spatie?   -  person u_mulder    schedule 16.12.2017
comment
да, я обновил композитор   -  person Peter    schedule 16.12.2017
comment
Я попытался изменить пространство имен, но все та же ошибка. Это странно!   -  person Peter    schedule 16.12.2017
comment
У вас есть автозагрузка или требуется выше этого? Сам по себе оператор use не загрузит файл класса.   -  person miknik    schedule 16.12.2017
comment
Я поставил для всех файлов требование выше, и это работает. но я не понимаю, почему laravel загружает все остальные файлы, но не этот.   -  person Peter    schedule 16.12.2017
comment
Пробовали ли вы composer du или composer dump-autoload после добавления/изменения классов?   -  person Tpojka    schedule 16.12.2017
comment
Да. Я добавил некоторые другие функции композитора, и они работают без проблем.   -  person Peter    schedule 18.12.2017


Ответы (1)


Laravel/Lumen не будет загружать класс, так как у этих классов Spatie нет поставщиков услуг.

Вы должны изменить composer.json, который находится в корне вашего проекта Laravel/Lumen.

Вы можете добавить путь к карте классов, как показано ниже, в узле автозагрузки:

"autoload": {
    "classmap": [
        "vendor/spatie"
    ]
},

Или вы можете добавить ключ-значение psr-4, как показано ниже, в узел автозагрузки (это рекомендуется):

"autoload": {
    "psr-4": [
        "Spatie\\": "vendor/spatie"
    ]
},

И последнее ВАЖНОЕ: вы должны composer dump-autoload тогда. В противном случае класс spatie никогда не загрузится.

person Tiger Plums    schedule 08.11.2019