Laravel — это ведущий PHP-фреймворк, знаменитый своим изящным синтаксисом, мощными возможностями и инструментами, удобными для разработчика. Его архитектура поддерживает эффективное веб-разработку на PHP, помогая создавать масштабируемые и поддерживаемые приложения. Что нового в Laravel 11?
![Что нового в Laravel 11](https://genius.courses/wp-content/uploads/2024/03/759da654-1024x576.webp)
Laravel 11 вводит несколько трансформационных функций, которые повышают производительность разработчика и улучшают производительность приложения. От упрощенной конфигурации и отладки до улучшенной гибкости, эта версия повышает эффективность разработки и помогает создавать более надежные приложения. Давайте погрузимся в детали!
Переработанная структура каталогов в Laravel 11
Laravel 11 включает переработанную структуру каталогов, которая повышает эффективность разработки. Это изменение упрощает организацию файлов проекта и сокращает избыточный код, включенный в предыдущие версии Laravel.
Удаление определенных каталогов, таких как app/Exceptions
и app/Http/Middleware
, делает структуру Laravel 11 более чистой, чем в предыдущих версиях. Например, в более ранних версиях было девять middleware
, многие из которых маловероятно, что вы будете настраивать под себя. Удаление этого каталога минимизирует объем кода и позволяет сосредоточиться на основных аспектах вашего кода. И если необходимо настраивать middleware
, это можно сделать через App/ServiceProvider
.
Преимущества новой структуры каталогов Laravel включают:
- Повторное использование кода — С меньшим количеством избыточного кода вы можете сосредоточиться на создании модульных и повторно используемых компонентов. Возможность повторного использования общих функциональностей по всему приложению способствует более эффективному процессу разработки.
- Улучшенный обмен знаниями — Менее сложная структура каталогов облегчает обмен знаниями между членами команды и новичками, внедряющимися в технологию. Проще ориентироваться в структуре продукта делает совместную работу более плавной и эффективной.
- Сокращение времени кодирования — Устранение избыточных каталогов и файлов означает, что разработчики тратят меньше времени на работу с ненужным избыточным кодом. Более быстрая кодировка, отладка и тестирование приводят к повышению производительности.
Улучшенная структура каталогов предлагает отточенный процесс разработки и позволяет быстрее внедрять функции и возможности.
Упрощенная конфигурация
Laravel 11 объединяет настройки конфигурации в одном источнике: файле .env
. Это заметное отличие от предыдущих версий Laravel, которые распределяли конфигурации по нескольким файлам.
Размещение конфигураций исключительно в файле .env
значительно улучшает организацию. Это также упрощает рабочий процесс разработки, делая его более интуитивным и эффективным.
Еще одно важное обновление, связанное с конфигурацией, — это функция каскада, с помощью которой вы можете настраивать свои конфигурации, удаляя ненужные параметры, которые вы не хотите настраивать. Результатом является более компактная разработка.
Одиночный файл .env
устраняет необходимость в нескольких файлах, вместо этого храня все необходимые конфигурации в одном месте. Однако, если вам кажется, что файл .env
становится слишком большим, вы можете использовать команду для возврата файла конфигурации в каталог config
. Например, php artisan config:publish auth
генерирует файл auth.php
в каталоге config
.
Возможность получения определенных конфигураций является огромным преимуществом для организаций.
Расширенная гибкость с помощью приведения типов модели
В Laravel 11 происходит переход к методическому приведению типов модели, изменяя способ обработки атрибутов в модели Laravel Eloquent — представлении таблицы базы данных, действующей как посредник для взаимодействия с этой таблицей.
В более старых версиях Laravel вы определяли атрибуты с помощью массива свойств. В Laravel 11 вы указываете приведение типов модели в методе, который называется casts()
.
Этот переход к методическому приведению типов модели предлагает несколько преимуществ, аналогичных методам или функциям кода. Одно из самых значительных преимуществ — повторное использование кода. Включение логики приведения в методы делает ваш код более модульным и многоразовым. И поскольку метод casts()
определяет приведение атрибутов, ваш код становится более читаемым и поддерживаемым.
Важно также отметить, что Laravel 11 обеспечивает обратную совместимость с предыдущими версиями. Следовательно, вы можете без проблем перейти от вашего существующего кода к использованию обновленного метода приведения типов модели Laravel 11. Эта совместимость делает процесс перехода к Laravel 11 гладким — особенно если вы уже знакомы с его ранними версиями.
Погрузитесь в увлекательный мир веб разработки и дизайна с моими эксклюзивными курсами на Udemy! Я их разработал с душой и учел все нюансы. Сейчас активированы скидки до 90%! Получите доступ к знаниям высокого качества от $9!
Инновации в обработке маршрутов Laravel 11
Laravel 11 значительно улучшает ранние версии с консолидированной обработкой маршрутов. Он сокращает количество файлов маршрутов по умолчанию с четырех до двух: routes.php
и console.php
. Это изменение оказывает значительное влияние, поскольку оно минимизирует избыточный код и делает фреймворк более интуитивным.
Важно отметить, что если вы хотите включить маршруты API в ваше приложение, это изменение означает, что вы должны сознательно выбрать их. Этот механизм поддерживает более чистую и настраиваемую структуру приложения, включая маршруты API только по мере необходимости. Чтобы сгенерировать файл api.php
и интегрировать Laravel Sanctum
, запустите команду php artisan install:api
.
То же самое касается и трансляции событий в Laravel 11. Чтобы активировать функциональность и создать файл channels.php
, выполните php artisan install:broadcasting
. Это организует установку необходимых файлов и конфигураций, ускоряя интеграцию трансляции событий в приложения Laravel.
В целом, эти изменения поддерживают переход к модульной и настраиваемой структуре приложения. Поскольку вы можете выбирать конкретные функции, Laravel 11 предлагает более настраиваемый подход к управлению файлами маршрутов по сравнению с предыдущими версиями.
Эволюция HTTP-ядра Laravel
Ядро Laravel было важным компонентом фреймворка, выступая точкой входа для HTTP-запросов и терминальных команд. Оно оркестрировало поток этих запросов, управляло стеком промежуточного программного обеспечения, маршрутизацией и другими неотъемлемыми компонентами, влияющими на обработку входящих запросов приложением.
Laravel 11 убирает из себя ядро Laravel. Вместо этого вы используете класс Bootstrap/App
, который связывает основные интерфейсы в контейнере. После настройки необходимых компонентов класс Bootstrap/App
возвращает экземпляр приложения. Это разделение создания экземпляра от выполнения приложения и обработки ответа предоставляет более модульную архитектуру.
Удаление ядра Laravel еще один шаг к минимизации избыточного кода. Поскольку класс Bootstrap/App
заботится о необходимой настройке, вы можете сосредоточиться на построении основных функций ваших приложений. После запуска экземпляра приложения класс Bootstrap/App
обеспечивает необходимую обработку веб-запросов, упрощая процесс разработки и способствуя более организованной кодовой базе.
Усовершенствованный опыт отладки с новым трейтом Dumpable
Трейт Dumpable — это ценное дополнение к Laravel 11. Он позволяет использовать знакомые средства отладки внутри классов, включая методы dd()
и dump()
. Эти методы являются инструментальными во время отладки, поскольку они предоставляют мгновенные представления о целевом объекте или переменной.
Следует отметить, что трейт Dumpable, вероятно, заменит существующие методы dd
и dump
во множестве основных классов Laravel, обеспечивая последовательный и связный опыт отладки по всему фреймворку.
PHP 8.2: новый стандарт для Laravel 11
Еще одним важным изменением в Laravel 11 является то, что он устанавливает PHP 8.2 как свой минимальный требуемый уровень. В Laravel 11 PHP 8.2 является версией по умолчанию, а PHP 8.3 уже на горизонте. Соответствие последним достижениям в экосистеме PHP обеспечивает совместимость Laravel с новейшими (и грядущими) функциями языка и оптимизациями.
Поддержка двух последних основных версий PHP в Laravel 11 улучшает производительность, безопасность и опыт разработчика.
Заключение
В заключение, Laravel 11 представляет собой значительный шаг вперед в мире веб-разработки, предлагая разработчикам инновационные функции и оптимизированный опыт работы. С его новыми возможностями, такими как переработанная структура каталогов, улучшенные методы отладки и поддержка PHP 8.2, Laravel 11 обещает стать надежным и эффективным инструментом для создания мощных веб-приложений. Эти изменения не только улучшают процесс разработки, но и способствуют созданию более чистого, модульного и легкоподдерживаемого кода. В конечном итоге, Laravel 11 подтверждает свою репутацию в качестве одного из наиболее инновационных и развивающихся PHP-фреймворков, где удобство использования и современные функции идут рука об руку.