Markup

クラス: Peach_Markup_Html

定義: /Peach/Markup/Html.php

HTML の出力に特化したユーティリティクラスです.

このクラスに紐付いているグローバルな Helper オブジェクトを使って HTML のマークアップを行います.

メソッド

メソッド 詳細

static alias

line 330

static void alias([array $options = array()])

このクラスで定義されているメソッドを簡単に呼び出すためのエイリアスを定義します.

引数の配列では, キーにメソッド名, 値にそのメソッドのエイリアス (関数名) を指定してください. キーに使用することが出来る文字列 (メソッド名) は以下の通りです.

使用例を挙げます.

  1.  Peach_Markup_Html::alias(array("tag" => "t""comment" => "co"));
  2.  echo t("div")
  3.      ->append(co("TEST"))
  4.      ->append(t("h1")->append("Sample"))
  5.      ->append(t("p")->append("Hello World!"))
  6.      ->write();

このコードは以下の内容と等価です.

  1.  echo Peach_Markup_Html::tag("div")
  2.      ->append(Peach_Markup_Html::comment("TEST"))
  3.      ->append(Peach_Markup_Html::tag("h1")->append("Sample"))
  4.      ->append(Peach_Markup_Html::tag("p")->append("Hello World!"))
  5.      ->write();

いずれも以下の結果を出力します.

  1.  <div>
  2.      <!--TEST-->
  3.      <h1>Sample</h1>
  4.      <p>Hello world!</p>
  5.  </div>

引数を省略した場合は array("tag" => "tag") が指定されたものとして扱います. (Peach_Markup_Html::tag() のエイリアスとして関数 tag() が定義されます)

同じメソッドと別名の組み合わせで alias を複数回実行した場合, 二度目以降のものは無視されます.

Tags

  • throws : InvalidArgumentException 不適切なクラスメソッド名を指定した / 指定された関数名が既に存在していた / 関数名が不適切など
  • access : public

Parameters

array $options 定義するエイリアスの一覧. キーがメソッド, 値が新しく定義する関数名

static comment

line 152

static Peach_Markup_HelperObject comment([string|Peach_Markup_Component $contents = null], [string $prefix = ""], [string $suffix = ""])

指定された内容のコメントノードを作成します.

引数にノードを指定した場合, そのノードの内容をコメントアウトします.

第 2, 第 3 引数にコメントの接頭辞・接尾辞を含めることが出来ます.

Tags

  • access : public

Parameters

string|Peach_Markup_Component $contents コメントにしたいテキストまたはノード
string $prefix コメントの接頭辞
string $suffix コメントの接尾辞

static conditionalComment

line 174

static Peach_Markup_HelperObject conditionalComment(string $cond, [string|Peach_Markup_Component $contents = null])

IE 9 以前の Internet Explorer で採用されている条件付きコメントを生成します.

以下にサンプルを挙げます.

  1.  echo Peach_Markup_Html::conditionalComment("lt IE 7""He died on April 9, 2014.")->write();

このコードは次の文字列を出力します.

  1.  <!--[if lt IE 7]>He died on April 92014.<![endif]-->

第 2 引数を省略した場合は空の条件付きコメントを生成します.

Tags

  • return : 条件付きコメントを表現する HelperObject
  • access : public

Parameters

string $cond 条件文 ("lt IE 7" など)
string|Peach_Markup_Component $contents 条件付きコメントで囲みたいテキストまたはノード

static createSelectElement

line 227

static Peach_Markup_ContainerElement createSelectElement(string $current, array $candidates, [array $attr = array()])

HTML の select 要素を生成します.

第 1 引数にはデフォルトで選択されている値, 第 2 引数には選択肢を配列で指定します. キーがラベル, 値がそのラベルに割り当てられたデータとなります.

引数を二次元配列にすることで, 一次元目のキーを optgroup にすることが出来ます. 以下にサンプルを挙げます.

  1.  $candidates array(
  2.      "Fruit"   => array(
  3.          "Apple"  => 1,
  4.          "Orange" => 2,
  5.          "Pear"   => 3,
  6.          "Peach"  => 4,
  7.      ),
  8.      "Dessert" => array(
  9.          "Chocolate" => 5,
  10.          "Doughnut"  => 6,
  11.          "Ice cream" => 7,
  12.      ),
  13.      "Others" => 8,
  14.  );
  15.  $select Peach_Markup_Html::createSelectElement("6"$candidatesarray("class" => "sample""name" => "favorite"));

この要素を出力すると以下の結果が得られます.

  1.  <select class="sample" name="favorite">
  2.      <optgroup label="Fruit">
  3.          <option value="1">Apple</option>
  4.          <option value="2">Orange</option>
  5.          <option value="3">Pear</option>
  6.          <option value="4">Peach</option>
  7.      </optgroup>
  8.      <optgroup label="Dessert">
  9.          <option value="5">Chocolate</option>
  10.          <option value="6" selected>Doughnut</option>
  11.          <option value="7">Ice cream</option>
  12.      </optgroup>
  13.      <option value="8">Others</option>
  14.  </select>

Tags

  • return : HTML の select 要素
  • access : public

Parameters

string $current デフォルト値
array $candidates 選択肢の一覧
array $attr 追加で指定する属性 (class, id, style など)

static getBuilder

line 117

static Peach_Markup_DefaultBuilder getBuilder()

このクラスが使用するグローバル Helper に紐付いている DefaultBuilder オブジェクトを返します.

返り値の Builder に対する変更は, グローバル Helper にも影響します.

Tags

  • access : public

static getHelper

line 103

static Peach_Markup_Helper getHelper()

このクラスが使用するグローバル Helper を返します.

もしも init() が一度も実行されていない場合は, HTML 形式のマークアップを行う Helper オブジェクトをグローバル Helper として設定します.

Tags

  • return : このクラスが使用するグローバル Helper
  • access : public

static init

line 90

static void init([bool $isXHTML = false])

このクラスが使用するグローバル Helper を初期化します.

HTML ではなく XHTML 形式でタグ出力したい場合は, 引数に true を指定してください.

Tags

  • access : public

Parameters

bool $isXHTML XHTML 形式で出力する場合は true

static select

line 279

static Peach_Markup_HelperObject select(string $current, array $candidates, [array $attr = array()])

HTML の select 要素を生成し, 結果を HelperObject として返します.

引数および処理内容は createSelectElement() と全く同じですが, 生成された要素を HelperObject でラップするところが異なります.

Tags

  • see : Peach_Markup_Html::createSelectElement
  • access : public

Parameters

string $current デフォルト値
array $candidates 選択肢の一覧
array $attr 追加で指定する属性 (class, id, style など)

static tag

line 136

static Peach_Markup_HelperObject tag([string $name = null], [array $attr = array()])

指定された文字列を要素名とする要素を作成します.

生成された要素をラップする HelperObject を返します. 第 2 引数を指定することで, 生成された要素に属性を付与することが出来ます.

その他の使い方として, 以下のことが出来ます.

  • 引数に null を指定したか, または引数を省略した場合, 空の NodeList をラップする HelperObject を返します.
  • 引数に任意の Node を指定した場合, 引数のノードをラップする HelperObject を返します.

Tags

  • access : public

Parameters

string $name 要素名
array $attr 追加で指定する属性の一覧 (キーが属性名, 値が属性値)