webアプリの抽象化について考える5

1のまとめかたは単純だが、認証とか共通の動作をするコードを各ファイルに記述する必要がある。それは面度くさい。
2の方法で「グローバルレベルのコードをincludeする」のが、単純だし、共通のコードもまとめられる。

では、mojaviのactionクラスなどに見られる、機能ごとにクラスを定義する方法のメリットは何であろうか?
これまで、MVCモデルの適用を開発者に強制させる為かと思っていたが、よく考えると、actionクラス内でSQL文べた書きとか、読みにくく判りにくくするコードも書けるわけだし、僕の理解が間違っていたのだろう。

MVCの適用というのは、webアプリフレームワークが強要できるものでないのではないか。とすれば、MVCPHPによるwebアプリに持ち込むにはどうすればよいのか?

まず、VのCからの分離ということに関しては、HTMLテンプレートとCSSの使用ということでできるのではないか。MのCからの分離は、オブジェクト指向の方法に忠実に、Mをクラスで表現してやるようにすれば良い。C(つまり各機能ごとのコード)はそれらMのクラスを使って、その結果をVにマッピングする作業を行うことになる。