導入

導入 -- テンプレートの作成およびパース

テンプレート

テンプレートの内容は、テキスト・ラベルつきブロック そしてプレースホルダから構成されています。ブロックの中身は再利用でき、 プレースホルダに異なる値を代入して何度もパースすることができます。

プレースホルダ

プレースホルダはテンプレートの中で定義できるもので、 その中身は PHP コードから設定します。 PHP code with content. バージョン (1.1.x) までのプレースホルダの書式は下記のようになります。

{[0-9A-Za-z_-]+}

バージョン 1.2.x 以降は、ドットも使用することができます。

{[\.0-9A-Za-z_-]+}

この意味は、 プレースホルダの名前は英大文字および英小文字、 下線とハイフンからなることを意味します。 名前は、波括弧で囲んだ中で空白をあけずに指定しなければなりません。 有効な名前は例えば下記のようになります。

{Placeholder}
{place2_holder}
{PLACEHOLDER1}
{Place-Holder}

バージョン 1.2.x 以降では、これも有効です。

{Place.Holder}

無効な名前は例えば下記のようになります。

{ Placeholder 3 } (空白が含まれている)
{place*holder} (使用できない文字が含まれている)

ブロック

ブロックの書式は次のようになります。

<!-- BEGIN [0-9A-Za-z_-]+ -->
... ブロックの内容 ...
<!-- END [0-9A-Za-z_-]+ -->

バージョン 1.2.x 以降では、ブロック定義にドットも使用することができます。

<!-- BEGIN [\.0-9A-Za-z_-]+ -->
... ブロックの内容 ...
<!-- END [\.0-9A-Za-z_-]+ -->

ブロック名のルールはプレースホルダと同様です。 プレースホルダとは対照的に、 ブロックのマークアップでは空白を入れなければなりません。

ブロックの入れ子(ネスティング)は許されますが、解析に注意深くなってください。 最も深い内部のブロックを最初にセットし解析しなければならず、 次に、内側から外側に着手し、解析するようにしなければなりません。

IT では、全体のテンプレートファイルはそれ自体が "__global__" と呼ばれるメタブロックの中で、 入れ子になっています。ほとんどのブロック関連の関数は、 デフォルトのブロック名としてこれを使用します。 ブロックに関連するほとんどの機能は、 デフォルトとしてこのブロック名を使用します。

使用例