在Laravel 5.x配置文件

时间:2016-10-08 00:02:58

标签: php laravel laravel-5 config

我需要在配置文件(app.php)中使用全局变量$_SERVER中的一个参数,以便我可以访问SERVER_NAME并定义要使用的静态资源服务器。

$staticUrlMap['local.example.com'] = 'localstatic.example.com';
$staticUrlMap['dev.example.com'] = 'devstatic.example.com';
$staticUrlMap['stage.example.com'] = 'stagestatic.example.com';
$staticUrlMap['preprod.example.com'] = 'preprodstatic.example.com';
$staticUrlMap['my.example.com'] = 'static.example.com';

$staticUrl = '';
if(!empty($_SERVER['SERVER_NAME']))
{
    $staticUrl = $staticUrlMap[$_SERVER['SERVER_NAME']];
}

return [
    'static_url' => $staticUrl,
];

除了在laravel-config文件中直接使用$_SERVER之外,还有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用Request外观来访问$_SERVER超级全球。

echo Request::server('SERVER_NAME');

作为一个意见方面的说明,我通常同意@ArtisticPhoenix关于基本功能的框架包装的可读性和厌恶性的评论。但是,使用超全局的包装器使单元测试变得更加简单。此外,有一些相关的重要性,有一些流行的风格指南会让你无法直接访问超级全局。