作成日:2006/08/07
4B.4 デバッグについて
以下Smartyを使ったプログラムのデバッグについて説明します。デバッグ時のヒントにして下さい。
エラーメッセージ
Smartyの特徴に1つにデバックのし易さがあります。テンプレートでエラーが発生した場合、 Smartyは以下のようなエラーを出力します。このエラーメッセージの中にはテンプレートファイル中のエラーの箇所も表示されているので大変親切です。
Fatal error: Smarty error: [in theme.html line 7]: syntax error: unrecognized tag: $ name (Smarty_Compiler.class.php, line 439) in c:\php5mb\includes\Smarty\Smarty.class.php on line 1095
デバッグに関する設定
デバッグに関する設定はSmatryの派生クラス( 例題の場合はMySmarty.class.php ) の中でするのが便利です。 例題ではデバッグに関する以下の設定を行っています。
$this->debugging = false; $this->force_compile = false; $this->caching = false;
| メンバ変数 | 説明 |
|---|---|
$debugging |
デバッギングコンソールについては以下を参照して下さい。 |
$caching |
実運用でキャシュを使う場合でも、開発中はキャシュ無しの方が便利です。 |
$force_compile |
Smartyはテンプレートが変更されないとコンパイルしてくれません。 プラグインの開発中は、 $force_compile を true に設定し、 テンプレートが呼び出される毎に強制的にコンパイルしなければならない場合があります。 リリース時は false に戻しておきましょう。 |
デバッギングコンソール
Smartyクラスのメンバ変数 $debugging を true にすると、 display()メソッドで出力される html の中にデバッギングコンソールを表示する JavaScript が埋め込まれます。 Smartyで作ったページが表示される時、別ウインドウが開きテンプレート変数などのデバッグ情報が表示されます。
