Официально вышла версия 5.4 популярного фреймворка Laravel. Этот релиз имеет много новых функций и улучшений.
Laravel Dusk
Laravel Dusk является инструментом для тестирования Javascript приложений в браузере. Он используется для отслеживания выполнения скриптов на странице. С помощью этого инструмента можно имитировать нажатия кнопок, заполнение форм, перетаскивание элементов и прочие команды.
Laravel Dusk использует ChromeDriver и Facebook Php-WebDriver для тестирования. Он работает с любым браузером Selenium, но поставляется с ChromeDriver по умолчанию, который избавит вас от установки JDK или Selenium.
Laravel Mix
Laravel Mix является следующим поколением Elixir. Он полностью реализован с помощью WebPack. Переименование этого инструмента произошло из-за значительных изменений.
Blade компоненты и слоты
Компоненты и слоты предназначены, чтобы дать вам еще большую гибкость в шаблонах Blade.
Markdown Emails
Laravel 5.3 представил две новые функции для работы с электронной почтой, Mailables и Notifications, которые позволяют отправить одно сообщение по электронной почте, по SMS, по другим каналам.
Основываясь этих улучшениях, Laravel 5.4 включает в себя новую систему Markdown для создания шаблонов электронных писем.
Автоматическое создание фасадов
Теперь доступна возможность использования любого класса в роли фасада на лету.
namespace App; class Zonda { public function zurf() { return ‘Zurfing’; } }
use Facades\ { App\Zonda }; Route::get('/', function () { return Zonda::zurf(); });
Улучшение маршрутизации
Синтаксис именования маршрутов и определения посредников стал более гибким.
Route::name('profile')->get('user/{id}/profile', function ($id) { // some closure action... }); Route::name('users.index')->middleware('auth')->get('users', function () { // some closure action... }); Route::middleware('auth')->prefix('api')->group(function () { // register some routes... }); Route::middleware('auth')->resource('photo', 'PhotoController');
Новые возможности при работе с коллекциями
Пример кода с выполнением метода для каждого элемента коллекции.
$invoices->each(function($invoice) { $invoice->pay(); });
Дополнительные нововведения!
- Добавлен новый retry helper;
- Добавлен новый array_wrap helper;
- Добавлена страница 503 ошибки по умолчанию;
- Добавлены валидаторы IPv4 и IPv6 адресов;
- Более точная валидация date_format;
- Поддержка PhpRedis.
Комментариев пока нет.