Overview

Namespaces

  • Peach
    • DF
    • DT
    • Http
      • Body
      • Header
    • Markup
    • Util

Classes

  • AbstractHelper
  • AbstractRenderer
  • BaseHelper
  • BreakControlWrapper
  • Builder
  • Code
  • Comment
  • ContainerElement
  • Context
  • DebugBuilder
  • DebugContext
  • DefaultBreakControl
  • DefaultBuilder
  • DefaultContext
  • Element
  • EmptyElement
  • HelperObject
  • HtmlHelper
  • Indent
  • MinimalBreakControl
  • NameBreakControl
  • NameValidator
  • NodeList
  • None
  • SgmlRenderer
  • Text
  • XmlRenderer

Interfaces

  • BreakControl
  • Component
  • Container
  • Helper
  • Node
  • Renderer
  • Overview
  • Namespace
  • Class

Namespace Peach\Markup

Classes summary
AbstractHelper

HTML や RSS など, 特定のマークアップ言語に特化した Helper クラスを新たに実装する際に利用するスケルトン実装です.

AbstractRenderer SGML や XML をマークアップするための必要最低限の書式化ルールを定義した抽象基底クラスです.
BaseHelper

汎用的な Helper オブジェクトです. コンストラクタ引数に指定された Builder および空要素タグ一覧をもとにノードの生成・出力を行います.

BreakControlWrapper

既存の BreakControl の振る舞いを拡張するためのラッパークラスです. このクラスは Decorator パターンで設計されています. このクラスを継承して新しい BreakControl クラスを作り, breaks() をオーバーライドして利用してください.

Builder 与えられた Component を加工して HTML コードなどに変換するためのクラスです.
Code

整形済のテキストデータをあらわすノードです. 例えば以下のような箇所で使用されることを想定しています.

Comment

マークアップ言語のコメントをあらわすクラスです. 単なるコメントとしての用途だけでなく, 任意のノードをコメントアウトすることも出来ます.

ContainerElement

内部に子ノードを含めることができる要素です. 子ノードが存在しない場合は "" のように書式化されます.

Context

各ノードを変換する処理を担当するクラスです. このクラスは Visitor パターンにより設計されています (Visitor クラスに相当します). Peach\Markup\Builder クラスと連携して以下のように動作します.

DebugBuilder

デバッグ用の Builder です. この Builder は build() 実行時に自動的にデバッグ文字列の echo を行います. (自動 echo を無効化することも出来ます)

DebugContext

デバッグのために使用される Context です. この Context は, handle メソッドを実行した時に自動で echo を行います. 出力内容は, ノードツリーの構造を可視化した文字列となります.

DefaultBreakControl デフォルトの改行ルールです.
DefaultBuilder

HTML や XML などを出力する際に使う, デフォルトの Builder です. このクラスは, 以下の条件をカスタマイズすることが出来ます.

DefaultContext 与えられたノードを HTML や XML などの文字列に変換するクラスです.
Element マークアップ言語の要素を表現するクラスです.
EmptyElement

空要素をあらわすノードです. この要素は通常 "" もしくは "" のようにレンダリングされます. HTML の IMG 要素などは, このクラスを使って表現します.

HelperObject

既存の Component をラップして, ノードツリーの構築を簡略化・省力化するための糖衣構文を備えたクラスです. 主に (MVC フレームワークで言うところの) View の範囲で使用されることを想定しています.

HtmlHelper

HTML の出力に特化した Helper です. XML 宣言, DOCTYPE 宣言, select 要素やコメントの出力機能などを備えています.

Indent コードを整形する際のインデント情報をあらわすクラスです.
MinimalBreakControl

一切の改行をしない BreakControl です. この BreakControl を使ってノードの出力を行った場合, 出力結果には改行文字 CR または LF が出現せず, 1 行のコードが生成されます.

NameBreakControl 開始タグの名前をもとに, 改行するかどうかを判定する BreakControl です.
NameValidator

XML の仕様書で定義されている以下の EBNF に基づいて, 要素名や属性名などのバリデーションを行います.

NodeList ノードの配列をあらわすクラスです.
None 「何もない」ことをあらわす Component です. (Null Object パターン)
SgmlRenderer SGML 形式の文書を書式化するための Formatter です.
Text

要素内に含まれるテキストをあらわすノードです. このノードに '&' などの特殊文字が含まれていた場合, レンダリングされる際に適切な文字参照に自動変換されます.

XmlRenderer XML 形式の文書を書式化するための Renderer です.
Interfaces summary
BreakControl 書式化の際の改行ルールをあらわすインタフェースです.
Component

Peach\Markup\Builder で処理可能なパーツであることを示すインタフェースです. このインタフェースを実装したオブジェクトは Builder::build() メソッドの引数に指定して HTML コードなどに加工することが出来ます.

Container

ノードを内部に含めることが出来るインタフェースです. このインタフェースを実装したクラスに Peach\Markup\NodeList や Peach\Markup\ContainerElement などがあります.

Helper

ノードの生成を簡略化するための API を備えたヘルパーです. このインタフェースを使用することで, ノードの構築およびマークアップ出力の手間を省力化することができます.

Node

Component の中でも特にマークアップ言語を構成するパーツであることを示すマーカーインタフェースです. 具体的には以下のようなクラスが該当します.

Renderer マークアップ言語の各種タグの出力方法を定義するインタフェースです.
PEACH2 API documentation generated by ApiGen