Ethna_Controller の大まかな流れをメモ。
- バージョンは、2.3.2
- トリガーは、GATEWAY_WWW
// 実行前フィルタ
Ethna_Plugin_Filter::preFilter();
// トリガー
Ethna_Controller::_trigger_WWW();
// アクション名取得
Ethna_Controller::_getActionName();
// フォームから要求されたアクション名を取得する
Ethna_Controller::_getActionName_Form();
// UrlHandler を取得してアクション振り分け
Ethna_Controller::getUrlHandler();
// アクション実行前フィルタ
Ethna_Plugin_Filter::preActionFilter();
// バックエンド処理実行
Ethna_Backend::perform();
// アクション実行前の認証処理
Ethna_ActionClass::authenticate();
// アクション実行前の処理(フォーム値チェック等)
Ethna_ActionClass::prepare();
// アクション実行
Ethna_ActionClass::perform();
// アクション実行後フィルタ
Ethna_Plugin_Filter::postActionFilter();
// 画面表示前処理
Ethna_ViewClass::preforward();
// 画面を出力
Ethna_ViewClass::forward();
// 実行後フィルタ
Ethna_Plugin_Filter::postFilter();
メモ
- 実行前フィルタはアクションを取得していないので、アクションに依存しない処理(初期化等)をする。
- セッションはバックエンド処理の手前で取得している?アクション実行前フィルタで、セッション値をごにょごにょすることはできないかも。試してないから予想。
- アクションに特化しない共通の処理は Plugin_Filter を作って、アクション実行前後の処理に差し込む。
- リダイレクトするなら画面表示までにしておく。アクション実行の結果からアクション実行後フィルタでリダイレクトする。
- 実行後フィルタは表示に影響しない処理を行う。
- AppID_ActionClass や AppID_ViewClass は基本継承して、親クラスで共通処理をしてしまうと楽。
- UrlHandler のアクション設定は EthnaUrlHandler::requestToAction() をチェックすればよい。
トラックバック一覧
この記事にはトラックバックがついていません。