Debugフィルタ案

http://d.hatena.ne.jp/bobchin/20060214/1139882975
http://d.hatena.ne.jp/bobchin/20060213/1139838115
デバッグフィルタですが、アクションが複数ある場合に問題があります。
それは、各アクションループごとにデバッグフィルタが走ってしまうのが原因です。
なので、最後のアクションループのときのみ実行させる必要があります。


次にアクションがあるかどうかを判断するだと、次のアクションが追加されるのは実はビューフィルタの中だったりするので正確にはビューフィルタ実行後でないと判断できません。
ということなので、かなーりビューに依存することにはなると思いますが、「ビューで何かしら出力をした」=「アクションは終わり」とみなして以下のようにしてみました。
※ConfigUtilsに変更があるためCVS版である必要があります。

Filter

    function execute()
    {
        $log =& LogFactory::getLog();
        $log->trace("Filter_Debugの前処理が実行されました", "Filter_Debug#execute");
        $this->_preFilter();
        
        $container =& DIContainerFactory::getContainer();
        $filterChain =& $container->getComponent("FilterChain");
        $filterChain->execute();

        $log->trace("Filter_Debugの後処理が実行されました", "Filter_Debug#execute");

        // ここを追加
        $response =& $container->getComponent("Response");
        if ($response->getResult() != null) {
            $this->_postFilter();
        }

    }