Laravel 11: No Http Kernel, No $casts, No Console Kernel!
- ·
-
Laravel 11 запланирован к выпуску в первом квартале 2024 года и принесет различные улучшения и новые функции в рамках фреймворка.
Хорошей практикой является всегда знать о новых функциях и изменениях в новых версиях, чтобы избежать поломки приложения при обновлении до новой версии фреймворка.
Taylor Otwell упомянул, что Laravel 11 будет иметь упрощенную структуру и в новой версии будет много изменений, которые мы собираемся рассмотреть.
1. No Http Kernel
Начиная с Laravel 11, файл Http Kernel больше не существует в папке Http, и все необходимые конфигурации были перемещены в файл bootstrap/app.php.
Если мы перейдем в папку bootstrap и посмотрим файл app.php, то увидим:
Мы должны писать любые дальнейшие модификации здесь, и это идентично старому файлу Http/Kernel.
2. No $casts
В Laravel 11 мы больше не можем использовать атрибут $casts в моделях. В более ранних версиях фреймворка мы использовали его для приведения желаемого атрибута, как показано ниже:
Однако после обновления версии вашего фреймворка до 11.0, мы должны использовать функцию cast в наших моделях для приведения атрибутов. Например:
3. No Console Kernel
Еще одним значительным изменением в Laravel 11 является удаление файла console kernel.php. При использовании Laravel 11 мы должны помещать все наши команды в файл routes/console.php, как показано ниже:
4. Config Changes
Некоторые из файлов конфигурации, ранее хранившиеся в папке config, будут скрыты в Laravel 11. Если вам нужен доступ к ним, вы можете использовать команду php artisan config:publish, чтобы раскрыть и изменить их.
5. Api File
Опять же, файл api.php по умолчанию не размещается в папке web, и вам нужно выполнить команду php artisan install:api, чтобы добавить файл маршрутов API.