プレップ クラス
プレップクラスとは
プレップクラスは、Ziu 独自のLPVワークフローの1つの機能である「ビューテンプレートへの準備処理」を提供します。
URI ルーティングによりマッピングされ、アプリケーションフォルダ名の配下にあるプレップクラスが実行されます。
プレップクラスの役割として2つの機能(モジュール実行/コール実行)があります。
- ビューテンプレートへの橋渡しとしての処理 (モジュール実行)
LPVワークフローのモジュール処理によりロジッククラスの処理後、ビューテンプレートがレンダリングされる前に準備処理を行うことができます。
モジュール実行するメソッドは、ロジッククラスの実行メソッドと同名メソッドになります。 - ビューテンプレートでの切出しとしての処理 (コール実行)
レンダリングの計算処理を切出して、プレップクラスにまとめて管理することができます。
任意にコールしてメソッドを実行します。
プレップクラスの作成
クラス名/ファイル名については、ロジッククラスに連携します。
クラス名は、ロジッククラスに対してサフィックス「_Prep
」を付与します。
仮にロジッククラスが「Hello」の場合、プレップクラスは「Hello_Prep」というクラス名となります。
class Hello_Prep
{
/**
* モジュール実行するメソッド
*/
public function index()
{
$this->parems['name'] = 'Ziu';
}
/**
* コール実行するメソッド
*/
public function replace($str)
{
return str_replace('Hello', 'Hi,', $str);
}
}
同じくファイル名が「hello.logic.php」の場合、プレップクラスのファイル名は「hello.prep.php」となります。
ファイル名のサフィックス「.prep.php」
ロジッククラスとプレップクラスは、常に同階層に配置します。
hello.logic.php
hello.prep.php
又は
hello/index.logic.php
hello/index.prep.php
など
初期化メソッド
ロジッククラスと同様に初期化メソッド init()
を実行します。
ビューテンプレートからの実行
ビューテンプレートでは、プレップクラスは $prep
変数にバインドされます。
以下のようにビューテンプレート上で、プレップクラスのメソッドを実行します。
echo $prep->replace('Hello ' . $params['name']); // Hi, Ziu
LPVパラメータ
プレップクラスからビューテンプレートへデータを渡すことができます。
パラメータの指定方法
public function index()
{
$this->params['name'] = 'Ziu';
}
LPVパラメータの指定は、主にモジュール実行されるメソッドか又は、初期化メソッドで指定します。