get_called_class($method )实例详解
1. 功能:获取调用该方法$method所在的类名这个方法很简单,我们直接用实例演示,相信你一看就懂
2. 实例:每一步都做了详细注释class Father{ public function demo1(){//返回调用该方法的类名return get_called_class();
}public static function demo2(){//返回调用该方法的类名return get_called_class();
}
}class Son extends Father { //子类为空,仅做演示}//创建子类Son的实例:$obj$obj = new Son();//尽管demo1()定义在Father类中,但调用者是Son类//所以返回:Sonecho $obj -> demo1(),'
';
//虽然demo2()也定义在Father类中,但静态调用的是Son类//所以,仍然返回子类名:Sonecho Son::demo2(),'
';查看一下运行结果,验证一下://果然,返回的都是调用demo1和demo2方法的类名:SonSon
Son
3. 总结:get_called_class( )方法与get_class( ) 的参数相同,仅仅是返回值不相同:
get_class( ):返回定义它的类;
get_called_class( ):返回调用它的类;