我不會像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