Что будет в Laravel 11
Пока что неожиданно для многих сообщества разработчиков Laravel, официальный выпуск Laravel 11 не планируется до начала первого квартала 2024 года. В то же время, Тейлор Отвелл — создатель Laravel — в своей программной презентации на конференции Laracon информировал о нескольких значительных улучшениях в новой версии фреймворка. Несмотря на задержку релиза, сообщество разработчиков с нетерпением ожидает обновления Laravel, которое, согласно заявлениям, принесет некоторые новые и инновационные функции. Компания Devnrise в Риге предлагает услуги разработки laravel.
Оптимизированная структура каталогов
Разработчики объявили бета-версию оптимизированной структуры каталогов. Хотя возможны изменения в будущем, на данный момент можно ожидать следующего:
По умолчанию больше нет расширения контроллеров.
Промежуточное программное обеспечение (Middleware) больше не хранится в специальном каталоге. Laravel включает в себя девять таких программ, многие из которых вероятно не понадобятся вам. Однако, если вы захотите настроить промежуточное программное обеспечение, теперь вам нужно будет переместить соответствующий файл в App/ServiceProvider.
public function boot(): void
{
EncryptCookies::except(['some_cookie']);
}
Изменения модели
Переопределение моделей теперь рассматривается как метод, а не как атрибут. Когда модель переопределена как метод, это позволяет нам осуществлять другие действия, такие как вызов других методов напрямую из переопределенных объектов.
protected function casts(): array
{ return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
'options'=› AsEnumCollection::of(UserOption::class),
];}
Изменения конфигурации
Laravel имеет множество файлов конфигурации, но в Laravel 11 они будут удалены и все параметры конфигурации будут каскадированы. Теперь вы можете установить все параметры в файле .env, который был расширен, чтобы включить все параметры настройки. Кроме того, новая команда config:publish позволяет вам восстановить любую конфигурацию, которую вы захотите, и удалить все данные, которые вы не хотите настраивать благодаря новой каскадной функции.
Уменьшенные миграции по умолчанию
При запуске нового приложения Laravel в нем будут содержаться опредленные миграции по умолчанию с датами 2014 и 2019 годов. Однако эти даты будут удалены и перемещены в новые два файла.
Минимальная поддержка PHP 8.2
Теперь для приложений Laravel 11 требуется версия PHP 8.2, как минимум. В случае использования более старой версии PHP, рекомендуется обновить ее без промедления. Несмотря на то, что опции Laravel 11 считаются бета-версией, они были разработаны для улучшения рабочего процесса. Важно отметить, что все еще могут произойти изменения, поэтому мы будем обновлять этот пост, когда будут объявлены новые функции.
Именованные аргументы
Согласно рекомендациям Laravel по обратной совместимости, использование именованных аргументов не является подходящей практикой. Если потребуется, мы можем переименовать аргументы функции в соответствии с требованиями Laravel для улучшения кодовой базы. Чтобы избежать проблем в будущем с изменением имен параметров, вызов методов Laravel с использованием именованных аргументов следует осуществлять осторожно и иметь понимание возможности изменения имен параметров.