php4 class,PHP在类中获得当前class名称_php
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相关推荐
- IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...
使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...
- php键顺序初始化,Java类中各成员初始化的顺序
了解Java中类各个成员的初始化顺序是非常重要的,这样你可以对类有全局的认识.不说太多,直接看下面的例子 class Father { static{ System. out.println(&quo ...
- python多线程执行类中的静态方法
在python 中如果通过多线程的方式执行某个方法很简单,只需要把同步函数的第一个参数为该函数对象即可.但是如果函数对象是某个类的静态方法,这时候如果直接使用类的该函数对象会报错.此时需要构造一个代理 ...
- php 类中的变量的定义
php 如果在类中定义变量,在类的方法中调用时应该加上$this-> . class ClassName {private $a = 333;function __construct(){$th ...
- 用@Data注解的形式替代类中的setter、getter方法
目录 1. 封装 2. @Data注解介绍 3. Lombok的使用 1. 封装 在类中,为了增强数据的安全性和隐蔽性,通常会对数据和与数据有关的方法进行封装: 封装的步骤: 1.将类中的属性设置为p ...
- Swift - AppDelegate.swift类中默认方法的介绍
项目创建后,AppDelegate类中默认带有如下几个方法,具体功能如下: 1,应用程序第一次运行时执行 这个方法只有在App第一次运行的时候被执行过一次,每次App从后台激活时都不会再执行该方法. ...
- python 类中定义类_Python中的动态类定义
python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...
- java技术培训之File类中常用的构造方法
File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,如:"D:\file\a.txt",也可以是相对于当前目录而言的相对路径,如:"src\Hello.j ...
- python隐藏部分代码_python隐藏类中属性的3种实现方法
方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_w ...
最新文章
- 2020年,计算机视觉领域会有哪些新的研究方向值得提前探索?
- 解决tensorflow报错ValueError: Variable conv1/weights already exists, disallowed.
- linux 文件编码问题
- linux怎样标识空设备,Linux系统命令------Ubuntu下解决adb设备列表为空
- esp8266驱动oled屏幕_为什么“更好的OLED电视”在海信?
- php实现第三方邮箱登录_JavaScript实现第三方登录网站原理在这呢
- 在线服务器和客户端聊天,实验三、客户端和服务器能实现简单的聊天功能
- Javascript面向对象二
- Redis应用实践:小红书海量Redis存储之道
- python网页抓取与按键精灵原理一样吗_按键精灵等以GUI接口为基础的程序在爬虫界的地位是怎样的?...
- malloc.h头文件以及malloc函数
- S3C2440 SDRAM内存驱动
- C++实现LZ77压缩算法
- K2P刷机教程转自恩山磨人的小妖精
- 京淘电商后台管理系统
- 【Mybatis源码】源码分析
- 面试题葵花宝典(脚本与运维篇)
- N0wayBack 春节红包题
- 【精品】JDK17下使用Ehcache3
- MySQL基于时间点恢复和快照恢复实例
热门文章
- 逻辑漏洞——权限控制问题
- 基线管理之Centos安全配置
- mysql表变量临时表_sql server 临时表详细讲解及简单示例
- 比亚迪汉鸿蒙系统测评_华为正式进军汽车领域!鸿蒙OS车机系统加持:帮助更多车企quot;造好车quot;...
- Android开发之打开QQ聊天页面的方法
- lua C++ wrapper
- Chrome remote debugging protocol在自动化测试中的应用和实践
- License分类 + 引入开源软件时License的注意事项
- jquery表单数据反序列化为字典
- 项目QQ音乐开发记录