【发布时间】:2017-06-09 21:00:57
【问题描述】:
我正在尝试理解 php 中 oop 的概念。 我的问题:为什么在类中添加属性(此处:$result 和 $operation),但如果我不添加它们并且 var_dump 则它工作正常,因此设置了 objects 属性。 示例:
class Calculator {
protected $result;
protected $operation;
public function setOperation ( $operation) {
$this->operation = $operation;
}
}
这里没有:
class Calculator {
public function setOperation ( $operation) {
$this->operation = $operation;
}
}
为什么这很重要,有时我看到一个没有在顶部声明属性的类?
【问题讨论】:
-
如果它们不存在,php 会将它们定义为
public属性。如果定义它们,则可以根据需要指定它们的可见性。如果可以定义它们,最好定义它们,但也要记住,php 允许使用__set和__get魔术方法重载属性,这允许你对它们做任何你想做的事情。 -
我投票决定将此问题作为题外话结束,因为您应该阅读精美的手册:php.net/manual/en/language.oop5.php
标签: php class properties