CAKEPHPでGETリクエストにアクセスするにはどうすればよいですか?
URLに変数を渡した場合
http://samplesite.com/page?key1=value1&key2=value2
$ _GETまたは$ this-> paramsを使用してコントローラーの値を取得する必要がありますか? CAKEPHPの標準は何ですか?
Cakeでこれを行う標準的な方法は、$this->params
を使用することです。
$value1 = $this->params['url']['key1'];
$value2 = $this->params['url']['key2'];
CakePHPの本によれば、「$ this-> paramsの最も一般的な用途は、GETまたはPOSTオペレーションを介してコントローラーに渡された情報にアクセスすることです。」
こちら を参照してください。
CakePHP 2.0では、これは変更されたようです。ドキュメントによると、$this->request->query
または$this->request['url']
にアクセスできます。
// url is /posts/index?page=1&sort=title
$this->request->query['page'];
// You can also access it via array access
$this->request['url']['page'];
http://book.cakephp.org/2.0/en/controllers/request-response.html
そして、これでCakePHP 3ができました。ビューで$this->request->query('search')
を引き続き使用できます。
そして、CakePHP 3.5 +では$this->request->getQuery('search')
を使用できます
http://book.cakephp.org/3.0/en/controllers/request-response.html#request-parameters
これは、URLパラメータを取得するためにのみ実行できます。
$this->request->pass; //Array of all parameters in URL
CakePHPのドキュメントによると Query String Parameters
// URL is /posts/index?page=1&sort=title
$page = $this->request->getQuery('page');
// Prior to 3.4.0
$page = $this->request->query('page');
URLからすべてのキーにアクセスするには、使用する必要があります
$data = $this->request->getQuery();
echo "<pre>";print_r($data ); die('MMS');
出力
<pre>Array
(
[key1] => value
[key2] => value
...........
)