Zend_Controller2.0 PageControllerPattern

http://framework.zend.com/wiki/display/ZFDEV/Zend_Controller+2.0#Zend_Controller2.0-IntegratethePageControllerpattern
Zend_Controllerのロードマップにページコントローラーパターンがある。
# wikiが古いだけで、ページコントローラーパターンって完成なんだろうか・・・ドキュメント待ち?
Zend Frameworkはフロントコントローラーパターンを使っているが、システムが大規模になるとルーティングのロードだけで相当なコストになる。ACLも全体をロードすると重い。
そこで、ページ毎に処理すべき内容を限定できるページコントローラーパターンの出番となる。エントリーポイントを増やして、直接アクションコントローラーを呼ぶことにより、フロントコントローラーパターンのもつ複雑さを解消し、パフォーマンスの改善もできる。
RSS配信用やAjaxによるRESTなどはルーティングは非常にシンプルでよいので、そういった部分を切り分けるだけでも相互にメリットがありそう。
現状の実装ではページコントローラーにしたいエントリーポイントでActionController::run()を呼んで処理する。

<?php
Zend_Loader::loadClass('SomeController', '/modules/default/controllers/');
    $request = new Zend_Controller_Request_Http();
    $request->setActionName('foo');
    $ctrl = new SomeController($request, new Zend_Controller_Response_Http());
    echo $ctrl->run();

ページレベルもしくはモジュールレベルで

ルーティングやACL情報などを一括管理する方法もあるが、ページコントローラーパターンに移行できるように、分散管理しておくというのも考え方としてはありだろう。
その場合、フロントコントローラー用のプラグインの利用は最小限にしておく必要があるかもしれない。
urlヘルパーもルーターに問い合わせるのではなく、コントローラーの基底にて_assembleを実装するぐらいでいいかも。