PHP 勉強会

今回の僕の目的はフレームワークについてでした。

  • まず、入力から処理完了までの遷移をどう扱うかというところが、フレームワークが使えるかどうかを決める重要な点であると感じました。

p0t.jp Komagata氏の言うところのICCですね。僕的には、
IVCC (Input, Validation, Confirmation, Completion)
という様にバリデーションを入れたほうが良いのではないかと思います。

この遷移については、個人的には遷移の流れをどう見やすく書くことができるか、修正させることが出来るようにするかが肝だと思います。
また、上鍵さんの言うように、HTML_QuickForm_Controller もいいのかも知れませんね。詳しくないので今後調べて見なければならないですけど。

  • 次に感銘を受けたのは、mapleのフィルタはAOPの一種であるという点。

確かにそうかもしれない。だとすると、mapleのすべてをフィルタで処理しようとする設計は、すべてをAOPでやろうということになってしまうのか。
おそらく、上記の遷移を扱うところが、メインのプログラムであって、それにフィルタを噛ましていくようなイメージになるのであろう。
とすると、ビューやバリデーションまでフィルタにするのはやりすぎとも言えるのではないだろうか。それらは、フィルタとは別けてコントローラのはっきりとした軸とする必要が有るだろう。
あと、フィルタの動作に行きと戻りが有るのは工夫を感じた。

  • フレームワークには、規約的な面もあり、遷移の管理以上の縛りも必要だとの意見があること

これもそうかも知れないが、初期コストを上げる諸刃の剣であろう。最小限の規約を作るにとどめ、たとえばテンプレートに何を使うかとかは、ユーザが決めればよいのではないか。その中からベストプラクティス的な大きな規約が出来てくれば良い。というか、僕はプロじゃないので、大きい規約なフレームワークは使い切れないのよ。