laravel / lumen-framework: "5.7. *" и flipbox / lumen-generator: "^ 5.6" Класс не найден - PullRequest
0 голосов
/ 09 октября 2018

Я думаю, что это связано с тем, что автозагрузка композитора не обнаруживает пакеты за пределами laravel / lumen-framework / src

Правильно ли мое предположение о приведенной ниже проблеме?Должен ли я включить ключ psr-4 в "autoload-dev" вложенный объект?

Я очень ценю вашу помощь.

Спасибо.

Ниже приведено исключение ошибок, composer.json сниппет и журналы трассировки стека

Exception

Ниже composer.json

        {
        ...
        "autoload": {
            "classmap": [
                "database/seeds",
                "database/factories"
            ],
            "psr-4": {
                "App\\": "app/"
            }
        },
        "autoload-dev": {
            "classmap": [
                "tests/"
            ]
        },
        ...
    }

Ниже приведен журнал трассировки стека, найденный в storage/lumen.log

[2018-10-09 07:51:53] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: 
Class '\FlipBox\LumenGenerator\LumenGeneratorServiceProvider' not found in 
/var/www/vendor/laravel/lumen-framework/src/Application.php:183
Stack trace:
#0 /var/www/bootstrap/app.php(86): Laravel\Lumen\Application->register('\\FlipBox\\LumenG...')
#1 /var/www/public/index.php(14): require('/var/www/bootst...')
#2 {main} {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): 
Class '\\FlipBox\\LumenGenerator\\LumenGeneratorServiceProvider' not 
found at /var/www/vendor/laravel/lumen-framework/src/Application.php:183)
[stacktrace]
#0 /var/www/bootstrap/app.php(86): Laravel\\Lumen\\Application->register('\\\\FlipBox\\\\LumenG...')
#1 /var/www/public/index.php(14): require('/var/www/bootst...')
#2 {main}
"}

1 Ответ

0 голосов
/ 09 октября 2018

Это была действительно глупая ошибка после отладки и перехода на северный полюс туда-сюда.Я понял, что на пространство имен классов ссылались неправильно, поэтому вместо использования ниже:

if ($app->environment() !== 'production') {
    $app->register(FlipBox\LumenGenerator\LumenGeneratorServiceProvider::class);
}

Я должен был использовать маленькую букву b вместо B, поэтому работает следующее:

if ($app->environment() !== 'production') {
    $app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);
}

Затем, выполнив php artisan list, вы получите все make:* вкусности:

enter image description here

...