[FuelPHP] メソッドがPOSTかGETかを判定する方法

post_index(),get_index()などでルーティングできない設計の場合。

従来の方法

本来は以下のように接頭辞にPOST/GETを指定することでルーティングすることができる。
class Controller_Example extends Controller {
  public function get_index() {
      // HTTPメソッドがGETである場合に呼び出される
  }

public function post_index() {
// HTTP メソッドが POST である場合に呼び出される
}
}

action_index()内での判定方法

同一アクション内でPOST/GETを判定したい場合は以下のようにInput::method()を使用する。
class Controller_Example extends Controller {
  public function action_index() {
      // GETの場合
      if( Input::method() == 'GET' ) {

  }
  // POSTの場合
  if( Input::method() == 'POST' ) {

  }

}
}

Input クラスのmethod()は HTTP メソッドを返却する。(GET, POST, DELETE なんかが取れる)

method($default = 'GET')
Static Yes
Parameters
Param Default Description
$default
'GET'
Default HTTP method.
Returns string
Example
Input::method(); // "GET"
引用: Input - Classes - FuelPHP Documentation