Laravel 5.5: что нового?

Несмотря на то, что PHP-фреймворк с открытым исходным кодом, Laravel постоянно развивается, чтобы соответствовать новым тенденциям в разработке веб-приложений. Последняя версия Laravel для долгосрочной поддержки (LTS) была официально выпущена в августе. Laravel 5.5 позволяет разработчикам ускорить разработку веб-приложений, используя PHP 7.

В то же время он поставляется с несколькими новыми функциями, улучшениями и исправлениями ошибок, упрощающими разработку пользовательских веб-приложений. Разработчики могут автоматизировать процесс перехода с Laravel 5.4 на Laravel 5.5 с помощью сторонних инструментов, таких как Laravel 5.5 Shift. Но для программистов PHP также важно понимать новые функции и изменения в Laravel 5.5.

Обзор новых функций и изменений в Laravel 5.5

Автоматическое обнаружение пакетов

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

Ресурсные классы

Работая с Laravel 5.5, программисты могут использовать классы ресурсов для ускорения разработки API. Им больше не требуется использовать дополнительный слой преобразования между моделями Eloquent и запросами JSON. Классы ресурсов облегчают программистам преобразование моделей и коллекций моделей в JSON без использования какого-либо слоя преобразования.

Автоматическая регистрация консольных команд

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

Новые пресеты внешнего интерфейса

Последняя версия Laravel поддерживает базовые леса Vue. Но это позволяет разработчикам использовать ряд новых предустановленных параметров внешнего интерфейса. Разработчики могут запускать предустановленные команды для переключения с лесов Vue на леса React. Точно так же они могут использовать предустановки для удаленного JavaScript и CSS-скаффолдинга для веб-приложения. Однако разработчик может воспользоваться этими предустановленными параметрами внешнего интерфейса только в свежих приложениях Laravel.

Объекты правил валидации

Laravel 5.5 позволяет разработчикам более эффективно добавлять пользовательские правила проверки в веб-приложение, используя объекты правил проверки. Разработчик может создать новые правила проверки в каталоге app / Rules, просто запустив новую команду Artisan. Но каждое правило объекта может иметь только два метода - пропуски и сообщения. Метод pass получает имя и значение атрибута, а метод messages возвращает сообщение об ошибке проверки.

Основанные на времени попытки работы

Laravel позволяет разработчикам устанавливать количество попыток выполнения задания или задачи перед тем, как их завершить сбоем. Laravel 5.5 позволяет разработчикам добавлять временные рамки для количества попыток работы. У разработчика теперь есть возможность установить время прерывания попыток работы. Следовательно, работа может быть предпринята в течение определенного периода времени.

Renderable Mailables

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

Уведомления по требованию

При использовании Laravel 5.5 разработчики Laravel имеют возможность заставить приложение отправлять уведомления лицам, которые не хранятся в качестве пользователей. Они могут вызывать новый метод Notification :: route для отправки индивидуальных уведомлений по запросу, указав пользовательскую специальную информацию о маршрутизации уведомлений.

Согласованная обработка исключений

При работе с более ранними версиями Laravel разработчики должны настраивать формат ответов об ошибках проверки JSON в соответствии с конкретными положениями в среде PHP. Laravel 5.5 позволяет разработчикам поддерживать согласованность обработки исключений и избегать настройки. Разработчики могут даже управлять форматированием сообщения об ошибке проверки JSON одним способом.

Renderable и Reportable Исключения

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

Cache Lock

Laravel 5.5 поставляется с улучшенными драйверами кеша Redis и Memcached с возможностью получать и снимать атомарные блокировки. Разработчики могут воспользоваться этими улучшенными драйверами кеша для получения произвольных блокировок, вызывая простой метод. Они могут использовать простой метод для получения блокировки, которая предотвращает попытки нескольких процессов выполнить одну и ту же задачу, прежде чем приложение выполнит конкретную задачу.

Новые методы маршрутизации

Обновленная версия Laravel облегчает разработчикам определение маршрутов, предоставляя несколько новых методов. Разработчики могут использовать Route :: redirect, чтобы легко определить маршрут, который перенаправляет на другой URI. Аналогично, метод Route :: view облегчает программистам определение маршрута, который выполняет просмотр. Программисты могут также избежать определения полного маршрута, используя ярлыки, предоставленные этими методами.

Новая опция конфигурации базы данных

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

Улучшения лезвия

Используя Laravel, разработчики ускоряют генерацию и отображение представлений с помощью надежного механизма шаблонов, такого как Blade. Последняя версия PHP-фреймворка содержит несколько улучшений, связанных с Blade. Например, это позволяет разработчикам Laravel определять пользовательские условные директивы с помощью Closures с помощью нового метода - Blade :: if. Аналогичным образом, разработчик может более эффективно проверять текущее состояние пользователя, используя ряд сочетаний клавиш - @auth, @guest, @endauth и @endguest.

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