Route [route name] not defined - решаем проблему

Все мы любим кеширование, и вот однажды использовав команду route:cache - мы получаем ошибку:

Route [route name] not defined

В routes данный роут прописан, из консоли работает, а вот при заходе из Web - получаем ошибку.

На самом деле данная ошибка появляется только у тех, кто разбивает свой web.php файл с роутами на более мелкие файлы, и включает их в web.php через require_once. Ошибка старая, и до сих пор ее не пофиксили (даже в текущем Laravel 5.5 она есть).

Чтобы исправить ошибку - нужно заменить все require_once на просто require, и затем вызвать:

$ php artisan route:clear
$ php artisan route:cache

(при вызове только php artisan route:cache оно иногда не срабатывает, поэтому приходится вызывать обе команды вручную)

И все должно заработать. Вот так вот, не любит наш Laravel require_once в файлах роутинга.

Всем успехов!

Опубликовано:

Категории: Статьи