Smarty2.6→3.1に変えてエラー
Smartyを2.6→3.1に変えたところ以下のエラーが出た。
解決したのでメモ
Fatal error: Uncaught exception ‘SmartyException’ with message ‘PHP5 requires you to call __construct() instead of Smarty()’
Smartyを継承してMySmartyクラスを作成
MySmartyクラスのコンストラクタで以下の構文で親クラスのコンストラクタを呼んでいた。
$this->Smarty();
これがエラーとの事。
2.6.xのSmarty.class.phpではコンストラクタは以下のようになっていた
function Smarty()
3.1.xのSmarty.class.phpではコンストラクタは以下のように変わったようだ。
public function __construct()
これはPHP5から言語仕様に対応したものだと思う。
C#に慣れている身からすると、__construct()の方がよっぽどとっつきにくい。
$this->Smarty();
parent::__construct();
と変更した。
1件のコメント
匿名
ずっとこのエラーが出ていて悩んでいました。治りました。ありがとう!