• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP在类中获得当前class名称_php

php 搞代码 7年前 (2018-06-21) 154次浏览 已收录 0个评论

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

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

http://www.gaodaima.com/46981.htmlPHP在类中获得当前class名称_php

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

欢迎大家阅读《PHP在类中获得当前class名称_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP在类中获得当前class名称_php

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址