やったこと

webサービスを作るときに考えたことを垂れ流します

【CakePHP3】コントローラー内でURLやドメインを取得する!

CakePHP3のControllerの中で、ドメインやURLを取得する方法です。

以下「http://hogege.com/testpage/」というページ内で処理を行った例です。

use Cake\Routing\Router;

class TestpageController extends AppController
{
    public function display()
    {
      //★ http://hogege.com/testpage が出力される
      $url = Router::url(NULL,true);
      debug($url);


      //★ /hogege.com/testpage が出力される
      $url = Router::url(NULL,false);
      debug($url);

      //★ http://hogege.com/ が出力される
      $url = Router::url('/', true)
      debug($url);

    }
}

上記のように「Router」を使うといろんなURLを取得できます。
公式ページの「URL の生成」にも同じことが書いてありますね。

http://book.cakephp.org/3.0/ja/development/routing.html#id16

以上!