在laravel中,没有定义常量文件,所以我继续寻找实现常量使用的方法。以下方法是我设法组建的方法:
// app/config/constants.php
return['CONSTANT_NAME' => 'value'];
// index.blade.php
{{ Config::get('constants.CONSTANT_NAME') }}
现在,我的问题是;在我的视图中有更清晰的方法来检索我的常量吗?类似的东西:
{{ Constant::get('CONSTANT_NAME') }}
这是为了让我的视野保持良好,简洁和干净。
欣赏输入!
答案 0 :(得分:8)
您可以做的一件事是share pieces of data across您的观点:
View::share('my_constant', Config::get('constants.CONSTANT_NAME'));
将它放在routes.php
的顶部,然后可以在所有刀片视图中访问该常量:
{{ $my_constant }}
答案 1 :(得分:4)
Config
类旨在取代对常量的需要,并提供相同的角色。
让app/config/constants.php
返回一组键/值对,然后使用Config::get('constants.key')
来访问它们。
您可以设想创建一个Constant
类,其中get
函数作为快捷方式:
class Constant {
public function get($key) {
return Config::get('constants.' . $key);
}
}
但使用标准的Laravel处理可能会让其他Laravel开发人员更好地熟悉您的代码。
答案 2 :(得分:1)
在v5中你可以像@msturdy建议的那样,除了你将常量存储在.env文件或生产中作为你的环境服务器上的实际$ _ENVIRONMENT变量。
示例.env条目:
CONSTANT=value
然后这样打电话:
View::share('bladeConstant', env('CONSTANT'));
然后加载:
{{ bladeConstant }}