Плагины должны быть зарегистрированы в composer.json начиная с CakePHP 3.7. * Для обеспечения автозагрузки.
Эта ошибка может произойти, если вы создаете плагин вручную или используете cake bake plugin
, а не переопределяет composer.json
(по умолчанию).
Если вы загружаете плагин в App\Application::bootstrap()
через
$this->addPlugin('Admin', ['bootstrap' => true, 'routes' => true]);
, он вызывает метод в Cake\Http\BaseApplication::makePlugin
, который вызывает class_exists () функция.Но это работает, только если плагин зарегистрирован в composer / autoload и класс будет найден.
Чтобы решить эту проблему, добавьте плагин в файл composer.json
:
"autoload": {
"psr-4": {
"App\\": "src/",
"Administrator\\": "./plugins/Administrator/src/"
}
},
и обновите файлы автозагрузки композитора:
composer dumpautoload
кажется ошибкой в CakePHP 3.7.0.и 3.7.1.
Не ошибка, см. комментарий CodeWhisperer