リソースプラグイン
リソースプラグインは、テンプレートソースやPHPスクリプトのコンポーネントを Smarty に提供する一般的な方法と意図されています (例: データベース, LDAP, 共有メモリ, ソケット等)。
各種リソースのために4つの関数を登録する必要があります。 これらの関数の最初のパラメータには要求されたリソースが渡され、 最後のパラメータには Smarty のオブジェクトが渡されます。 残りのパラメータは関数によって異なります。
bool smarty_resource_name_source
(string $rsrc_name, string &$source, object &$smarty)
bool smarty_resource_name_timestamp
(string $rsrc_name, int &$timestamp, object &$smarty)
bool smarty_resource_name_secure
(string $rsrc_name, object &$smarty)
bool smarty_resource_name_trusted
(string $rsrc_name, object &$smarty)
1つめの関数 source() ではリソースを取得します。 第2パラメータ $source は参照で渡され、ここに結果が格納されます。 戻り値は、リソースの取得に成功すれば TRUE、 それ以外は FALSE となります。
2つめの関数 timestamp() は、 要求されたリソースが最後に修正された時間(UNIXタイムスタンプ)を取得します。 第2パラメータ $timestamp は参照で渡され、 ここにタイムスタンプが格納されます。タイムスタンプが取得できれば TRUE、それ以外は FALSE を返します。
3つめの関数 secure() は、 要求されたリソースがセキュアであるかどうかに応じて TRUE 又は FALSE を返します。 この関数はテンプレートリソースのためにだけ用いられますが、定義する必要があります。
4つめの関数 trusted() は、 要求されたリソースが信用できるかどうかに応じて TRUE 又は FALSE を返します。 この関数を使用するのは、 {include_php} タグあるいは {insert} タグで src 属性によって要求された PHP スクリプトコンポーネントのみです。 しかし、テンプレートリソースであっても定義する必要があります。
register_resource() および unregister_resource() も参照してください。