首页 > 开发 > PHP > 正文

PHP在类中获得当前class名称

2024-05-04 23:00:22
字体:
来源:转载
供稿:网友

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 {}



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表