Команда Laravel с гордостью объявляет о релизе Laravel 5.3, доступной для всех. Новые возможности версии 5.3 направлены на улучшение скорости разработчика за счет добавления и улучшения функций «из коробки».
Этот релиз будет получать общие обновления в течение шести месяцев, и обновления безопасности в течение одного года. Laravel 5.1 является последней версией LTS, включающей исправления ошибок в течение двух лет, и исправления безопасности в течение трех лет.
Ниже краткий обзор некоторых основных моментов новой 5.3 версии.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/ca0/565/f8c/ca0565f8c11c4d86bdc7f554f1ab3387.png)
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/b33/aa4/21d/b33aa421d451dfb5fdebe9c4b4e5cbbc.png)
Домашняя страница получила новый интерфейс, демонстрирующий новые пакеты и ресурсы сообщества, включая ссылки на Laracast, Laravel News и Statamic.
Laravel Scout является новым драйвером, основанным на полнотекстовом поиске в Eloquent. Scout работает путем добавления новой возможности поиска к моделям, синхронизируя свои данные с индексом выбора, после чего можно легко найти нужное:
Laravel Passport разработан, чтобы предоставить Вам все необходимое для разворачивания собственного сервера аутентификации oAuth 2.0 в считанные минуты. Этот пакет не обязателен, хоть и идет «в коробке» с возможностью легкого его подключения, использующий Vue.js для генерации токена, отмены токена и всего прочего.
Laravel Mailable является новым базовым классом, ориентированным для упрощения отправки email-сообщений, исключая необходимость закрытия стилей.
Laravel Notifications позволяют отправлять быстрые сообщения через такие сервисы, как Slack, Text messages, Email и другие. Мы даже запустили канал "Laravel Notifications Channel", содержащий уже более 26 драйверов, а также любой желающий может добавить свой драйвер.
Laravel Echo является усовершенствованной существующей системой вещания событий, что позволяет легче работать с веб-сокетами. Бэкенд Echo поставляется с ядром Laravel, для использования которого Вам нужно будет подключить его через NPM менеджер для работы на стороне JavaScript.
Система миграций получила новую функцию, позволяющую произвести откат сразу на несколько шагов.
Раннее эта опция отсутствовала, и для отката нескольких шагов, необходимо было каждый раз вводить команду.
Laravel предлагает два стиля пагинации. Расширенный стиль показывает список номеров страниц, и простой стиль, отображающий лишь ссылки для показа предыдущей и следующей страниц.
Начиная с этого релиза, простая пагинация будет иметь отдельный файл шаблона для более удобной настройки под дизайн Вашего проекта путем изменения структуры HTML.
Laravel Blade получил новую переменную `$loop`, предоставляющую более точный контроль в пределах цикла. Теперь Вы можете использовать следующие свойства:
Более подробно о переменной читайте в блоге Мэта Стауфера.
Упрощена папка `app`, удалив все пустые папки `Events`, `Jobs`, `Listeners` и `Policies`. При использовании artisan команды `make:` все необходимые файлы и папки будут созданы автоматически.
Eloquent Collections теперь аккуратно сериализованы и повторно добавлены в очереди таким же образом, как и отдельные модели.
Это полезно в тех случаях, когда данные в Eloquent Collections изменились с момента добавления в очередь.
Конструктор запросов теперь по-умолчанию будет возвращать коллекцию вместо массива. Это потенциально критическое изменение, зато теперь он будет держать результаты или из конструктора запросов, или форме Eloquent.
Laravel 5.3 включет в себя новый глобальный хелпер `cache()`, позволяющий получить, изменить или вернуть данные. Для получения дополнительной информации, прочтите пост Мэта.
Для этого выпуска раздел документации претерпел значительные изменения. Теперь он лучше разделен на блоки, проводящие Вас от установки Laravel до использования официальных пакетов. Она также содержит ссылки на соответствующие теме видео с Laravast. Это позволит удовлетворить потребности людей как предпочитающих аудио-видео обучения, так и любящих читать.
Официальная документация имеет руководство по апгрейду, включающее в себя всю необходимую информацию для начала использования Laravel 5.3 уже сегодня. Ориентировочно, апгрейд займет 2-3 часа.
UPD: Также можно прочесть русифицированную документацию по апгрейду с Laravel 5.2 на 5.3.
Я бы хотел лично поблагодарить всех тех, кто способствовал выходу этой версии. Добавление новых возможностей было огромной задачей и все, кто помогал в этом, заслужили дружеских объятий.
Присоединяйтесь к еженедельной новостной рассылке, чтобы быть в курсе всех новых возможностей, советов и обучающих программ, которые обязательно будут. Кроме того, Laracast, как и Мэтт Стауфер, предоставляет бесплатную информацию о всех новых фишках.
Также Вы можете прочесть русифицированную версию документации по апгрейду Laravel с версии 5.2 на 5.3, любезно предоставленную Rencom.
Этот релиз будет получать общие обновления в течение шести месяцев, и обновления безопасности в течение одного года. Laravel 5.1 является последней версией LTS, включающей исправления ошибок в течение двух лет, и исправления безопасности в течение трех лет.
Ниже краткий обзор некоторых основных моментов новой 5.3 версии.
![image](https://habrastorage.org/getpro/habr/post_images/ca0/565/f8c/ca0565f8c11c4d86bdc7f554f1ab3387.png)
Новая домашняя страница
![image](https://habrastorage.org/getpro/habr/post_images/b33/aa4/21d/b33aa421d451dfb5fdebe9c4b4e5cbbc.png)
Домашняя страница получила новый интерфейс, демонстрирующий новые пакеты и ресурсы сообщества, включая ссылки на Laracast, Laravel News и Statamic.
Laravel Scout
Laravel Scout является новым драйвером, основанным на полнотекстовом поиске в Eloquent. Scout работает путем добавления новой возможности поиска к моделям, синхронизируя свои данные с индексом выбора, после чего можно легко найти нужное:
Post::search('Alice')->get();
Laravel Passport
Laravel Passport разработан, чтобы предоставить Вам все необходимое для разворачивания собственного сервера аутентификации oAuth 2.0 в считанные минуты. Этот пакет не обязателен, хоть и идет «в коробке» с возможностью легкого его подключения, использующий Vue.js для генерации токена, отмены токена и всего прочего.
Laravel Mailable and Notifications
Laravel Mailable является новым базовым классом, ориентированным для упрощения отправки email-сообщений, исключая необходимость закрытия стилей.
Laravel Notifications позволяют отправлять быстрые сообщения через такие сервисы, как Slack, Text messages, Email и другие. Мы даже запустили канал "Laravel Notifications Channel", содержащий уже более 26 драйверов, а также любой желающий может добавить свой драйвер.
Laravel Echo
Laravel Echo является усовершенствованной существующей системой вещания событий, что позволяет легче работать с веб-сокетами. Бэкенд Echo поставляется с ядром Laravel, для использования которого Вам нужно будет подключить его через NPM менеджер для работы на стороне JavaScript.
Миграции
Система миграций получила новую функцию, позволяющую произвести откат сразу на несколько шагов.
php artisan migrate:rollback --step=1
Раннее эта опция отсутствовала, и для отката нескольких шагов, необходимо было каждый раз вводить команду.
Простая пагинация
Laravel предлагает два стиля пагинации. Расширенный стиль показывает список номеров страниц, и простой стиль, отображающий лишь ссылки для показа предыдущей и следующей страниц.
Начиная с этого релиза, простая пагинация будет иметь отдельный файл шаблона для более удобной настройки под дизайн Вашего проекта путем изменения структуры HTML.
Переменная Loop в Blade
Laravel Blade получил новую переменную `$loop`, предоставляющую более точный контроль в пределах цикла. Теперь Вы можете использовать следующие свойства:
- index — номер цикла.
- remaining — как много циклов осталось.
- count — общее количество циклов.
- first — если это первая итерация цикла.
- last — если это последняя итерация цикла.
- depth — сколько уровней глубины цикла.
- parent — позволяет вызывать родителя во вложенном цикле.
Более подробно о переменной читайте в блоге Мэта Стауфера.
Изменение структуры
Упрощена папка `app`, удалив все пустые папки `Events`, `Jobs`, `Listeners` и `Policies`. При использовании artisan команды `make:` все необходимые файлы и папки будут созданы автоматически.
Очередь заданий
Eloquent Collections теперь аккуратно сериализованы и повторно добавлены в очереди таким же образом, как и отдельные модели.
Это полезно в тех случаях, когда данные в Eloquent Collections изменились с момента добавления в очередь.
Конструктор запросов
Конструктор запросов теперь по-умолчанию будет возвращать коллекцию вместо массива. Это потенциально критическое изменение, зато теперь он будет держать результаты или из конструктора запросов, или форме Eloquent.
Хелпер кэша
Laravel 5.3 включет в себя новый глобальный хелпер `cache()`, позволяющий получить, изменить или вернуть данные. Для получения дополнительной информации, прочтите пост Мэта.
Изменение документации
Для этого выпуска раздел документации претерпел значительные изменения. Теперь он лучше разделен на блоки, проводящие Вас от установки Laravel до использования официальных пакетов. Она также содержит ссылки на соответствующие теме видео с Laravast. Это позволит удовлетворить потребности людей как предпочитающих аудио-видео обучения, так и любящих читать.
Инструкция по апгрейду
Официальная документация имеет руководство по апгрейду, включающее в себя всю необходимую информацию для начала использования Laravel 5.3 уже сегодня. Ориентировочно, апгрейд займет 2-3 часа.
UPD: Также можно прочесть русифицированную документацию по апгрейду с Laravel 5.2 на 5.3.
Спасибо
Я бы хотел лично поблагодарить всех тех, кто способствовал выходу этой версии. Добавление новых возможностей было огромной задачей и все, кто помогал в этом, заслужили дружеских объятий.
Присоединяйтесь к еженедельной новостной рассылке, чтобы быть в курсе всех новых возможностей, советов и обучающих программ, которые обязательно будут. Кроме того, Laracast, как и Мэтт Стауфер, предоставляет бесплатную информацию о всех новых фишках.
От переводчика
Также Вы можете прочесть русифицированную версию документации по апгрейду Laravel с версии 5.2 на 5.3, любезно предоставленную Rencom.