通过php类中的变量引用或调用函数

时间:2018-11-24 10:34:51

标签: php class oop

为什么我不能将函数分配给类中的变量:例如

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;

1 个答案:

答案 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