ZendFrameworkとFirebugは便利

2010年5月12日

ZendFrameworkを利用して開発しているならば、ぜひおすすめなデバッグ方法がある。

ZendFramework + Firebug + FirePHP

は、var_dumpの必要を無くしてくれる。

Zend_LogでFirefoxのFirebugのコンソールにメッセージを出してくれるもので、具体的な使い方は以下の通り。

フロントコントローラーにおいて

 


require_once ‘Zend/Log.php’;
require_once ‘Zend/Log/Writer/Firebug.php’;

ディスパッチャ($front->dispatch() )が動く前に

 


$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);
$front->setParam(‘logger’,$logger);

とする。あとはコントローラーやモデル内で

private $_logger;

とでも宣言して


public function init()
{

$this->_logger = $front->getParam('logger');
と宣言すれば、
いつでも好きな時に
$this->_logger->log($sql, Zend_Log::INFO);
という記述をすれば、例えば上記の場合は$sqlの中身がFirebugのコンソールに表示される。
Firebugのコンソールは別ウィンドウで出した方が楽。

 

var_dumpはAjaxを利用した開発の時は使えないが、これを使えばAjaxに対する出力プログラムでもvar_dumpと同様のデバッグが可能になる。