Nullyのぶろぐ

仙台から東京へ転勤したエンジニアのブログ

ZendFramework2を使う際に参考にしたいサイトのまとめ

参考というほど参考って感じはしないけど、ZF2使おうかなー?と考えている人たち用にこのへん見てみるといいかも!なのをまとめてみました。

Zend Framework2

言わずもがな今のところの公式ページ。

ZF2 Packages

ZF2をインストールするための手順などが掲載されています。

ZF2 Programmers Reference Guide

ZF2からのリファレンスです。

ZF2 Wiki

wikiです。

ZF2 - github

githubにおいてあるZF2のソース。

ZendSkeltonApplication

ZF2アプリケーションのスケルトンまとめです。

ZendSkeltonModule

ZF2アプリケーションに組み込むためのモジュールスケルトンです。

ZF2 Module

ZF2のすでに作成されているモジュール一覧です。

こんなに作られてるとは思わなかったですね...。

ZF2を使ってみて

以下に書き連ねることは、12/06/13現在のバージョン(beta4)のものなので、今後大きく変わる可能性があります。

まだ全部を使ってみたー!ってわけではないですが、DIコンテナや、ServiceManagerなどの新しい機構が追加され、ZF1の時よりも使うのが難しくなった感じがします。

また、全体の動きはイベント駆動型になった(のかな?)ので、ActionController(ZF1の時はZend_Controller_Action)クラスにinitやpreDispatch/postDispatchなどの処理関数がなくなりました。

代わりにEventManagerにイベントを新規で追加(attach)することで、擬似的にpreDispatch/postDispatchすることができるようになっています。

Bootstrap.phpの代替え

ZF1ではモジュール別Bootstrapなんてのがありましたが、あれはZF2からはModuleとなるらしく(まだbeta4なので変わる可能性大)、動かすために必要なファイルになるようです。

(ZF1のmodule/aaa/Bootstrap.php は必須ではなかった)

View

View周りも少し代わり、今まではHTMLを直接吐き出しているようなイメージでしたが、ZF2からはViewModelクラスなどで、表示するためのモデルオブジェクトを返却する形になるようです。

ViewModelは単に変数の塊を作るためのコンテナみたいなもののような感じがしましたが、具体的はそうじゃないのかな...?(名前にModelってついてるしきっとそうだよね)

ErrorControllerが必須じゃなくなった

ErrorControllerについては、以前はErrorControllerが無いと例外を吐き出していましたが、必須じゃなくなったようです。

エラーページを表示する場合には、indexActionなどで処理をやって、もし例外をキャッチしたら指定したURLにリダイレクト(フォワード)するなどを行うことでエラー画面を表示できるようです。

(もうちょっと別なやり方もありそうですが...。)

モジュール別設定を持てるようになった

モジュール毎の設定ファイルはPHPの配列をつらつら書き連ねるタイプになり、チョット見栄えが悪い感じがしますが、iniやxmlなどに使う解析コストを減らしたんだなーって感じがする程度でした。

追記

Matthew氏がまとめた「Creating Re-usable Modules for Zend Framework 2」が公開されてました!

ZFのプロジェクトリードを担当氏ているので、より詳しい内容のスライドになっています。

QuickStartで解説している内容がほぼすべてになってるのではないかなーと。

がQuickStartの内容です。