BLOGスタッフブログ

[CakePHP4] クエリ文字列を取得する方法

今回はブログ等のURLでよく見かける「/posts/index?page=1&sort=mounth」のような
クエリ文字列(URLに含まれている情報)を取得する方法をご紹介したいと思います。

Controllerを作成する

まず、src/Controller/の中にTestController.phpを作成します。
次に、クエリ文字列を取得するために、getQuery() メソッドを記述します。

<?php
  namespace AppController;
  class TestController extends AppController{
	function index(){
	    $page = $this->request->getQuery('page');
	    echo 'クエリ文字列'.$page;
	    return;
	}
  }

動作確認

ブラウザを開き、http://ドメイン名/testを入力しアクセスします。
次に、URLをhttp://ドメイン名/test?page=77pageと書き換え、リロードを行います。
下記のようにURLから取得したクエリ文字列が表示されていれば成功です。

クエリ文字列は77page

クエリ文字列以外にも、getParam()を使えばcontroller名やaction名も取得することが可能です。

 // 現在使用しているcontroller名を取得
 $controller=$this->request->getParam('controller');
 // 現在使用しているaction名を取得
 $action=$this->request->getParam('action');

いかがだったでしょうか?

次回もCakePHP4に関する記事を投稿しますので、お楽しみに。

高木 祐玖が書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します