【问题标题】:Laravel 4.2 URI based configurationLaravel 4.2 基于 URI 的配置
【发布时间】:2015-02-06 07:41:12
【问题描述】:

我正在处理一个有多个 URL 的项目,每个 URL 都需要一个自定义配置。它不必在它自己的配置文件中,但最好有(为了清楚地了解项目结构)。

目前,我的自定义配置文件中有以下内容,可以使用 - 但 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 所需的不同变量之间进行切换。

我很确定应该有比我的“我会把它添加到配置文件”更好的方法来处理这个问题。谁能指出我正确的方向?

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

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

    config
    -- domain
    -- otherdomain
    

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

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

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

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

    【讨论】:

    • 谢谢,我会试试这个 - 没想到因为我有开发/测试/生产。
    猜你喜欢
    • 2014-08-27
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 2019-04-28
    • 1970-01-01
    相关资源
    最近更新 更多