html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

PHP在类中获得当前class名称_PHP教程_编程技术

[ ] 已经帮助:人解决问题

php 4.3以后新增了一个魔术常量__CLASS__,用来获得当前class名称。但是在下面的代码中,却不work。

class A {
 function showclass() {
     echo __CLASS__;
 }
}
class B extends A {}
 
A::showclass();
B::showclass();

这段代码会打出两个A,而不是预想中的AB。

下面这段代码,利用debug_backtrace来获得当前class名,可惜只能在php4上面work,到了php5以上,测试结果全部都是AA-___-

class A {
   function showclass() {
      $backtrace = debug_backtrace();
      echo $backtrace[0]['class'];
   }
}
 
class B extends A {}

补充一个可以在php4/php5下work的代码

class A {
 function showclass() {
    $backtrace = debug_backtrace();
    echo ((int)PHP_VERSION> 4) ?
        get_class($backtrace[0]['object']) : $backtrace[0]['class'];
 }
}
class B extends A {}

yyhHTML5中文学习网 - HTML5先行者学习网
yyhHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助