我正在开发一个有多个网址的项目,每个网址都需要自定义配置。它不必在它自己的配置文件中,但是很好(具有项目结构的清晰概述)。
目前我的自定义配置文件中包含以下内容,但是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所需的不同变量之间切换。
我很确定应该有一个更好的方法来处理这个比我“我将它添加到配置文件”。任何人都能指出我正确的方向吗?
答案 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'];
});