请教一个问题,类里面有没有自动调用函数的

#1 yuanjianhua

在类里面有三个方法,我想在执行每个方法时,都自动的调用那个方法,而不用自己写$this->common()这样的形式!

2010-07-31 10:17:01

#2 jake

这是PHP5的魔术函数的功能,你可以试试在类中间加一个__call函数
http://php.net/manual/en/language.oop5.overloading.php

function __call($name, $args){
echo $name;

}

在执行其他类的函数之前,__call就会被执行(除非其他函数名称前面是__的,也就是说如果是类似__myfunc()这样的函数却不会调用__call,这里“__”是保留标识,所以类似构造函数__construct等就不会调用__call)

利用__call可以模拟出类的函数,即使该函数不存在。同样还有__set/__get 可以模拟出类的变量等等。

2010-07-31 10:29:31