リクエストの種類(POST,GET)によって、アクションの動作するメソッドを切り分けるAdvertisementgetRequestMethods, getDefaultView, Execute
リクエストの種類がGET,POSTのどちらかによって処理を振り分けたい場合の方式が、Mojaviではあらかじめ用意されている。複数のアクションや複数のメソッド、条件分岐を作成する必要はない。
主な利用用途は「初期画面表示(GET)」→「処理(POST)」というフローの画面遷移を簡単に作ること。 用途によって、動作を以下の4パターンからどれでも利用できる。
デフォルトの動作デフォルトでは、GET,POST共にExecuteメソッドが実行される。期待する動きがデフォルトの動作でよい場合、アクションクラスにはExecuteメソッドのみが定義されていればよい。 MethodSwitchAction.class.php
<?php
class MethodSwitchAction extends Action
{
function Execute (&$controller, &$request, &$user)
{
return VIEW_SUCCESS;
}
?>
条件分岐次のようにアクションクラス内のメソッドを定義する。
MethodSwitchAction.class.php
<?php
class MethodSwitchAction extends Action
{
function getDefaultView (&$controller, &$request, &$user)
{
print "get!";
return VIEW_SUCCESS;
}
function Execute (&$controller, &$request, &$user)
{
print "post!";
return VIEW_SUCCESS;
}
function getRequestMethods ()
{
return REQ_POST;
}
?>
この場合、getでアクセスしたときはgetDefaultViewメソッドが実行され、postでアクセスしたときはExecuteメソッドが実行される。他のパターンの処理をさせたい場合、getRequestMethods()メソッドからの返却値を以下のようにする。
Advertisement |
ショートカット・634・このカテゴリのトップページに戻る ・634labs UIコレクションギャラリー サイト検索Y!ログール |