Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Laravel5.1 release
Laravel Meetup Tokyo Vol.6
yuuki takezawa
Profile
• ytake (github), ex_takezawa(twitter)
• java, php, node.js, RDBMS, NoSQL, VoltDB
4章担当
一家に一冊よろしくお願いします
Laravel5.1

release!
long term support


Laravel 5.1 will receive bug
fixes for 2 years and
security fixes for 3 years.
ドキュメントが豊富に
"php": ">=5.5.9"
• PHP5.5.9以上となりました

現行のHHVMももちろん、

問題なく動作します

PHP7でも(いまのところ)
required
• OpenSSL PHP Extension
• Mbstring PHP Extension
• Tokenizer PHP Extension
goodbye mcrypt!
• opensslエクステンションが必要です
• MCRYPT_RIJNDAEL_128

MCRYPT_RIJNDAEL_256を選択した場合のみ

mcryptが利用されますが、

5.2で削除されます
upgrade guide
compile fileの行方
• storage/framework配下にあった

最適化ファイルcompiled.php
• bootstrap/cache配下に移動

services.json

configキャッシュ,routeキャッシュ...
AuthController?
• デフォルトで用意されていた認証関連の

コントローラを使っている方は少しだけ変更
があります
• 使ってない方は何もなし
デフォルトで付属している

コントローラなどは、
モックや簡単なプロトタイプ
がすぐに作れるように置いて
あるだけで、
推奨ではありません
Validation
• formatValidationErrors , formatErrors

あたりのメソッドをオーバライドして使って
いた方はValidatorインターフェースなどを

コンストラクタにタイプヒンティング
Eloquent
• createをオーバーライドしていた方、

内部でfindをコールしてた方は少しだけ変更
• dateFormat周りもすこーしだけ変更
• 大きな変更は無し
CommandBus -> Job
• CommandBusはQueue処理向けのJobクラス
に変更
• HandlersはListenersへ
• SelfHandlingの方はクラス名変えるだけ

Queueファサード利用の方が多い?
Deprecated
• Middleware、TerminableMiddleware

インターフェースが非推奨で5.2で削除

機能はそのままで無くなりませんよ!

PSR-7のため?
• filterは5.2で完全に利用できなくなります
...
Deprecated
• BusDispatchesCommandsインターフェース
はJobsに変更されたので変えましょう

5.2で削除
• コンテナのbindSharedが5.2で削除

singletonと同じなのでそちらを使いましょう
コーディング規約
• フレームワーク本体がPSR-2へ

今までのPSR-0+オールマンスタイルから変更
• ユーザーが実装するところは皆さんの規約で
• 合わせるのは強制ではありません
New Feature!

一部5.0おさらい
route group
• groupにasを利用して名前もグループ化

Route::group(['as' => 'group'], function () {
get('/', ['uses' => 'IndexController@index', 'as' => 'index']);
});
CSRF token
• csrf_field()でinputタグから生成
• XSRF-TOKENがCookieに付与されているので

angularの方は使いましょう
• VerifyCsrfTokenミドルウェアでtokenチェックを除
外...
HTML, Form
• Laravelパッケージから外されています
• Laravelのilluminateコンポーネントでは

メンテナンスされていません 5.0止まり
• どうしても使いたい方はLaravelCollectiveへ

メン...
Modelsディレクトリは削除
• MVCパターンで作りたい場合はMVCで
• 他のアーキテクチャにしたい場合は

そのパターンで
• 自分でアーキテクチャを作るフレームワーク
• ディレクトリはpsr-4で自由で、

強制はされていません 作...
make:model
• 実行するとapp直下に作られるんですけど・・
• ええ、そこが置き場なの?!
$ php artisan make:model ModelsMessage
指定したディレクトリに

置かれるので心配無用です
laravel elixir
• gulpを使った開発支援タスクランナー
• less, sassコンパイルやphpunit自動実行など
• 最新バージョンからbabelタスク追加

ECMAScript2015がブラウザで!
• elixir...
middleware
• ミドルウェアで引数が利用できるように

'middleware' => ‘role:editor'
• 邪魔なミドルウェアは中身を見て外しましょう

CookieやSession管理や

メンテナンスモード判定のミドル...
Request
• validationはフォームリクエストを利用した方
がスムーズです
• PSR-7対応で好きなライブラリを自由に

(対応しているものであれば)
Broadcast
• Redis pubsub / pusher(海外サービス)を使っ
て簡単にwebsocketが利用可能
• socket.io利用であればRedis(pubsub)の方が早
いのでおすすめ
Faker factory
• Fakerを使って簡単にデータをつくれます
• テストがより簡単に
• Mockeryと一緒に使うと色々できます
functional test
• クローリングするテストがより分かりやすく簡単
に(Controller)
• ファンクショナルテストがより簡単に
• ミドルウェアなどを無効にしたり、

テスト時に自動でmigrationをするtraitも
...
用途にあった
コンポーネントを使って
快適な開発生活を
ご静聴
ありがとうございました
Upcoming SlideShare
Loading in …5
×

Laravel5.1 Release

4,096 views

Published on

Laravel Meetup Tokyo Vol.6で利用したスライドです
5.1リリースでの変更点などのまとめ

Published in: Software
  • Be the first to comment

