プログラムメモ

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件のコメント