magic-core
[ class tree: magic-core ] [ index: magic-core ] [ all elements ]

Class: GenerateUtil

Source Location: /core/util/GenerateUtil.php

Class Overview


簡易テンプレートエンジンです.


Author(s):

  • T.Okumura

Version:

  • 1.0.0

Methods



Class Details

[line 58]
簡易テンプレートエンジンです.

デザインとロジックの分離を簡易的に提供します。
絶対にHTMLファイルにロジック(foreachなど)を書きたくない場合に使用してください。
使い方は少し難しいですが、原理は単純です。
データベースから取得した値の配列が、HttpResponseに、 'nameRow'というキーで格納されていると仮定します。
内容は単純に、
Array
(
[name] => リンゴ
[name] => ミカン
[name] => バナナ
)
です。
例えば、このようなテンプレートファイルを準備します。
<tr>
<td>${name}</td>
</tr>
HTMLファイル側はこのようになります。
<table>
<tr>名前</tr>
<?=$template>
</table>
ViewクラスのView::preRender()ファンクションで、
$contents = file_get_contents(テンプレートファイル);
foreach ($this->response->get('nameRow') as $row) {
$template .= GenerateUtil::staticCreate($contents, $row);
}
$this->response->set('template', $template);
のように書く事で、HTML側には<tr>部分が3行生成された文字列が返されます。 出力結果は以下のようになります。
----------
| 名前 |
----------
| リンゴ |
----------
| ミカン |
----------
| バナナ |
----------
配列のキー名が、テンプレートファイルの${xxx}に対応している事に注意してください。
また、レスポンスにセットしたキー名が、HTML側では変数名になる事にも注意してください。




Tags:

author:  T.Okumura
version:  1.0.0
final:  


[ Top ]


Class Methods


static method dynamicCreate [line 85]

static string dynamicCreate( string $path, $parameters)

テンプレートの対象文字列を置換します.

GenerateUtil::staticCreate()との違いは、ファイルの内容が渡されるか、 ファイルのパスが渡されるかだけです。




Tags:

return:  置換結果の文字列全体
access:  public


Parameters:

string   $path   ファイルのパス
array   $parameters   置換対象文字列の配列

[ Top ]

static method staticCreate [line 100]

static string staticCreate( string $contents, $parameters)

テンプレートの対象文字列を置換します.

GenerateUtil::dynamicCreate()との違いは、ファイルの内容が渡されるか、 ファイルのパスが渡されるかだけです。




Tags:

return:  置換結果の文字列全体
access:  public


Parameters:

string   $contents   置換対象のファイル内容
array   $parameters   置換対象文字列の配列

[ Top ]


Documentation generated on Fri, 16 Dec 2011 11:13:48 +0100 by phpDocumentor 1.4.3