CakePHP 2.x で webroot の URL を取得する方法

この記事を読むのに必要な時間は約 4 分です。


CakePHP で、URL を扱う際に、CakePHP の Webroot の URL を取得したい場合があります。

例えば、アップロードされた画像を表示するために、img タグを出力する場合などがあります。

いくつか方法がありますので、ご紹介したいと思います。

CakePHP 関連記事は、以下よりご覧下さい。

tag : CakePHP


cake-logo

スポンサーリンク
スポンサーリンク

webroot の URL を取得する方法

以下のいずれの方法でも可能です。

例えば、http://www.example.com/hoge/fuga/cake/ を webroot として設置した場合、Posts コントローラの index アクションが、http://www.example.com/hoge/fuga/cake/Posts/index という URL になります。

上記コードでは、いずれも /hoge/fuga/cake/ を出力します。

どれを使うか

特別な事情がなければ、View で使うことが多いかと思いますので、HtmlHelper::url() を利用する $this->Html->url( “/” ) を使うのが、汎用的に色々と使えて良いかと思います。

これらは使えません

公式 Cookbook に記載されている、以下のグローバル定数などでは取得できません。

公式ドキュメントへのリンク

ひとこと

以前、Upload プラグインについての記事を書いた際には、この方法を知らず、”../” を利用した無理やりな相対指定を行っていました。お恥ずかしいところです。

言われれば、”/” に対する URL を取得すれば、当 CakePHP アプリケーションのための webroot を補ってくれることは想像に難くないところです。ただ、Cookbook にも分かりやすく載せておいてもらえると助かるなぁ、と思いました。

[動作確認環境]

  • PHP : 5.6.9
  • CakePHP : 2.6.4
  • MySQL : 5.6.24


今回は以上です。


スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です