3.5.2.4 パラメータ属性($params)

コントローラパラメータは、CakePHPコントローラ内で$this->paramsとして利用できます。この変数で、現在のリクエストに関する情報にアクセスできます。$this->paramsの使い方としては、POSTやGET操作でコントローラに渡された情報へのアクセスにいちばんよく使われます。

3.5.2.4.1 form

$this->params['form']

$_FILES 内の情報も含めた、すべてのフォームからのすべてのPOSTデータがここに入ります。

3.5.2.4.2 admin

$this->params['admin']

現在のアクションを admin ルーティングを通して実行する場合、1 をセットします。

3.5.2.4.3 bare

$this->params['bare']

現在のlayoutが空なら1、そうでなければ0が入ります。

3.5.2.4.4 isAjax

$this->params['ajax']

現在のリクエストが Ajax によるものなら1、そうでなければ0が入ります。この変数は、コントローラで RequestHandler コンポーネントが使用されている場合のみ、設定されます。

3.5.2.4.5 controller

$this->params['controller']

リクエストを扱っている現在のコントローラ名が入ります。例えば、 /posts/view/1 がリクエストされた場合、 $this->params['controller'] は"posts"になります。

3.5.2.4.6 action

$this->params['action']

リクエストを扱っている現在のアクション名が入ります。例えば、 /posts/view/1 がリクエストされた場合、 $this->params['action'] には"view"が入ります。

3.5.2.4.7 pass

$this->params['pass']
  1. $this->params['pass']

現在のリクエストで渡された、GETクエリの文字列が入ります。例えば、/posts/view/?var1=3&var2=4がリクエストされた場合、$this->params['pass']は"?var1=3&var2=4"になります。

3.5.2.4.8 url

$this->params['url']
  1. $this->params['url']

リクエストされた現在のURLが、GET変数のキー-値のペアと共に入ります。例えば、/posts/view/?var1=3&var2=4というURLで呼ばれた場合、$this->params['url']の中身はこうなります。:

[url] => Array
(
    [url] => posts/view
    [var1] => 3
    [var2] => 4
)
  1. [url] => Array
  2. (
  3. [url] => posts/view
  4. [var1] => 3
  5. [var2] => 4
  6. )

3.5.2.4.9 data

$this->data
  1. $this->data

は、FormHelperのフォームからコントローラに送られた、POSTデータを扱うのに用いられます。

<?php

// フォーム要素を作るのにFormHelperが使われています。:

$form->text('User.first_name');

// 表示されると次のようになります。:

<input name="data[User][first_name]" value="" type="text" />

// フォームがコントローラにPOSTで送信されると、
// データは、$this->dataの中に入ります。

//送信されたfirst nameはここにあります。:
$this->data['User']['first_name'];

?>
  1. <?php
  2. // フォーム要素を作るのにFormHelperが使われています。:
  3. $form->text('User.first_name');
  4. // 表示されると次のようになります。:
  5. <input name="data[User][first_name]" value="" type="text" />
  6. // フォームがコントローラにPOSTで送信されると、
  7. // データは、$this->dataの中に入ります。
  8. //送信されたfirst nameはここにあります。:
  9. $this->data['User']['first_name'];
  10. ?>

3.5.2.4.10 prefix

$this->params['prefix']

ルーティングのプリフィックスをセットします。たとえばこの属性はリクエストに文字列 "admin"を含む場合 /admin/posts/someaction にルーティングします。

3.5.2.4.11 named

$this->params['named']

Stores any named parameters in the url query string in the form /key:value/. For example, if the URL /posts/view/var1:3/var2:4 was requested, $this->params['named'] would be an array containing:

[named] => Array
(
    [var1] => 3
    [var2] => 4
)