FuelPHPのUri::base()は何を返すのか?

少し前のQuiitaのこの記事。

Uri::base(false)でhttp://xxxx.jp/を取得できなかったとあります。

気になったので、FuelPHP 1.7.2をインストールして検証してみます。

class Controller_Welcome extends Controller
{
    public function action_index()
    {
        return Uri::base();
    }
}

結果:http://localhost:8000/

ということで、http://xxxx.jp/部分を取得できました。

では、どういう場合に、取得できなくなるのでしょうか?

config/config.phpbase_urlの設定を変更します。

'base_url'  => 'http://xxxx.jp/',

結果:http://xxxx.jp/

この場合も取得できました。

'base_url'  => 'test/',

結果:test/

このケースではhttp://から始まるURLは取得できません。

まとめ

Uri::base()base_urlの値を返しますが、base_urlは設定値がnullの場合(デフォルト)、自動的に検知されます。

config/config.php

     * Set this to null to have it automatically detected.
     */
    // 'base_url'  => null,

参考

Date: 2014/12/23

Tags: fuelphp