Laravel 4.2基于URI的配置

时间:2015-02-06 07:41:13

标签: php laravel laravel-4

我正在开发一个有多个网址的项目,每个网址都需要自定义配置。它不必在它自己的配置文件中,但是很好(具有项目结构的清晰概述)。

目前我的自定义配置文件中包含以下内容,但是IMO并不是放置它的最佳位置。

$domain = $_SERVER['HTTP_HOST'];
switch($domain)
{
    case 'domain':
        $var = 'foo';
        break;
    case 'otherdomain':
        $var = 'bar';
        break;
}

我尝试在App :: before函数中添加相同的代码到过滤器(但不是$ var =,我这样做)

Config::set('var','foo')

不幸的是,当我这样做时,这并没有给我带来预期的效果 - 我无法在配置文件中访问Config :: get('var')以在每个URL所需的不同变量之间切换。

我很确定应该有一个更好的方法来处理这个比我“我将它添加到配置文件”。任何人都能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

我认为你应该为此使用环境。只需在app/config下创建目录,如:

config
-- domain
-- otherdomain

并在其中放置一个文件。让我们说app.php。在那里你返回一个配置值数组:

return array(
    'foo' => 'bar'
);

最后,在bootstrap/start.php中,将detectEnvironment调用更改为:

$env = $app->detectEnvironment(function()
{
    return $_SERVER['HTTP_HOST'];
});