为什么我不能将函数分配给类中的变量:例如
class call {
public $number = function() {
return 3 * 2;
}
}
$num = new call();
$num->number // expecting output 6
是否可以将方法(函数)分配给属性(变量),以便可以像在属性外一样在类外部调用该方法。例如
class call {
public $number = $this->value();
private function value() {
return 3 * 2;
}
}
$num = new call();
echo $num->$number // expecting output 6;
答案 0 :(得分:0)
使用__get()
魔术方法,当您尝试获取无法访问的属性的值时调用
class call {
public function __get($name) {
if ($name == 'number')
return $this->value();
}
private function value() {
return 3 * 2;
}
}
$num = new call();
echo $num->number;
// 6