Laravel5.1のリリース
Laravel5.1がリリースされました。PSR-2の採用、イベントブロードキャスト、ミドルウェアパラメータ、Artisanの強化など、様々な修正がなされました。
また、LTS(Long Term Support)が宣言され、2年間のバグ修正と3年間のセキュリティ対応が約束されました。
PHP 5.5.9+
PHP5.4のEOLが2015年の9月までとなっているため、Laravel5.1ではPHPのバージョン5.5.9以上での動作が必須となりました。
AWS SDKやポピュラーなライブラリではPHP5.5以上を要求しているものが多く、それらとの互換性も考慮されています。
LTS(Long Term Support)
Long Term Supportが正式にアナウンスされ、2年間のバグ修正と3年間のセキュリティ対応が約束されました。
PSR-2
PSR-2に準拠するよう、フレームワークが構成されています。Artisanの各ジェネレータも、PSR-2に準拠するよう書きなおされました。
ドキュメント
ドキュメントの内容が全体的に見直され、コード例も再度記載されました。
イベントブロードキャスト
イベントブロードキャスト機能が実装されました。これにより、リアルタイムな更新情報をサーバサイドとクライアント側のJSフレームワークで共有することができるようになりました。
ミドルウェアパラメータ
ミドルウェアが追加のカスタムパラメータを受け取ることができるようになりました。
テスト機能の改善
テスト機能が大幅に改善されました。
特徴として、FluentInterfaceが導入されました。
例
public function testNewUserRegistration() { $this->visit('/register') ->type('Taylor', 'name') ->check('terms') ->press('Register') ->seePageIs('/dashboard'); }
モデルのモッククラスを簡単に作成するために、ライブラリFakerが導入されました。
例
$factory->define('App\User', function ($faker) { return [ 'name' => $faker->name, 'email' => $faker->email, 'password' => str_random(10), 'remember_token' => str_random(10), ]; });
Artisanの改善
Artisanコマンドが改善されました。一例として、routeのような署名が定義できるようになりました。
例
/** * The name and signature of the console command. * * @var string */ protected $signature = 'email:send {user} {--force}'; For more information on defining Artisan commands, consult the Artisan documentation.
フォルダ構造
意図をよりわかりやすく示すことができるように、app/Commandsディレクトリがapp/Jobsに改名されました。app/Handlersディレクトリも、app/Listenersに統合されました。
ただし、5.1では5.0との互換性を保つように設計されており、従来のディレクトリ名もそのまま使用できます。
暗号化の変更
Laravel5.0までは、PHPのmcryptにより暗号化処理されていました。Laravel5.1からは、openssl拡張により処理されるようになりました。