【发布时间】:2015-11-01 09:55:28
【问题描述】:
我正在尝试在 PHP 类中构建一个函数,但是每当我调用该函数时,我只返回第一个变量。
class Nums
{
private $a = 7;
private $b = 8;
public function sum()
{
return $this->a + $this->b;
}
public function __set($name,$value) {
switch($name) {
case 'a':
return $this->setA($value);
case 'b':
return $this->setB($value);
}
}
public function __get($name) {
switch($name) {
case 'a':
return $this->getA();
case 'b':
return $this->getB();
}
}
private function setA($i) {
$this->a = $i;
}
private function getA() {
return $this->$a;
}
private function setB($i) {
$this->b = $i;
}
private function getB() {
return $this->$b;
}
}
我在这里做错了什么吗,因为我真的看不出这个逻辑有什么问题。
【问题讨论】:
-
这对我来说很好。你是如何使用这个类的?
-
我添加了用来修改类的 set 和 get 组件,我不认为这是问题所在。显然是的。当我调用 sum 函数时,我试图获取私有变量,而我应该使用我在 swtich 语句中定义的名称。
-
是的,有时问题会出现在意想不到的地方:)