【发布时间】:2011-04-03 12:10:33
【问题描述】:
我知道您可以将函数的返回值分配给变量并使用它,如下所示:
function standardModel()
{
return "Higgs Boson";
}
$nextBigThing = standardModel();
echo $nextBigThing;
所以有人请告诉我为什么以下不起作用?还是只是还没有实施?我错过了什么吗?
class standardModel
{
private function nextBigThing()
{
return "Higgs Boson";
}
public $nextBigThing = $this->nextBigThing();
}
$standardModel = new standardModel;
echo $standardModel->nextBigThing; // get var, not the function directly
我知道我可以这样做:
class standardModel
{
// Public instead of private
public function nextBigThing()
{
return "Higgs Boson";
}
}
$standardModel = new standardModel;
echo $standardModel->nextBigThing(); // Call to the function itself
但在我的项目中,存储在类中的所有信息都是预定义的公共变量,除了其中一个需要在运行时计算值。
我希望它保持一致,因此我和使用此项目的任何其他开发人员都必须记住,一个值必须是函数调用,而不是 var 调用。
不过不用担心我的项目,我主要只是想知道为什么 PHP 的解释器内部不一致?
显然,这些例子是为了简化事情而编造的。请不要质疑“为什么”我需要把所说的功能放在课堂上。我不需要关于正确 OOP 的课程,这只是一个概念证明。谢谢!
【问题讨论】:
标签: php oop class variables function