Hawk
schol****@hawkl*****
2006年 10月 2日 (月) 14:47:31 JST
Hawkです。 マニュアルを見る限り、 複数回コールして複数個の関数を登録することも可能らしいので、 他のコードとの競合という観点からも、特に問題はないように思います。 ただ必ずスクリプトの終了時に実行されるとなると、 Filterという形態が果たして正しいのか、ちょっと微妙な気もしますが…。 (かといって今のところ他に相応しい場所も思い浮かびませんけど) kazunobu ichihashi wrote: > 市橋(bobchin)です。 > > Filter_Debugですが、register_shutdown_function()関数を使ったらどうかな?と思いました。 > が、実行する前に参照する変数とかが廃棄されたりしないかがよくわかってません。 > 何かご存知のことがあれば教えてください〜 > > 以下サンプルです。 > こうすれば任意の位置にフィルタさえ登録すれば、処理の最後に表示されるのでは? > と思ってます。 > > class Filter_Debug extends Filter > { > var $_debugs = array(); > > function Filter_Debug() > { > parent::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"); > } > > function _preFilter() > { > // 何もしない > register_shutdown_function(array(&$this, '_postFilter')); > } > } > -- Hawk : { web site : http://blog.hawklab.jp/ }