setCallbackFunction()

setCallbackFunction() – コールバック関数を設定する

Synopsis

require_once 'HTML/Template/Sigma.php';

mixed HTML_Template_Sigma::setCallbackFunction ( string $tplFunction , mixed $callback , bool $preserveArgs = = false )

Description

コールバック関数を設定します。Sigma のテンプレートには、関数コールを含めることができます。 つまり、テンプレートの作者は、func_h1("h1 に埋め込むもの") のように特別なプレースホルダをテンプレートに追加することができるのです。 Sigma はテンプレート内のこれらのプレースホルダをパースし、 それに対応するコールバック関数を定義することができます。 コールバックは、それを含むブロックが parse() されたときに自動的にコールされます。

これらのテンプレート関数の引数には、変数プレースホルダを含めて func_translate('Hello, {username}') のようにすることができます。 しかし、ブロックや別の関数コールは含められないことに注意しましょう。

コールバックを使用して、(表示周り以外の) ロジックをテンプレートに追加してはいけません。 大量のコールバックでロジックを実装することは、車輪の再発明になってしまいます。 その代わりに、XML/XSLT やネイティブの PHP スクリプト、 あるいはその他のテンプレートエンジンの使用を考慮しましょう。

スクリプト

<?php
function h_one($arg)
{     
    return 
'<h1>' $arg '</h1>';
}  
// ...  
$tpl = new HTML_Template_Sigma(' ... ');
// ...  
$tpl->setCallbackFunction('h1''h_one');
// ...
$tpl->show()
?>

テンプレート

...
func_h1('H1 Headline')
...

Parameter

string $tplFunction

テンプレートで使用する関数名。

mixed $callback

コールバック。call_user_func_array() で使用できる任意の形式。

boolean $preserveArgs

TRUE の場合は、関数コールの前に引数内の変数置換を行いません。

Return value

成功した場合に SIGMA_OK、失敗した場合にエラーオブジェクトを返します。

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応
SIGMA_INVALID_CALLBACK Callback does not exist $callback は既存の関数あるいはメソッドではありません スペルを調べます。また、メソッドコールバックを使用する場合はオブジェクトのインスタンスが作成されているかどうかを調べます

Note

This function can not be called statically.

"準備された" テンプレートをキャッシュするディレクトリを設定する (Previous) 現在のブロックの名前を設定する (Next)
Last updated: Sat, 19 Apr 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.