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と同様のデバッグが可能になる。