register_resource() (Smarty クラスメソッド) - PHPプロ!マニュアル

Smartyマニュアル

Smarty クラスメソッド - register_resource()

register_resource()

register_resource() -- リソースプラグインを動的に登録します。

説明

void register_resource ( string name, array resource_funcs)

リソースプラグイン を動的に登録します。パラメータとして、 リソース名および実行する PHP ユーザ定義関数の名前を格納した配列を渡します。 テンプレートを取得するための関数の定義の仕方は、 テンプレートリソース の項を参照してください。

テクニカルノート: リソース名の長さは少なくとも2文字以上である必要があります。 1文字のリソース名は無視され、$smarty->display('c:/path/to/index.tpl'); のようにファイルパスの一部として使用されます。

  • PHP関数名が含まれる配列 resource_funcs には4つまたは5つの要素が必要です。

  • 要素が4つの場合は、sourcetimestampsecure および trusted がリソースの関数としてそれぞれコールバックされます。

  • 要素が5つの場合は、最初の要素はリソースを実装するオブジェクトの参照または オブジェクトのクラス名またはクラスである必要があり、続く4つの要素は sourcetimestampsecure および trusted を実装したメソッド名である必要があります。

例 13-1. register_resource()

<?php
$smarty
->register_resource('db', array(
                                
'db_get_template',
                                
'db_get_timestamp',
                                
'db_get_secure',
                                
'db_get_trusted')
                                );
?>

unregister_resource() および テンプレートリソース も参照してください。



Pick Up Q&A

Q
array_mergeの再帰処理の動作について
 このエントリーをはてなブックマークに追加 
A
>1個になったとき$leftを返しますが、 >このとき、最終的な$leftはnullになるかと思います。 いいえ、最後は「渡された配列をそのまま」返します。要素が2以上あるときとの違いは(並べ替えずに戻るので...

>>続きを読む

再帰関数は最初の内は混乱しますが、非常に上手く使える場面もいずれ出てきます。これを機会に学んでいけるといいですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)