クラス変数に自動設定されたリクエストパラメータに対して半角への変換や余分な空白の除去といった処理を行う場合は、コントローラクラスに「prepareDefault()」や「prepareInput()」のような名前のメソッドを定義しておくと、アクションメソッドの実行前に自動的に呼び出されるようになります。
以下のコードでは、executeDefault()が実行される前にまずprepareDefault()が実行され、続いてexecuteDefault()が実行されます。
class SimpleController extends Controller
{
var $name;
var $email;
function init()
{
$this->name = "";
$this->email = "";
}
function prepareDefault()
{
// 前後の空白文字を除去
$this->name = ltrim(rtrim($this->name));
// 半角英数字に変換
$this->email = mb_convert_kana($this->email, "a");
}
function executeDefault()
{
}
}
prepareで始まるメソッドは、対応するアクションメソッドが呼び出されない場合は実行されません。