在我的应用程序中,我将定义一个配置文件,其中的字符串取决于我想放入参数中的其他字符串。 我通过一个例子更好地解释
/config/specs.php 内容
$var1 = 'blah01';
$var2 = 'blah02';
return [
'specs01' => "This is $var1",
'specs02' => "This is $var2"
...
]
这是我到目前为止所发现的......而且实际上看起来很有效。
但我不太相信这种方法: 我是否在 Larevel 的全局范围内添加了一些污垢?
我知道有机会使用 env('var01') 函数寻址 env 文件,以便在我的配置数组中包含参数。但我也不喜欢 .env 文件中有太多的键值对...
你有什么建议?
我会遇到框架全局范围的问题吗? (这是我仍在调查的事情......)
非常感谢
最佳答案
我认为没有更好的方法来做到这一点。 .env 文件用于因环境而异的配置,我知道这些值不是特定于环境的。
向全局作用域添加一些变量不会有任何问题,因为 Laravel 和所有其他以面向对象编写的包很少使用全局变量。
如果您真的担心全局变量冲突,您可以将所有变量存储在一个数组中,并将该数组分配给一个您确定不会在任何地方使用的名称的变量,例如:
$variableWithSuperUniqueName = [
'var1' => 'blah01',
'var2' => 'blah02',
];
return [
'specs01' => "This is {$variableWithSuperUniqueName['var1']}",
'specs02' => "This is {$variableWithSuperUniqueName['var2']}",
...
];
这样一来,您将仅用一个变量污染全局范围,并通过为该变量指定一个唯一的名称来避免冲突。
关于php - 在 laravel 5 中,在配置文件中定义全局变量的替代形式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31968064/