Php 常量表达式包含无效操作访问环境值Laravel时出错

Php 常量表达式包含无效操作访问环境值Laravel时出错,php,laravel,static,Php,Laravel,Static,我的项目有问题。我想访问私有静态变量中的环境值数据,但发现错误常量表达式包含无效操作。我不知道如何解决这个问题。 这是我的密码 private static $session_link = [ 'local' => env('LOCAL_URL'), 'production' => env('PRODUCTION_URL') ]; 提前感谢这样编写代码是不可能的。如上所述: 此声明可能包括初始化,但 初始化必须是一个常量值——也就是说,它必须能够 在编译时进行计算,

我的项目有问题。我想访问私有静态变量中的环境值数据,但发现错误
常量表达式包含无效操作
。我不知道如何解决这个问题。 这是我的密码

private static $session_link = [
    'local' => env('LOCAL_URL'),
    'production' => env('PRODUCTION_URL')
];

提前感谢

这样编写代码是不可能的。如上所述:

此声明可能包括初始化,但 初始化必须是一个常量值——也就是说,它必须能够 在编译时进行计算,并且不能依赖于运行时 信息,以便进行评估

实现这一目标的唯一方法是:

private static $session_link = [];

public function __construct()
{
    self::session_link = [
        'local' => env('LOCAL_URL'),
        'production' => env('PRODUCTION_URL')
    ]; 
}
TL;医生:

这是因为PHP运行您的代码两次:首先,它运行是为了编译您的代码,读取所有方法和属性,只有在第二次运行之后才运行编译后的代码。在编译过程中,PHP不知道
env()
函数,这就是它抛出
\Error
的原因