Laravel: код сработал после сброса композитора - PullRequest
0 голосов
/ 15 апреля 2019

Я работаю над приложением в течение последних двух лет, Есть около 50+ контроллеров и модалов и т. Д.

Я использую версию Laravel 5.2

Внезапно возникло исключение, что метод класса не существует. Код был в порядке, и он работал раньше, так как этот конкретный контроллер был старым.

Я бегал php artisan cache:clear и composer dumpautoload

И код начинает работать

Мне любопытно, что там произошло, Как кеш laravel: clear работает, Почему проблема возникла внезапно, когда это было хорошо в течение многих лет

Ответы [ 3 ]

2 голосов
/ 15 апреля 2019

Я считаю, что есть некоторые изменения в пути к некоторым файлам, и файл автозагрузчика устарел, поэтому вы не смогли получить доступ к этим классам / файлам со старым путем, composer dump-autoload, заново сгенерировал файл autoload.php, убедившись, что пути верны, и теперь вы можете заставить его работать как положено.

Эта тема может дать вам лучшее представление об этом.

0 голосов
/ 15 апреля 2019

Я думаю, что composer dump-autoload заново создает список всех классов, которые должны быть включены в проект (autoload_classmap.php).Идеально подходит для случаев, когда у вас есть новый класс внутри вашего проекта.Всякий раз, когда мы запускаем «composer dump-autoload», Composer перечитывает файл composer.json, чтобы создать список файлов для автозагрузки.

0 голосов
/ 15 апреля 2019

когда вы перемещаетесь в проект с одного сервера на другой или меняете каталог проекта, возникают ошибки или исключения этих типов. Это связано с тем, что файлы кэша ссылаются на не найденные файлы, а при использовании composer dump-autoload файлы автозагрузки обновляются, а команда php artisan config:cache используется для очистки кэша и повторного кэширования файлов.

...