Top Banner
Laravel5.1 release Laravel Meetup Tokyo Vol.6 yuuki takezawa
36

Laravel5.1 Release

Aug 06, 2015

Download

Software

Yuuki Takezawa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Laravel5.1 Release

Laravel5.1 releaseLaravel Meetup Tokyo Vol.6 yuuki takezawa

Page 2: Laravel5.1 Release

Profile

• ytake (github), ex_takezawa(twitter)

• java, php, node.js, RDBMS, NoSQL, VoltDB

Page 3: Laravel5.1 Release

4章担当

一家に一冊よろしくお願いします

Page 4: Laravel5.1 Release

Laravel5.1release!

Page 5: Laravel5.1 Release

long term support

Laravel 5.1 will receive bug fixes for 2 years and

security fixes for 3 years.

Page 6: Laravel5.1 Release

ドキュメントが豊富に

Page 7: Laravel5.1 Release

"php": ">=5.5.9"

• PHP5.5.9以上となりました

現行のHHVMももちろん、

問題なく動作しますPHP7でも(いまのところ)

Page 8: Laravel5.1 Release

required

• OpenSSL PHP Extension

• Mbstring PHP Extension

• Tokenizer PHP Extension

Page 9: Laravel5.1 Release

goodbye mcrypt!

• opensslエクステンションが必要です

• MCRYPT_RIJNDAEL_128MCRYPT_RIJNDAEL_256を選択した場合のみmcryptが利用されますが、5.2で削除されます

Page 10: Laravel5.1 Release

upgrade guide

Page 11: Laravel5.1 Release

compile fileの行方

• storage/framework配下にあった

最適化ファイルcompiled.php

• bootstrap/cache配下に移動services.jsonconfigキャッシュ,routeキャッシュも

文字通りbootstrapへ

Page 12: Laravel5.1 Release

AuthController?

• デフォルトで用意されていた認証関連の コントローラを使っている方は少しだけ変更があります

• 使ってない方は何もなし

Page 13: Laravel5.1 Release

デフォルトで付属しているコントローラなどは、

モックや簡単なプロトタイプがすぐに作れるように置いて

あるだけで、 推奨ではありません

Page 14: Laravel5.1 Release

Validation

• formatValidationErrors , formatErrors あたりのメソッドをオーバライドして使っていた方はValidatorインターフェースなどを コンストラクタにタイプヒンティング

Page 15: Laravel5.1 Release

Eloquent

• createをオーバーライドしていた方、

内部でfindをコールしてた方は少しだけ変更

• dateFormat周りもすこーしだけ変更

• 大きな変更は無し

Page 16: Laravel5.1 Release

CommandBus -> Job

• CommandBusはQueue処理向けのJobクラスに変更

• HandlersはListenersへ

• SelfHandlingの方はクラス名変えるだけQueueファサード利用の方が多い?

Page 17: Laravel5.1 Release

Deprecated

• Middleware、TerminableMiddleware

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

機能はそのままで無くなりませんよ! PSR-7のため?

• filterは5.2で完全に利用できなくなります ミドルウェアに移行しましょう

Page 18: Laravel5.1 Release

Deprecated

• Bus\DispatchesCommandsインターフェースはJobsに変更されたので変えましょう5.2で削除

• コンテナのbindSharedが5.2で削除singletonと同じなのでそちらを使いましょう

Page 19: Laravel5.1 Release

コーディング規約

• フレームワーク本体がPSR-2へ

今までのPSR-0+オールマンスタイルから変更

• ユーザーが実装するところは皆さんの規約で

• 合わせるのは強制ではありません

Page 20: Laravel5.1 Release

New Feature!一部5.0おさらい

Page 21: Laravel5.1 Release

route group

• groupにasを利用して名前もグループ化

Page 22: Laravel5.1 Release

\Route::group(['as' => 'group'], function () { get('/', ['uses' => 'IndexController@index', 'as' => 'index']); });

Page 23: Laravel5.1 Release

CSRF token

• csrf_field()でinputタグから生成

• XSRF-TOKENがCookieに付与されているのでangularの方は使いましょう

• VerifyCsrfTokenミドルウェアでtokenチェックを除外したいルートが指定できます(内部でRequest::isを利用)

Page 24: Laravel5.1 Release

HTML, Form

• Laravelパッケージから外されています

• Laravelのilluminateコンポーネントでは

メンテナンスされていません 5.0止まり

• どうしても使いたい方はLaravelCollectiveへメンテナンスや新しい機能はそちらで

Page 25: Laravel5.1 Release

Modelsディレクトリは削除

• MVCパターンで作りたい場合はMVCで

• 他のアーキテクチャにしたい場合はそのパターンで

• 自分でアーキテクチャを作るフレームワーク

• ディレクトリはpsr-4で自由で、強制はされていません 作りやすいように

Page 26: Laravel5.1 Release

make:model

• 実行するとapp直下に作られるんですけど・・

• ええ、そこが置き場なの?!

Page 27: Laravel5.1 Release

$ php artisan make:model Models\\Message

Page 28: Laravel5.1 Release

指定したディレクトリに置かれるので心配無用です

Page 29: Laravel5.1 Release

laravel elixir

• gulpを使った開発支援タスクランナー

• less, sassコンパイルやphpunit自動実行など

• 最新バージョンからbabelタスク追加 ECMAScript2015がブラウザで!

• elixir.jsonでパス変更などができます (ソース読みましょう)

Page 30: Laravel5.1 Release

middleware

• ミドルウェアで引数が利用できるように 'middleware' => ‘role:editor'

• 邪魔なミドルウェアは中身を見て外しましょう CookieやSession管理や

メンテナンスモード判定のミドルウェアが 最初から全て有効になってます

Page 31: Laravel5.1 Release

Request

• validationはフォームリクエストを利用した方がスムーズです

• PSR-7対応で好きなライブラリを自由に(対応しているものであれば)

Page 32: Laravel5.1 Release

Broadcast

• Redis pubsub / pusher(海外サービス)を使って簡単にwebsocketが利用可能

• socket.io利用であればRedis(pubsub)の方が早いのでおすすめ

Page 33: Laravel5.1 Release

Faker factory

• Fakerを使って簡単にデータをつくれます

• テストがより簡単に

• Mockeryと一緒に使うと色々できます

Page 34: Laravel5.1 Release

functional test

• クローリングするテストがより分かりやすく簡単に(Controller)

• ファンクショナルテストがより簡単に

• ミドルウェアなどを無効にしたり、

テスト時に自動でmigrationをするtraitも(tearDownでロールバックしてくれます)

Page 35: Laravel5.1 Release

用途にあった コンポーネントを使って 快適な開発生活を

Page 36: Laravel5.1 Release

ご静聴 ありがとうございました