Laravel не видит сервис-провайдер

243
18 января 2018, 21:49

Создаю пакет для Laravel. Есть сервис-провайдер CartServiceProvider, который лежит в пространстве имен Alexxosipov\Cart. Скрин об этом ниже:

Также, добавил в config/app.php мой провайдер, также добавил в composer.json пространство имен и сделал composer dumpautoload

После этого, приложение перестало работать, выдает следующее:

FatalErrorException in ProviderRepository.php line 146:
Class 'Alexxosipov\Cart\CartServiceProvider' not found

Почему laravel не видит мой класс, хотя phpstorm показывает, что данный провайдер лежит в нужном пространстве имен?

Autoload (корневой composer.json):

"autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "Alexxosipov\\Сart\\": "packages/alexxosipov/cart/src/"
        }
    }
Answer 1

Видимо composer не в курсе о существовании этого пространства имён, нужно в файл composer.json главный который добавить неймспейс:

"autoload": {
    "psr-4": {
        ...
        "Alexxosipov\\Cart\\": "packages/alexxosipov/cart/src"
    }
},

Потом уже composer dump-autoload и тогда должно всё заработать.

READ ALSO
PHP MYSQL Структура пользовательского чата

PHP MYSQL Структура пользовательского чата

Здравствуйте, планирую сделать на сайте пользовательский чатТо есть не общий чат, а между конкретными пользователями, два человека

232
Библиотеки php для yii2 на os x

Библиотеки php для yii2 на os x

Добрый день, инсталлирую на локальный сервер(php-71/apache-2

226
Как Laravel хранит маршруты?

Как Laravel хранит маршруты?

В гайде написано о файлах маршрутовИнтересно как они выглядят

206
Как узнать адрес вызывающего файла

Как узнать адрес вызывающего файла

Имеется следующая структураИз файла main/views/index

234