3 марта редакция Laravel News сообщила о выходе Laravel 7. В новой версии появились удобные и полезные функции, включая Laravel Airlock, ускоренную маршрутизацию, пользовательские свойства casts Eloquent, теги компонентов Blade, свободные операции со строками, новый HTTP-клиент, поддержка CORS и многое другое.
Перед обзором новых возможностей надо заметить, что с шестой версии Laravel следует практике семантического версионирования (semver). Новые мажорные версии фреймворка будут выходить раз в полгода.
Laravel Airlock обеспечивает простую систему аутентификации для одностраничных приложений (SPA), мобильных приложений и простых API. Airlock позволяет каждому пользователю приложения генерировать API-токены для своих аккаунтов. Для этих токенов можно определять возможности и области, которые определяют, какие действия доступны токенам.
Laravel поддерживает множество типов casts из коробки. Однако вам могут понадобится собственные типы casts. Задачу можно решить, определив класс, который имплементирует интерфейс CastsAttributes
.
Классы, которые имплементируют этот интерфейс, должны определять методы get
и set
. Метод get
преобразовывает необработанное значение из базы данных в приведённое значение. Метод set
преобразовывает приведённое значение в необработанное, которое можно сохранить в базе данных.
В Laravel 7 компоненты Blade поддерживают рендеринг на основе тегов, управление атрибутами, классы компонентов, инлайн представления компонентов и много другое. Компоненты Blade сильно переработаны, поэтому изучите документацию, чтобы узнать подробности.
Начиная с седьмой версии Laravel предоставляет выразительный и минималистичный API на основе HTTP-клиента Guzzle. Это ускоряет исходящие HTTP-запросы, необходимые для связи с другими приложениями. Zttp, обёртка Laravel для Guzzle, обеспечивает удобную работу с запросами и охватывает все кейсы использования HTTP.
Laravel 7 поддерживает новый метод сопоставления скомпилированных и кэшированных роутов, которые были кэшированы с помощью команды route:cache
Artisan. В больших приложениях, например, в приложениях с 800 и более роутов, данное нововведение повышает скорость запросов в разы. Дополнительные изменения в приложение вносить не нужно.
В новости перечислены только некоторые из новых возможностей новой версии Laravel. Подробности можно найти в описании релиза, а также в руководстве по переходу на новую версию. Не забудьте о Laravel Shift, который поможет мигрировать без боли.
Как и другие версии, Laravel 7 стал возможен благодаря усилиям сообщества. Над фреймворком работает настоящая команда, распределённая по всему миру. Автор оригинальной публикации выражает всем участникам команды благодарность.
Автор оригинальной новости — Eric L. Barnes.