プラグインの記述

プラグインは Smarty によってファイルシステムから自動的に読み込まれるか、 register_* API 関数のうちの1つを経由して動的に登録する事ができます。 また、それらは unregister_* API 関数を使う事によって未登録にする事ができます。

動的に登録されるプラグインについてはプラグイン関数の命名規約に従う必要はありません。

Smarty にバンドルされたいくらかのプラグインに関する場合と同様に、 プラグインが別のプラグインによって提供される機能に依存する場合は次の方法で必要とされるプラグインを読み込みます。


<?php
function smarty_function_yourPlugin(array $params, Smarty_Internal_Template $template)
{
  // load plugin depended upon
  $template->smarty->loadPlugin('smarty_shared_make_timestamp');
  // plugin code
}
?>

    

基本的に、現在評価中のテンプレートの Smarty_Internal_Template オブジェクトが、常に最後のパラメータとしてプラグインに渡されます。 ただし、例外が2つあります。