フィルタ関数モジュール(バリデート、コンバート)

バリデートやコンバートといったフィルタ機能は通常フォームやモデルの定められたところでのみ使用するものですが、モジュールFilterはそれを任意のコンテキストで使用するためのモジュールです。

メソッド

convert(array $info, string $subject, $ref_values = array())
$subjectで与える値に対して$infoで指定したルールに則って変換処理を行います。 $infoが変換のルールを定めたフィルタ配列$subjectが変換元の値になります。
複数の変数から変換する場合$infoで指定する変換関数の引数$paramsの要素も複数となりますが、そのキーと対応するように 配列$ref_valuesでキーとそれに代入する値の組を指定します。たとえば$params
$params = array(
	'year'		=> $year,
	'month'		=> $month,
	'day'		=> $day',
);
となっており、$yearに「2015」を、$monthに「7」を、$dayに「1」を代入したい場合
$ref_values = array(
	'year'		=> 2015,
	'month'		=> 7,
	'day'		=> 10',
);
としてconvert()を実行します。
validate(array $info, string $subject, $ref_values = array())
$subjectで与える値に対して$infoで指定したルールに則ってバリデーションを行います。 $infoがバリデーションのルールを定めたフィルタ配列$subjectがバリデーションを行う値になります。
複数の変数についてバリデーションを行う場合$infoで指定するバリデーション関数の引数$paramsの要素も複数となりますが、そのキーと対応するように 配列$ref_valuesでキーとそれに代入する値の組を指定します。$ref_valuesの指定例は上記のconvert()を参照してください。

使用例

データベースから日付型のカラム「imported」から取得した値を指定した形式に変換する場合

$info = array(
	'func'      => 'cz_date',
	'params'    => array('format' => 'Y年n月j日'),
);
$imported = $this->newModule('filter')->convert($info, $this->newModel('item')->getValue('imported'));

前後のページ

ページトップへ