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 搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

php4 class,PHP在类中获得当前class名称_php相关推荐

  1. IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...

    使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...

  2. php键顺序初始化,Java类中各成员初始化的顺序

    了解Java中类各个成员的初始化顺序是非常重要的,这样你可以对类有全局的认识.不说太多,直接看下面的例子 class Father { static{ System. out.println(&quo ...

  3. python多线程执行类中的静态方法

    在python 中如果通过多线程的方式执行某个方法很简单,只需要把同步函数的第一个参数为该函数对象即可.但是如果函数对象是某个类的静态方法,这时候如果直接使用类的该函数对象会报错.此时需要构造一个代理 ...

  4. php 类中的变量的定义

    php 如果在类中定义变量,在类的方法中调用时应该加上$this-> . class ClassName {private $a = 333;function __construct(){$th ...

  5. 用@Data注解的形式替代类中的setter、getter方法

    目录 1. 封装 2. @Data注解介绍 3. Lombok的使用 1. 封装 在类中,为了增强数据的安全性和隐蔽性,通常会对数据和与数据有关的方法进行封装: 封装的步骤: 1.将类中的属性设置为p ...

  6. Swift - AppDelegate.swift类中默认方法的介绍

    项目创建后,AppDelegate类中默认带有如下几个方法,具体功能如下: 1,应用程序第一次运行时执行 这个方法只有在App第一次运行的时候被执行过一次,每次App从后台激活时都不会再执行该方法. ...

  7. python 类中定义类_Python中的动态类定义

    python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...

  8. java技术培训之File类中常用的构造方法

    File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,如:"D:\file\a.txt",也可以是相对于当前目录而言的相对路径,如:"src\Hello.j ...

  9. python隐藏部分代码_python隐藏类中属性的3种实现方法

    方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_w ...

最新文章

  1. 2020年,计算机视觉领域会有哪些新的研究方向值得提前探索?
  2. 解决tensorflow报错ValueError: Variable conv1/weights already exists, disallowed.
  3. linux 文件编码问题
  4. linux怎样标识空设备,Linux系统命令------Ubuntu下解决adb设备列表为空
  5. esp8266驱动oled屏幕_为什么“更好的OLED电视”在海信?
  6. php实现第三方邮箱登录_JavaScript实现第三方登录网站原理在这呢
  7. 在线服务器和客户端聊天,实验三、客户端和服务器能实现简单的聊天功能
  8. Javascript面向对象二
  9. Redis应用实践:小红书海量Redis存储之道
  10. python网页抓取与按键精灵原理一样吗_按键精灵等以GUI接口为基础的程序在爬虫界的地位是怎样的?...
  11. malloc.h头文件以及malloc函数
  12. S3C2440 SDRAM内存驱动
  13. C++实现LZ77压缩算法
  14. K2P刷机教程转自恩山磨人的小妖精
  15. 京淘电商后台管理系统
  16. 【Mybatis源码】源码分析
  17. 面试题葵花宝典(脚本与运维篇)
  18. N0wayBack 春节红包题
  19. 【精品】JDK17下使用Ehcache3
  20. MySQL基于时间点恢复和快照恢复实例

热门文章

  1. 逻辑漏洞——权限控制问题
  2. 基线管理之Centos安全配置
  3. mysql表变量临时表_sql server 临时表详细讲解及简单示例
  4. 比亚迪汉鸿蒙系统测评_华为正式进军汽车领域!鸿蒙OS车机系统加持:帮助更多车企quot;造好车quot;...
  5. Android开发之打开QQ聊天页面的方法
  6. lua C++ wrapper
  7. Chrome remote debugging protocol在自动化测试中的应用和实践
  8. License分类 + 引入开源软件时License的注意事项
  9. jquery表单数据反序列化为字典
  10. 项目QQ音乐开发记录