web-dev-qa-db-ja.com

CAKEPHPでGETリクエストにアクセスするにはどうすればよいですか?

CAKEPHPでGETリクエストにアクセスするにはどうすればよいですか?

URLに変数を渡した場合

http://samplesite.com/page?key1=value1&key2=value2

$ _GETまたは$ this-> paramsを使用してコントローラーの値を取得する必要がありますか? CAKEPHPの標準は何ですか?

19
AnNaMaLaI

Cakeでこれを行う標準的な方法は、$this->paramsを使用することです。

$value1 = $this->params['url']['key1'];
$value2 = $this->params['url']['key2'];

CakePHPの本によれば、「$ this-> paramsの最も一般的な用途は、GETまたはPOSTオペレーションを介してコントローラーに渡された情報にアクセスすることです。」

こちら を参照してください。

22
declan

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

24
Code Commander

そして、これで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

8
Melvin

これは、URLパラメータを取得するためにのみ実行できます。

$this->request->pass;  //Array of all parameters in URL
0
bikash.bilz

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
    ...........
)
0
Mannu saraswat