zend framework 3 と zend expressive の話

16

Click here to load reader

Upload: satoru-yoshida

Post on 07-Jan-2017

7.280 views

Category:

Internet


5 download

TRANSCRIPT

Page 1: Zend framework 3 と zend expressive の話

Zend Framework 3 とZend Expressive の話

2015-11-22@第6回闇 PHP 勉強会

By @strysd

Page 2: Zend framework 3 と zend expressive の話

Agenda

•自己紹介

• ZendCon 2015 で話されたこと

• Zend Framework 1 と2の振り返りと反省

• Zend Framework 3 で目指すもの

• Zend Expressive で目指すもの

(注意書き)

この発表は、ZendCon 2015 の発表を聞いて個人的にまとめたものです。

Zend Technologies とか Rogue Wave Software とか勤務先の見解を代表するものではないですよ。

Cのコードも PHPのコードもありませんがごめんなさい。

Page 3: Zend framework 3 と zend expressive の話

Who are You?

• 吉田 悟 (Satoru Yoshida)

• Twitter : @strysd

• おしごと:ソフトウェア流通業(BtoB) のイグアスでプリセールスとテクニカルサポートを担当してます。VMware vSphere とか Zend Server とか Zend Studio とか Atlassian JIRA とか。

• おしごと以外:

• Eclipse.org の言語パック作成プロジェクト babel のコミッター翻訳投稿受付ページ babel.eclipse.org の改善が主な仕事

• ごくたまに PHP マニュアルの翻訳もします。最近だと uopz 関数とか posix_setrlimit 関数とか

Page 4: Zend framework 3 と zend expressive の話

ZendCon 2015 では何が話されたか 1

x

Page 5: Zend framework 3 と zend expressive の話

ZendCon 2015 では何が話されたか 2

• X

Page 6: Zend framework 3 と zend expressive の話

Zend Framework 3 と Zend Expressive も

上記は、Matthew Weier O’Phinney 氏担当のZend Framework 3 セッション開始の15分くらい前に撮影。

下記は、Marco Pivetta 氏担当のZend Expressive セッションから

Page 7: Zend framework 3 と zend expressive の話

Zend Framework 1 と 2 の振り返り

•Ver 1 で追加された機能Form , Layout, Application

Dojo, jQuery への対応など

•Ver 2 で追加された機能Event Driven Architecture

Dependency Injection など

Page 8: Zend framework 3 と zend expressive の話

その結果何が起きたか

• Ver 1 と 2 で互換性が無くなってしまった。Zend Framework 1 から 2 に移行しようとすると大変!

•覚えなければいけないことがたくさんあるので、あまり人が来なくなってしまった。

公式マニュアルを読んだことのある人はよくわかっていただけるはず。

Page 9: Zend framework 3 と zend expressive の話

では Zend Framework 3 では?

•コンポーネント化と再利用

•パフォーマンス改善

•使い勝手 (Usability)

Page 10: Zend framework 3 と zend expressive の話

コンポーネント化と再利用

•コンポーネントそれぞれごとにバージョン付けする

•必要なコンポーネントだけ Composer でインストール

• ドキュメント、ソース、テストをパッケージごとに構造化

Page 11: Zend framework 3 と zend expressive の話

パフォーマンス改善

• イベント・マネージャーを4~15倍高速化

trigger 関数を変更するので、後方互換性が無くなることに注意。

•サービス・マネージャーを4倍高速化

こちらは、ほぼ互換性を保つとのこと。

Page 12: Zend framework 3 と zend expressive の話

Usability

•基本に立ち返り、MVCにとって必要なものだけになるように依存関係を簡素化

たとえば Zend_Navigation 廃止!

エッセンシャルな部分はそのまま残す。

• ドキュメントが使いにくい

公式マニュアルを読んだことのある人は(以下略

Page 13: Zend framework 3 と zend expressive の話

Zend Expressive

• リクエストを受け取ってレスポンスを返すことに特化したマイクロフレームワーク

•各種フレームワーク間の HTTP メッセージングを標準することを意図した PSR-7 準拠。

Page 14: Zend framework 3 と zend expressive の話

Why Zend Expressive ?

• (ここから先はMarco Pivetta 氏の発表からのまとめ)

• プログラムにプラガブルにログやセキュリティー機能を追加したい。

• ベースに Zend Framework を使えばできる。でもコントローラーのロジックが複雑怪奇! (Marco 氏は too magic と表現してました)

• できればプログラムを小さなままにしておきたい。• Zend Framework 3 ですら、この目的は満たせない。

Page 15: Zend framework 3 と zend expressive の話

Zend Expressive の効果

• コントローラーがスリムになり、リクエストとレスポンスの関係がわかりやすくなる。

•全体的に共通な Validation ロジックや設定値を各メソッドの中にそれぞれ書く代わりに、外にくくりだして書ける。

Page 16: Zend framework 3 と zend expressive の話

Any Question?

• X