<?php /* * Author : Fanglor * Email : Fanlor@163.com * Url : www.skyleft.com * Date : 2011-06-28 */ class Test__CLASS__ { var $url = ''; function __construct () { $this->url = __CLASS__; } function get_url () { return $this->url; } } class ChildTest__CLASS__ extends Test__CLASS__{ function __construct () { parent::__construct (); } } //测试 $Test =new ChildTest__CLASS__(); echo $Test->url; echo "<br/>"; class Test_get_class { var $url = ''; function __construct () { $this->url = get_class($this); } function get_url () { return $this->url; } } class ChildTest_get_class extends Test_get_class{ function __construct () { parent::__construct (); } } //测试 $Test =new ChildTest_get_class(); echo $Test->url;
测试结果 :
Test__CLASS__
ChildTest_get_class
可以看出,__CLASS__ 不向下传递,在哪个类里,就是哪类的名字,而 get_class 则更为灵活 ,与$this 结合使用,可以很方便的得出各子类的类名 。

1 Comment
御泥坊 on 六月 30, 2011 at 4:28 下午.
谢谢,正在找这段代码呢。