Давайте взглянем, что нового в 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 теперь являются “чисто сериализованными” и вновь могут добавляться в очереди задач, как отдельные модели!

Джейкоб Бенетт написал об этом в своём блоге.
Вывод очередей в консоли изменён: теперь там показываются используемые имена классов

Тэйлор Отуэлл написал об этом в своём твиттере
Теперь настройка пагинации стала ещё проще

Тэйлор Отуэлл написал об этом в своём твиттере
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 определённо будет хорошим релизом.
Ссылка на оригинальную статью