Smarty に例外を投げさせる
- require_once 'Smarty.class.php';
- /**
- * Smarty のラッパー
- */
- class My_Smarty extends Smarty
- {
- /**
- * エラー時に例外を投げるか
- * @var boolean
- */
- public $throw_exception = true;
- /**
- * trigger Smarty error
- *
- * @param string $error_msg
- * @param integer $error_type
- */
- function trigger_error( $error_msg, $error_type = E_USER_WARNING )
- {
- if( $this->throw_exception ){
- throw new My_Smarty_Exception( $error_msg );
- }else{
- parent::tigger_error($error_msg, $error_type);
- }
- }
- }
Zend+Smary で作るなら、エラーはちゃんと例外投げてエラーハンドラーで処理しようぜ。 的な物。
あと例外クラスは適当に作って読み込む。
エラーの種類で例外クラス(もしくはコード)を分けたいところだけれども、そこまで頑張るほどの事でもないかな。
レイアウトがぐだぐだに崩れているのはゆっくり直す。 つもり。