Laravel — ведущий PHP-фреймворк, известный своим элегантным синтаксисом, мощными функциями и удобными для разработчиков инструментами. Его архитектура поддерживает эффективную веб-разработку PHP, помогая создавать масштабируемые и удобные в обслуживании приложения.

В Kinsta мы стремимся оставаться на шаг впереди и использовать новейшие технологии. Имея достаточный опыт работы с приложениями Laravel, мы воодушевлены улучшениями, включенными в его последнюю версию.

Laravel 11 представляет несколько преобразующих функций, которые повышают производительность разработчиков и производительность приложений. Эта версия повышает эффективность разработки и помогает создавать более надежные приложения: от упрощенной настройки и отладки до повышенной гибкости. Давайте погрузимся!

Обновленная структура каталогов в Laravel 11.

Laravel 11 включает переработанную структуру каталогов, которая повышает эффективность разработки. Это изменение упрощает организацию файлов проекта и сокращает шаблонный код, включенный в предыдущие версии Laravel.

Удаление определенных каталогов, например приложение/Исключения и приложение/Http/промежуточное ПО, делает структуру Laravel 11 чище, чем в предыдущих версиях. Например, более ранние версии включают девять промежуточных программ, многие из которых вы вряд ли сможете настроить. Удаление этого каталога сводит к минимуму объем кода и позволяет вам сосредоточиться на основных аспектах вашей кодовой базы. А если необходимо настроить промежуточное программное обеспечение, вы можете сделать это через Поставщик приложения/услуги.

Laravel 11 также удаляет конфигурация папку, изменяя способ управления конфигурациями. Мы вернемся к этому изменению в следующем разделе.

Преимущества новой структуры каталогов Laravel включают в себя:

  • Возможность повторного использования кода — Благодаря меньшему количеству шаблонного кода вы можете сосредоточиться на создании модульных и повторно используемых компонентов. Эта возможность повторно использовать общие функции в приложении способствует более эффективному процессу разработки.
  • Улучшенный обмен знаниями — Менее сложная структура каталогов облегчает обмен знаниями между членами команды и людьми, внедряющими технологию. Упрощенная навигация по структуре продукта делает сотрудничество более плавным и эффективным.
  • Сокращение времени кодирования — Удаление ненужных каталогов и файлов означает, что разработчики тратят меньше времени на работу с ненужным шаблонным кодом. Более быстрое программирование, отладка и тестирование приводят к повышению производительности.

Оптимизированная структура каталогов упрощает процесс разработки и позволяет быстрее внедрять функции и возможности.

Повышенная гибкость при моделировании моделей

Laravel 11 переходит к приведению моделей на основе методов, меняя способ обработки атрибутов в модели Laravel Eloquent — представление таблицы базы данных, выступающее в качестве посредника для взаимодействия с этой таблицей.

В старых версиях Laravel атрибуты определялись с помощью properties множество. В Laravel 11 вы указываете приведение моделей в методе с метким названием casts().

Этот переход к приведению моделей на основе методов предлагает несколько преимуществ, аналогичных преимуществам методов или функций кода. Одним из наиболее значительных преимуществ является возможность повторного использования кода. Включение логики приведения в методы делает ваш код более модульным и пригодным для повторного использования. И поскольку casts() определяет приведение атрибутов, ваш код становится более читабельным и удобным в сопровождении.

Также важно отметить, что Laravel 11 обеспечивает обратную совместимость с предыдущими версиями. Следовательно, вы можете легко перевести существующие базы кода на использование обновленного подхода приведения моделей Laravel 11. Эта совместимость делает внедрение Laravel 11 простым процессом, особенно если вы уже знакомы с его предыдущими версиями.

Упрощенная конфигурация

Как упоминалось ранее, Laravel 11 вносит изменения в управление конфигурацией. Он объединяет параметры конфигурации в один источник: .env файл. Это заметное отличие от предыдущих версий Laravel, в которых конфигурации распределялись по нескольким файлам.

Размещение конфигураций исключительно в .env файл существенно улучшает организацию. Это также упрощает рабочий процесс разработки, делая его более интуитивным и эффективным.

Еще одним важным обновлением, связанным с конфигурацией, является функция каскадирования, с помощью которой вы можете точно настроить свои конфигурации, удалив ненужные параметры, которые вы не хотите настраивать. Результатом является более компактная разработка.

Сингл .env file устраняет необходимость в нескольких файлах, вместо этого все необходимые конфигурации хранятся в одном месте. Однако, если вы почувствуете, что .env файл становится слишком большим, вы можете использовать команду, чтобы вернуть файл конфигурации в папку конфигурация каталог. Например, php artisan config:publish auth генерирует авторизация.php файл в конфигурация каталог.

Возможность получения определенных конфигураций является огромным преимуществом для организаций.

Усовершенствованный опыт отладки с новой функцией Dumpable.

Dumpable Эта черта является ценным дополнением к Laravel 11. Она позволяет вам использовать знакомые средства отладки внутри классов, включая dd() и dump() методы. Эти методы полезны во время отладки, поскольку они предоставляют информацию о целевом объекте или переменной в режиме реального времени.

