例如这个类中的方法:确定如果我打电话的对象上下文
class A{
public function __call($func, $args){
if($func == 'something')
call_user_func_array($this->_some_magic, $args);
}
public function _some_magic(){
...
}
public static function something(){
...
}
}
现在,如果我调用$ A ::东西()我想要的东西()方法来运行(就像现在)。
但如果我调用$ A->东西()我想触发未定义的方法的东西,所以我可以做我的魔,不是()...
有没有什么办法可以检测方法该方法被调用并执行我想要的方法?
PS:我知道我可以这样使用__callStatic和重新命名一些别的东西做的,但我不知道是否有更好的解决方案中,我可以的,如果你正在使用PHP 5.3保持当前的静态方法名