ApiEngine
in package
implements
ViewInterface
Table of Contents
Interfaces
Properties
- $_Corrector : ACMS_Corrector
- $blockData : array<string|int, mixed>
- $blockParent : array<string, string>
- ブロック名 → 直近の親ブロック名 のマップ
- $childData : array<string|int, mixed>
- $json : array<string|int, mixed>
- $stackData : array<string|int, mixed>
Methods
- add() : false|void
- ブロック・変数を追加する
- get() : string
- テンプレートを文字列で取得する
- init() : self
- テンプレートの初期化
- render() : string
- テンプレートを組み立て文字列で取得する
- isVectorArray() : bool
- mergeLevel1() : array<string|int, mixed>
Properties
$_Corrector
protected
ACMS_Corrector
$_Corrector
= null
$blockData
protected
array<string|int, mixed>
$blockData
= []
$blockParent
ブロック名 → 直近の親ブロック名 のマップ
protected
array<string, string>
$blockParent
= []
count($blocks) >= 2 の add() 呼び出しのたびに、祖先関係を記憶する。 これにより、後続の count($blocks) === 1 のショートカット呼び出し時にも 自動的に親ブロックへ向けて stash され、3階層以上のネストが失われない。
$childData
protected
array<string|int, mixed>
$childData
= []
$json
protected
array<string|int, mixed>
$json
= []
$stackData
protected
array<string|int, mixed>
$stackData
= []
Methods
add()
ブロック・変数を追加する
public
add([mixed $blocks = [] ][, mixed $vars = [] ]) : false|void
Parameters
- $blocks : mixed = []
- $vars : mixed = []
Tags
Return values
false|voidget()
テンプレートを文字列で取得する
public
get() : string
Return values
stringinit()
テンプレートの初期化
public
init(string $txt[, ACMS_Corrector $Corrector = null ]) : self
Parameters
- $txt : string
- $Corrector : ACMS_Corrector = null
Return values
selfrender()
テンプレートを組み立て文字列で取得する
public
render(mixed $vars) : string
add() で積み上げた blockData と引数 $vars を後勝ちでマージしてから JSON 化する。 これにより add()→render() の併用時に add() のデータが失われる問題を回避し、 通常エンジン (Engine::render()) と同じセマンティクス (add したデータを保持) に揃える。 blockData 自体は書き換えない (副作用なし)。
Parameters
- $vars : mixed
Return values
stringisVectorArray()
private
isVectorArray(array<string|int, mixed> $arr) : bool
Parameters
- $arr : array<string|int, mixed>
Return values
boolmergeLevel1()
private
mergeLevel1(array<string|int, mixed> $arr1, array<string|int, mixed> $arr2) : array<string|int, mixed>
Parameters
- $arr1 : array<string|int, mixed>
- $arr2 : array<string|int, mixed>