Laravel5.1 Release

  1. 1. Laravel5.1 release Laravel Meetup Tokyo Vol.6 yuuki takezawa
  2. 2. Profile • ytake (github), ex_takezawa(twitter) • java, php, node.js, RDBMS, NoSQL, VoltDB
  3. 3. 4章担当 一家に一冊よろしくお願いします
  4. 4. Laravel5.1
 release!
  5. 5. long term support 
 Laravel 5.1 will receive bug fixes for 2 years and security fixes for 3 years.
  6. 6. ドキュメントが豊富に
  7. 7. "php": ">=5.5.9" • PHP5.5.9以上となりました
 現行のHHVMももちろん、
 問題なく動作します
 PHP7でも(いまのところ)
  8. 8. required • OpenSSL PHP Extension • Mbstring PHP Extension • Tokenizer PHP Extension
  9. 9. goodbye mcrypt! • opensslエクステンションが必要です • MCRYPT_RIJNDAEL_128
 MCRYPT_RIJNDAEL_256を選択した場合のみ
 mcryptが利用されますが、
 5.2で削除されます
  10. 10. upgrade guide
  11. 11. compile fileの行方 • storage/framework配下にあった
 最適化ファイルcompiled.php • bootstrap/cache配下に移動
 services.json
 configキャッシュ,routeキャッシュも
 文字通りbootstrapへ
  12. 12. AuthController? • デフォルトで用意されていた認証関連の
 コントローラを使っている方は少しだけ変更 があります • 使ってない方は何もなし
  13. 13. デフォルトで付属している
 コントローラなどは、 モックや簡単なプロトタイプ がすぐに作れるように置いて あるだけで、 推奨ではありません
  14. 14. Validation • formatValidationErrors , formatErrors
 あたりのメソッドをオーバライドして使って いた方はValidatorインターフェースなどを
 コンストラクタにタイプヒンティング
  15. 15. Eloquent • createをオーバーライドしていた方、
 内部でfindをコールしてた方は少しだけ変更 • dateFormat周りもすこーしだけ変更 • 大きな変更は無し
  16. 16. CommandBus -> Job • CommandBusはQueue処理向けのJobクラス に変更 • HandlersはListenersへ • SelfHandlingの方はクラス名変えるだけ
 Queueファサード利用の方が多い?
  17. 17. Deprecated • Middleware、TerminableMiddleware
 インターフェースが非推奨で5.2で削除
 機能はそのままで無くなりませんよ!
 PSR-7のため? • filterは5.2で完全に利用できなくなります
 ミドルウェアに移行しましょう
  18. 18. Deprecated • BusDispatchesCommandsインターフェース はJobsに変更されたので変えましょう
 5.2で削除 • コンテナのbindSharedが5.2で削除
 singletonと同じなのでそちらを使いましょう
  19. 19. コーディング規約 • フレームワーク本体がPSR-2へ
 今までのPSR-0+オールマンスタイルから変更 • ユーザーが実装するところは皆さんの規約で • 合わせるのは強制ではありません
  20. 20. New Feature!
 一部5.0おさらい
  21. 21. route group • groupにasを利用して名前もグループ化

  22. 22. Route::group(['as' => 'group'], function () { get('/', ['uses' => 'IndexController@index', 'as' => 'index']); });
  23. 23. CSRF token • csrf_field()でinputタグから生成 • XSRF-TOKENがCookieに付与されているので
 angularの方は使いましょう • VerifyCsrfTokenミドルウェアでtokenチェックを除 外したいルートが指定できます
 (内部でRequest::isを利用)
  24. 24. HTML, Form • Laravelパッケージから外されています • Laravelのilluminateコンポーネントでは
 メンテナンスされていません 5.0止まり • どうしても使いたい方はLaravelCollectiveへ
 メンテナンスや新しい機能はそちらで
  25. 25. Modelsディレクトリは削除 • MVCパターンで作りたい場合はMVCで • 他のアーキテクチャにしたい場合は
 そのパターンで • 自分でアーキテクチャを作るフレームワーク • ディレクトリはpsr-4で自由で、
 強制はされていません 作りやすいように
  26. 26. make:model • 実行するとapp直下に作られるんですけど・・ • ええ、そこが置き場なの?!
  27. 27. $ php artisan make:model ModelsMessage
  28. 28. 指定したディレクトリに
 置かれるので心配無用です
  29. 29. laravel elixir • gulpを使った開発支援タスクランナー • less, sassコンパイルやphpunit自動実行など • 最新バージョンからbabelタスク追加
 ECMAScript2015がブラウザで! • elixir.jsonでパス変更などができます
 (ソース読みましょう)
  30. 30. middleware • ミドルウェアで引数が利用できるように
 'middleware' => ‘role:editor' • 邪魔なミドルウェアは中身を見て外しましょう
 CookieやSession管理や
 メンテナンスモード判定のミドルウェアが
 最初から全て有効になってます
  31. 31. Request • validationはフォームリクエストを利用した方 がスムーズです • PSR-7対応で好きなライブラリを自由に
 (対応しているものであれば)
  32. 32. Broadcast • Redis pubsub / pusher(海外サービス)を使っ て簡単にwebsocketが利用可能 • socket.io利用であればRedis(pubsub)の方が早 いのでおすすめ
  33. 33. Faker factory • Fakerを使って簡単にデータをつくれます • テストがより簡単に • Mockeryと一緒に使うと色々できます
  34. 34. functional test • クローリングするテストがより分かりやすく簡単 に(Controller) • ファンクショナルテストがより簡単に • ミドルウェアなどを無効にしたり、
 テスト時に自動でmigrationをするtraitも
 (tearDownでロールバックしてくれます)
  35. 35. 用途にあった コンポーネントを使って 快適な開発生活を
  36. 36. ご静聴 ありがとうございました

×