我不会像OOPs /基于类的'PHP'差不多,我对他们非常可怕。有人可以解释为什么这个代码打破了吗?什么是适当的解决方法。谢谢。PHP共享实例成员变量
<?php
namespace app\samples;
use models\Person;
use helpers\OtherClass;
use helpers\SomeClass;
class Sample
{
private $num = 2; # Working
private $str = 'My string'; # Working
private $bool = true; # Working
private $person = new Person(); # Breaks ??
private $mValues = OtherClass::getValues(); # Breaks ??
public function mFunction1()
{
SomeClass::doSomething($person, $mValues); // Use $person & $mValues here.
}
public function mFunction2()
{
SomeClass::doSomething($person, $mValues); // Use $person & $mValues here.
}
}
你不知道它是如何破坏的,所以我们不能告诉你它为什么破裂或如何修复它。 – Gordon
手册:属性声明可能包括一个初始化,但是这个初始化必须是一个常量值 - 也就是说,它必须能够在编译时进行评估,并且不能依赖运行时信息进行评估。 – Progrock