Давайте взглянем, что нового в Laravel 5.3



Laravel 5.3 в данный момент находится в разработке и сейчас нас дразнят возможностями, которые будут добавлены в грядущих релизах. И вот мой взгляд на некоторые из этих новых возможностей.


Laravel Scout

Laravel Scout является драйвером, основанным для полнотекстового поиска в Eloquent. Он из коробки поддерживает Algolia, но вы можете реализовать интеграцию с другими системами поиска.
Scope работает путем внедрения трейта “Searchable” в существующую модель. Он предлагает простейший способ синхронизации данных с поисковым сервисом:
php artisan scout:import App\\Post
После этого вы можете выполнять поиск в своих моделях:
Post::search('Alice')->get();
Вы даже можете использовать разбивку на страницы:
Post::search('Alice')->paginate()
И включать некоторые простые условия:
Post::search(‘Alice’)—>where('acount_id', '>', 1)->paginate()

Laravel Mailable

Laravel Mailable - это новый класс для работы с электронной почтой, предназначенный для отправки сообщений в более выразительном виде:
Mail::to('laravel@example.com')->send(new OrderComplete);
Конечно же, вы можете использовать и другой функционал для работы с почтой:
Mail::to('laravel@example.com')->cc('john@example.com')->queue(new OrderComplete);

Laravel Notifications

Laravel Notification позволяет быстро отправлять уведомления с помощью таких сервисов, как Slack, SMS или по электронной почте.
Notifications поставляется с отзывчивым шаблоном для отправки электронной почты. Всё, что необходимо для того, что бы отправлять уведомления, это написать в своём классе уведомлений следующий код:
$this->line('Thank you for joining')
    ->action('Button Text', 'http://url.com')
    ->line('If you have any questions please hit reply')
    ->success()
Или, если уведомление об ошибке:
$this->line('Sorry we had a problem with your order')
    ->action('Button Text', 'http://url.com')
    ->error()

Laravel Passport

Laravel Passport - это дополнительный пакет, который является полноценным сервером с протоколом авторизации oAuth 2, полностью готовым к работе.
Вы можете задавать свои условия, компоненты Vue.js для генерации и аннулирования токена, и многое другое.

Откат одной миграции

В возможности миграций добавлена новая функция, позволяющая откатить только одну миграцию, вместо отката всех:
php artisan migrate:rollback --step=1

Blade Foreach loops

В циклах foreach внутри Blade теперь доступна переменная $loop. Она открывает следующие возможности:
@if($loop->first)
    //Сделайте что-либо во время первой итерации
@endif

@if($loop->last)
    //Сделайте что-либо во время последней итерации
@endif

Коллекции Eloquent теперь являются “чисто сериализованными” и вновь могут добавляться в очереди задач, как отдельные модели!

enter image description here
Джейкоб Бенетт написал об этом в своём блоге.

Вывод очередей в консоли изменён: теперь там показываются используемые имена классов

enter image description here
Тэйлор Отуэлл написал об этом в своём твиттере

Теперь настройка пагинации стала ещё проще

enter image description here
Тэйлор Отуэлл написал об этом в своём твиттере

First Or Create

Теперь firstOrCreate позволяет устанавливать дополнительные значения, которые будут ему переданы. Например:
return User::firstOrCreate(['github_id', $githubUser->id], ['avatar' => $githubUser->avatar]);

Генератор запросов теперь возвращает коллекцию

Генератор запросов ранее всегда возвращал массивы, теперь же он будет возвращать коллекции. Это будет происходить независимо от того, как будут получены данные:
$collection = DB::table('posts')->get();

Несколько путей для миграций

Теперь вы можете установить свои собственные пути для миграций в сервис-провайдере:
$this->loadMigrationsFrom('path/to/migrations/folder')
Алекс Боуэрс рассмотрел эту особенность в своём блоге.

Laravel Echo

Laravel Echo - это новая функция, разработанная для усовершенствования существующей системы широковещательных событий. Для получения дополнительной информации, смотрите видео с Laracasts.

Новый Cache Helper

Глобальный хэлпер cache() выполняет 3 основные функции: получения, отправки и возвращения экземпляра сторонней службы. Подробнее об этом писал Мэтт Стауффер
Список охватывает только некоторые из больших изменений, но Laravel 5.3 определённо будет хорошим релизом.

Ссылка на оригинальную статью