リクエスト値の取得 | Controller & Action

GET, POST, URLパラメータ(ルーティング設定を参照)の値をリクエストオブジェクトから取得することができます。コントローラ(アクション)内ではリクエストオブジェクトに $this->request でアクセスできます。
public function myAction()
{
  $var1 = $this->request->fetchGetValue("name");   // $_GET["name"]
  $var2 = $this->request->fetchPostValue("name");  // $_POST["name"]
  $var3 = $this->request->fetchParameterValue("p1");
}
キーがあって値がない時(例: ?name=&age= )、通常は空文字列になりますが、Sabelではnullになります。値が空なのかキー自体がないのかは、下記のメソッドで知ることができます。
public function myAction()
{
  if ($this->request->isGetSet("name")) {
    // キーはある
  }
  
  if ($this->request->isPostSet("name")) {
    // キーはある
  }
}
fetchGetValue()やfetchPostValue()は数回書くだけでも面倒なので(エディタに補完があったとしても)、その辺をなんとかしてくれるこちらのアドオンを使用するといいかもしれません。

なお、それぞれの値を配列で受け取ることも可能です。配列で受け取った場合でも、空の値は空文字列ではなくnullになります。
public function myAction()
{
  $get_vals   = $this->request->fetchGetValues();
  $post_vals  = $this->request->fetchPostValues();
  $uri_params = $this->request->fetchParameterValues();
}

アップロードファイルの取得

アップロードされたファイルを取得するにはgetFile()、もしくはgetFiles()を使用してください。
public function myAction()
{
  $file = $this->request->getFile("file");  // $_FILES["file"]
  
  if ($file !== null && !$file->isEmpty()) {
    $name = $file->name;  // $_FILES["file"]["name"]
    $type = $file->type;  // $_FILES["file"]["type"]
    $path = $file->path;  // $_FILES["file"]["tmp_name"]
    $size = $file->size;  // $_FILES["file"]["size"]
    
    $data = file_get_contents($path);
  } else {
    // not uploaded.
  }
}
public function myAction()
{
  foreach ($this->request->getFiles() as $inputName => $file) {
    if (!$file->isEmpty()) {
      $data = $file->getContent();
    } else {
      // not uploaded.
    }
  }
}
ファイルオブジェクトは __toString()メソッド を実装しています。文字列表現はファイルデータとなります。