PHP4でSmartyを使用した際 $smarty->assign(); が効かず、 tplファイルしか表示されないという状態が発生。 実は先月くらいから悩んでいたのですが、目をそらしてましたw 結論から言うと、参照渡し がきちんとされていなかったことが原因。 PHP5での引数受け渡しは、デフォルトで全て 参照渡し となるらしいのですが、 PHP4では 値渡し というのがデフォルトで、普通に関数へnewした$smartyなどを渡すと、 まったく違うオブジェクトとして解釈されてしまうとのこと。 私の解決方法は、 ・一番初めの、関数の引数の前へ & を付ける ・全ての関数内で、クラスの引数を受け取る際 = ではなく =& を使用する です。 ・一番初めの、関数の引数の前へ & を付ける は、例えば以下のようにPHP5でやっていたのを、 $smarty = new Smarty; $option