Состоялся релиз PHP-фреймворка Laravel 8
Веб-разработка на фреймворке Laravel стремительно популяризируется, благодаря открытому коду. Поэтому релиз Laravel 8, состоявшийся 8 сентября, стал событием в веб-программировании. Open-source фреймворк позволяет минимизировать время и усилия на создание проектов. Преимуществами технологии являются: безопасность, разнообразие библиотек, инструментов и наличие MVC-моделей. Особенно хорош фреймворк при разработке мультиязычных приложений. Удобное тестирование и виджеты упрощают работу, позволяя получать лучший результат.
Laravel Jetstream
«Джетстрим» представляет собой продуманную основу для Laravel-приложений. Новый продукт — отличный старт для создания веб-портала, включающий системы:
- регистрирования учетной записи и авторизации;
- идентификации email-адресов;
- двухуровневой защиты при аутентификации;
- сессионного управления;
- API с помощью Laravel Sanctum;
- командного менеджмента, которое добавляется в виде опции.
Jetstream — улучшенная замена устаревшего каркаса, который применялся в предшествующих версиях Laravel. Разработка Laravel Jetstream осуществлена при использовании фреймворка Tailwind CSS. Пользователи могут выбирать Livewire или Inertia — два типа каркасов.
Классы, отвечающие за реализацию фабрики моделей
Фабрики Eloquent Model в Laravel 8 основываются на классах. Отношения между фабриками существенно модернизированы, получили улучшения. Наверно, ни у кого не возникнет сомнений, что новый синтаксис для генерации записей с помощью переработанных и улучшенных фабрик моделей выглядит потрясающе.
Фактически модельная фабрика теперь представляет обыкновенный PHP-класс. Изменения любых состояний в обновленной версии фреймворка могут записываться как классовые методы. Если требуется, то в Eloquent-модели можно добавить дополнительные хелперы, которые упростят и ускорят работу с проектом.
Каталог моделей
Пользователи раньше постоянно сетовали, что в Laravel нет каталога моделей. Разработчики фреймворка услышали многочисленные просьбы и добавили стандартный каталог моделей app/Models. Здесь можно сохранять собственные модели Eloquent. В обновленной версии необходимые команды генератора предусмотрены и улучшены. Учитывается наличие новой директории с моделями, что упрощает работу с Eloquent-моделями. Если соответствующая из них отсутствует, то модели будут размещаться в корневом каталоге app.
Сжатие миграции
На каждом этапе разработки веб-приложения число миграций увеличивается, появляются новые объемные файлы, что может привести к чрезмерному «раздутию» размера каталога. Обновленная версия Laravel позволяет сжимать миграции, объединяя их в файл формата SQL. При выполнении миграции сначала выполняются команды из SQL-файла, а только затем остальные. Сжатие имеющихся миграций приводит к повышению производительности при выполнении тестов.
Tailwind: шаблоны пагинации
При создании пагинаций в Laravel 8 применяются возможности Tailwind — фреймворка на CSS. Поэтому он легко настраивается и оптимизируется под работу с конкретным веб-проектом, позволяет создавать оригинальные, нешаблонные дизайны. Можно полностью забыть про пресловутые опциональные стили, которые очень раздражали, из-за сложности переопределения. Прежние шаблоны Bootstrap 3 и 4 при необходимости могут быть использованы, как и в предыдущих версиях фреймворка.
Пакетная обработка задач
Функция ощутимо облегчает выполнение пакетирования заданий и ряда действий после завершения создания пакета. Bus batch() — обновленный метод фасада применяется для выполнения пакета заданий. Данная возможность приносит пользу совместно с обратными вызовами. Допускается использование способов then, catch и finally, с помощью которых определяется окончание обратного вызова. Каждому коллбэку присваивается собственный экземпляр Illuminate\Bus\Batch.
Если требуется дополнительная информация об обновлении или возможностях Laravel, обращайтесь в агентство веб-разработки DEVNRISE. У нас вы можете заказать создание сайта для бизнеса, веб-приложения или интернет-магазина.
Публикацию подготовил Игорь Бабич (Mba) на основе полученной информации от Laravel.