Cakephp PHP WEB開発

【Cakephp4】GETリクエストに値を任意にセットする方法

※本サイトはPR表記を含みます。

Cake4にて、GETリクエストの初期値を予めセットしておきたい、任意にセットしたい場合です。

Cake4: GETリクエストに値をセットする

if (empty($this->getRequest()->getQuery('hoge'))) {
    $queryParams = $this->getRequest()->getQueryParams();
    $queryParams['hoge'] = '新たに値をセットする';
    $this->setRequest($this->getRequest()->withQueryParams($queryParams));
}

GETクエリパラメータの hoge が存在しない場合は、getQueryParams()$queryParams 変数に代入し、任意の値を作成します。その後、withQueryParams()でリクエストオブジェクトを生成し、setRequest() でコントローラーオブジェクトを更新しています。

しかし、注意点としては、あくまでもリクエストオブジェクトを変更しているだけで、画面の操作などからクエリ文字列パラメーターの値を変更するわけではないということだと思います。

(内部でリクエストを操作するわけですから)あまり、利用するケースはないのかもですが、覚えておくと自由度は高まります。

-Cakephp, PHP, WEB開発
-