我有以下代码,出现错误“ PHP致命错误:常量表达式包含无效操作”。当我在构造函数中定义变量时,它可以正常工作。我正在使用Laravel框架。
<?php namespace App; class Amazon { protected $serviceURL = config('api.amazon.service_url'); public function __construct() { } }
我已经看到了这个问题:PHP错误:致命错误:常量表达式包含无效的操作,但是我的代码未将任何内容声明为静态,因此无法回答我的问题。
如上所述这里
类成员变量称为“属性”。您可能还会看到使用其他术语(例如“属性”或“字段”)来引用它们,但是出于参考目的,我们将使用“属性”。它们是使用关键字public,protected或private之一定义的,后跟普通变量声明。该声明可以包括一个初始化,但是此初始化必须是一个常量值- 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。
使这项工作唯一的方法是:-
<?php namespace App; class Amazon { protected $serviceURL; public function __construct() { $this->serviceURL = config('api.amazon.service_url'); } }