Laravel объявили о выпуске версии 5.1. Это первый релиз в истории Laravel, предлагающий получение долгосрочной поддержки. Давайте рассмотрим некоторые из новых возможностей фреймовика.
Долгосрочная поддержка.
Так, первоначально запустив в 2011 году Laravel, фреймворк следовал, как и многие популярные opensource-проекты, мантре "релиз раньше, релиз чаще". С исторически растущей популярностью фреймовика, наступило время для акцента на требованиях больших организаций и критически-важный приложений, которые нуждаются в безопасных исправлениях, без скорых обновлений. Laravel 5.1 сейчас включает 3 года безопасных исправлений.
Долгосрочная поддержка возможно самая большая особенность в 5.1, но релиз включает в себя и другие нововведения.
Новая документация.
Документация была полностью переработана, и представлена более ясной, более подробной и приятной. Это стало огромным достижением, было потрачено множество часов для тонкой настройки каждой страницы.
Когда Тейлора спросили: «Стоило ли так много времени тратить на документирование?», он ответил, что лучше задержит релиз Laravel 5.1, чем выпустит его с плохой документацией. Еще одна новая функция — это поиск в режиме online.
PSR-2.
Самым большим изменения от текущего стиля Laravel коснулись замены табуляции пробелами, а также было уделено внимание управляющим структурам, которые теперь располагаются на тех же линиях.
Команды.
Вторым большим изменением стало переименование папки "Commands" в "Jobs", чтобы указать, что прежде всего используются именно для очередей заданий.
Работа с сервисами из шаблонов.
Теперь вы можете воспользоваться сервисом непосредственно из шаблона:
@extends('layouts.app')
@inject('stats', 'StatisticsService')
<div>{{ $stats->getCustomerCount() }}</div>
Envoy запускает и локальные SSH-скрипты.
Наконец, Envoy позволяет запускать локальные сценарии без SSH.
Параметры Middleware.
Эта новая особенность позволяет передавать параметры в middleware.
Вещание событий.
Laravel уже содержит мощную систему событий, которая позволяет транслировать события по websocket, таким образом, чтобы клиент мог принимать их. Благодаря этой новой функции, создавать приложений в режиме реального времени стало проще.
CSRF-исключения.
В Laravel 5.0 все запросы проходили через CSRF-middleware, и это приемлемо для большинства случаев. Тем не менее, при использовании сервиса с web-hooks, у вас нет возможности установить CSRF-маркер. Новая особенность в 5.1 — это введение исключающего свойство класса VerifyCsrfToken, которая позволяет легко переопределить маршруты применения данного middleware:
protected $except = [
'webhook/*'
];
Улучшенное модульное тестирование приложений.
С включение комплексного пакета тестирования, процесс написания unit-тестов для приложения станет проще, чем раньше:
public function testNewUserRegistration()
{
$this->visit('/register')
->type('Taylor', 'name')
->check('terms')
->press('Register')
->seePageIs('/dashboard');
}
Elixir-улучшения.
Обещают поддержку ECMAScript 6 в Elixir из коробки.