常量表达式包含无效操作

Aar*_*ron 18 php properties class syntax-error compile-time-constant

我有以下代码,我得到错误"PHP致命错误:常量表达式包含无效操作".当我在构造函数中定义变量时,它工作正常.我正在使用Laravel框架.

<?php

namespace App;

class Amazon
{
    protected $serviceURL = config('api.amazon.service_url');

    public function __construct()
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

pra*_*hal 43

如上所述这里

类成员变量称为"属性".您也可以使用"属性"或"字段"等其他术语来查看它们,但出于本参考的目的,我们将使用"属性".它们通过使用public,protected或private之一,然后是普通变量声明来定义.此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估.

你能做到这一点的唯一方法是: -

<?php

namespace App;

class Amazon
{
  protected $serviceURL;

  public function __construct()
  {
    $this->serviceURL = config('api.amazon.service_url');
  }
}
Run Code Online (Sandbox Code Playgroud)