電子書籍の厳選無料作品が豊富!

現在、Pleskサーバを利用して、
Apache+Smarty+PHPのWEBプログラミングを行っているのですが、
PHPのユーザ関数内で、Smartyのassign()関数を使用した場合に、Smarty変数の生成を行うことが出来ません。

例としては以下のような感じになります。
================================================================
<?
$smarty->assign( 'a', 'a' ); // テンプレート上で{$a}とするとaと表示される

test( $smarty );

$smarty->display('index.tpl'); // index.tplを表示する

function test( $smarty )
{
$smarty->assign( 'b', 'b' ); // テンプレート上で{$b}としてもbは表示されない
}
?>
================================================================
$smartyというのは、$smarty = new Smarty();を行ったものです。

このプログラム自体は、Plesk導入前は動作しておりましたが、
Plesk導入後は上記のように、ユーザ関数外では、通常通りassign()を行うことが出来るのですが、ユーザ関数内だと無効となってしまいます。

また、Pleskのsafe_modeはOffにしております。

Pleskは初めて使用するため、動作上まだ知らないことばかりで、とても初歩的なミスをしているかと思いますが、Pleskに詳しい方がおりましたらどうか教えて頂きたいと思います。

A 回答 (1件)

functionの引数を参照にしてfunction test( &$smarty )としても動作しないでしょうか?

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

11spec0様の方法で解決することができました!

これからも、こちらにはまたお世話なるかと思いますが、
どうか宜しくお願い致します。

お礼日時:2008/07/24 10:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!