【发布时间】:2017-10-16 07:53:22
【问题描述】:
我几乎不做像“PHP”这样的基于类的 OOPs,而且我对它们非常糟糕。有人可以解释为什么这段代码会被破坏吗?什么是正确的解决方法。谢谢。
<?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.
}
}
【问题讨论】:
-
你没有告诉它是如何坏掉的,所以我们不能告诉你它为什么坏掉或如何修复它。
-
手册:属性声明可以包含一个初始化,但是这个初始化必须是一个常量值——也就是说,它必须能够在编译时被评估,并且不能依赖于运行时信息被评估的顺序。
标签: php variables object instance