在laravel中定义常量

时间:2014-09-26 15:07:49

标签: laravel constants

在laravel中,没有定义常量文件,所以我继续寻找实现常量使用的方法。以下方法是我设法组建的方法:

// app/config/constants.php
return['CONSTANT_NAME' => 'value'];

// index.blade.php
{{ Config::get('constants.CONSTANT_NAME') }}

现在,我的问题是;在我的视图中有更清晰的方法来检索我的常量吗?类似的东西:

{{ Constant::get('CONSTANT_NAME') }}

这是为了让我的视野保持良好,简洁和干净。

欣赏输入!

3 个答案:

答案 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 }}