Обратите внимание, что Dumpable черта, вероятно, заменит существующую dd и dump методы во множестве основных классов Laravel, обеспечивая согласованный и сплоченный процесс отладки во всей среде.

Инновации в обработке маршрутов в Laravel 11

Laravel 11 значительно улучшает ранние версии за счет консолидированной обработки маршрутов. Это уменьшает количество файлов маршрутов по умолчанию с четырех до двух: маршруты.php и консоль.php. Это изменение является эффективным, поскольку оно сводит к минимуму шаблонный код и делает платформу более интуитивно понятной.

Очень важно отметить, что если вы хотите включить маршруты API в свое приложение, это изменение означает, что вы должны сознательно их использовать. Этот механизм поддерживает более чистую и адаптированную структуру приложения, включая маршруты API только при необходимости. Чтобы создать API.php файл и интегрируйте Laravel Sanctum, запустите php artisan install:api команда.

Трансляция событий в Laravel 11 следует аналогичной парадигме. Чтобы активировать функционал и создать каналы.php файл, запустить иphp artisan install:broadcasting. Это организует настройку основных файлов и конфигураций, ускоряя интеграцию трансляции событий в приложения Laravel.

В совокупности эти изменения поддерживают переход к модульной и настраиваемой структуре приложений. Поскольку вы можете выбрать определенные функции, Laravel 11 предлагает более индивидуальный подход к управлению файлами маршрутизации, чем предыдущие версии.

Эволюция HTTP-ядра Laravel

Ядро Laravel было жизненно важным компонентом платформы, выступая в качестве точки входа для HTTP-запросов и команд терминала. Он организовал поток этих запросов, управляя стеком промежуточного программного обеспечения, маршрутизацией и другими важными компонентами, которые способствуют обработке приложением входящих запросов.

Laravel 11 удаляет ядро ​​Laravel. Вместо этого вы используете Bootstrap/App класс, который связывает важные интерфейсы с контейнером. После настройки необходимых компонентов Bootstrap/App class возвращает экземпляр приложения. Такое разделение создания экземпляров от выполнения приложений и обработки ответов обеспечивает более модульную архитектуру.

Удаление ядра Laravel — еще один шаг к минимизации шаблонного кода. Как Bootstrap/App class позаботится об основной настройке, вы можете сосредоточиться на создании основных функций вашего приложения. После запуска экземпляра приложения Bootstrap/App class обеспечивает необходимую обработку веб-запросов, упрощая процесс разработки и обеспечивая более организованную базу кода.

Консолидированные миграции по умолчанию для повышения эффективности

В Laravel 11 происходит капитальный ремонт миграций по умолчанию. В предыдущих версиях, с 2014 по 2019 год, были многочисленные миграции по умолчанию, распределенные по нескольким файлам. Между тем, в последней версии эти файлы сжаты всего до двух, что предлагает разработчикам более организованный и удобный для пользователя опыт.

Такое сокращение файлов миграции по умолчанию упрощает доступ и управление созданными миграциями, повышает ясность структур вашей базы данных и уменьшает потенциальную путаницу и ошибки.

Более того, благодаря более понятной и простой настройке миграции по умолчанию вы можете уделять больше времени сосредоточению внимания на конкретных требованиях ваших проектов, а не разбираться со сложностями шаблонных файлов миграции.

Оптимизированные миграции по умолчанию в Laravel 11 способствуют более плавной разработке, укрепляя репутацию фреймворка, отдающего приоритет простоте и удобству использования.

PHP 8.2: новый стандарт Laravel 11

Еще одним важным изменением в Laravel 11 является то, что PHP 8.2 установлен в качестве минимального требования. В Laravel 11 по умолчанию используется PHP 8.2, а на горизонте — PHP 8.3. Соответствие последним достижениям в экосистеме PHP гарантирует, что Laravel останется совместимым с новейшими (и будущими) языковыми функциями и оптимизациями PHP.

Поддерживая две последние основные версии PHP, Laravel 11 повышает производительность, безопасность и удобство для разработчиков. Если PHP 8.2 станет минимальным требованием, вы защитите свои проекты от будущего и раскроете весь потенциал языка.

Краткое содержание

Laravel 11 представляет значительные обновления, которые обещают улучшить процесс разработки для вас, вашей команды и более широкого сообщества разработчиков. Улучшенная оптимизация производительности, расширенная поддержка последних версий PHP и оптимизированные функции рабочего процесса делают разработку PHP максимально гладкой и эффективной.

Эти улучшения приводят к более плавным рабочим процессам разработки, повышению производительности приложений и общему повышению эффективности процесса разработки. Мощные функции нашей службы хостинга приложений, такие как автоматическое масштабирование, безопасная инфраструктура и повышенная производительность самых быстрых компьютеров Google Cloud Platform, обеспечивают идеальную среду для развертывания приложений Laravel 11.

Нам не терпится увидеть, какие приложения вы создаете с помощью Laravel 11 и как вы используете Kinsta, чтобы помочь своим приложениям Laravel расти.