__CLASS__获取当前的类名,this
get_class()与上面同样,都是获取当前的类名get
get_called_class()后期静态绑定类的名称io
class testA
{
function printS()
{
echo 'testA' . __CLASS__ . '<br/>';
echo 'testA' . get_class() . '<br/>';
echo 'testA' . get_class($this) . '<br/>';
echo 'testA' . get_called_class() . '<br/>';
echo '=========' . '<br/>';
}
}
class testB extends testA
{
function printS()
{
parent::printS();
echo 'testB' . __CLASS__ . '<br/>';
echo 'testB' . get_class() . '<br/>';
echo 'testB' . get_class($this) . '<br/>';
echo 'testB' . get_called_class() . '<br/>';
}
}function
$tb = new testB;
$tb->printS();class
结果:test
testAtestA
testAtestA
testAtestB
testAtestB
=========
testBtestB
testBtestB
testBtestB
testBtestBcall
单例实例get_called_class():static
public static function getInstance() {
$class_name = get_called_class();
if (isset(self::$instance[$class_name])) {
return self::$instance[$class_name];
}
self::$instance[$class_name] = new $class_name;
return self::$instance[$class_name];
}sse
本篇是为网上实例....单例