Laravel 5.6 вышел в релиз

Свершилось! 7 февраля 2018г вышел Laravel 5.6, очередной мажорный релиз нашего любимого фреймворка. Чтобы ознакомиться со всеми нововведениями посетите Github проекта.

Я уже писал ранее о большинстве нововведений (Система логирования, Single Server Task Scheduling, etc...), ознакомиться с ними вы можете тут. В этой заметке я пройдусь по тем нововведениями, о которых я забыл упомянуть ранее.

Генерация API контроллеров

Теперь вы сможете генерировать 'resource' API контроллеры, в которых отсутсвуют ненужные методы create и edit (нужные только для Web Controllers, которые возвращают HTML). Чтобы сгенерировать новый контроллер, просто укажите флаг --api при запуске команды:

php artisan make:controller API/PhotoController --api

Eloquent Date Casting

Все мы знаем (а кто-то и нет), что в Eloquent есть замечательное protected поле $casts. Это массив в котором мы можем попросить Laravel отформатировать поле в нужный нам формат (число, строка, массив). В 5.6 к стандартным полям добавились 2 новых: date и datetime. Использовать их так же легко:

protected $casts = [
  'birthday' => 'date:Y-m-d',
  'joined_at' => 'datetime:Y-m-d H:00',
];

Теперь ваши даты будут в правильном виде при сериализации в JSON или конвертации в массив.

Алиасы для Blade компонентов

наконец-то добавили возможность давать алиасы для Blade компонентов. Например, у нас есть компонент resources/views/components/alert.blade.php, теперь мы можем использовать метод component() чтобы создать алиас для этого компонента:

Blade::component('components.alert', 'alert');

И далее использовать его в шаблоне как обычный компонент (но уже с новым именем):

@component('alert')
  

This is an alert component


@endcomponent

Генерация UUID

В хелпер Illuminate\Support\Str добавились 2 новых метода для генерации UUID (Universal Unique Identifiers):

// The methods return a Ramsey\Uuid\Uuid object

return (string) Str::uuid();

return (string) Str::orderedUuid();

Метод orderedUuid() сгенерирует UUID на основе текущего timestamp (например для использования в качестве индекса в БД).

 

На этом пожалуй все. О том как правильно обновиться до версии 5.6 - обратитесь к upgrade guide на официальном сайте. Обновление с 5.5 до 5.6 займет не более 10-30 минут (зависит от вашего проекта), так что вам нечего бояться.

Опубликовано:

Категории: Новости