ホームページ >バックエンド開発 >PHPチュートリアル >Smartyの登録機能についてアドバイスをお願いします
Smartyの登録機能について質問です。
$smarty->register_function('dateline', 'handle_dateline'); //これは登録関数です。最初のパラメータは何を意味しますか?
function handle_dateline($params, &$smarty) {} //これは登録された関数です。これら 2 つのパラメータは何を意味しますか?
関数を登録すると関数が実行されますか?関数を呼び出すのと似ていますか?
dateline は、
{dateline time="$time" などのテンプレートで使用される名前です
format ="Y-m-d"}
の代わりに
{handle_dateline time="$time" format="Y-m-d"}
はは、それはあなた自身のせいです
function handle_dateline($params, &$smarty) {}
$params が渡されましたたとえば、上記の例には 2 つの要素があります
extract($params);
echo date($format,$time);
$smarty Smarty オブジェクト自体は次のように記述できます。関数本体で $smarty のプロパティとメソッドにアクセスする必要があります
dateline はテンプレートで使用される名前です
{ dateline time="$time" format="Y-m-d"}
こんにちは、このように、
$smarty->register_function('dateline', 'handle_dateline')
は実行されません。関数を登録するだけで、テンプレート内で呼び出したときにのみ実行されます。この時点でパラメーターも渡されます。
パラメータは呼び出されたときにのみ渡されます。つまり、登録された関数とは何の関係もありません。では、登録関数は何に役立つのでしょうか? ?単にtplに値を表示するだけなのでしょうか?
登録の目的は、Smarty に彼を見つけてもらうことです。そうしないと、何か問題が発生します。