PHP的继承方法如何获取子类名?get_class() 和 get_called_class
2016-10-28 11:31
639 查看
<?php class A { function __construct() { echo __CLASS__; } static function name() { echo __CLASS__; } } class B extends A { } $objB = new B(); // 输出 A B::name(); // 输出 A
此时,无论将B实例化还是直接调用静态方法,echo出来的都会是A。
而实际上我想要得到的是 子类B 的名称!那如何实现呢?
PHP自带两个函数 get_class() 和 get_called_class() 可以解决这个问题。
get_class() 用于实例调用,加入参数($this)可解决子类继承调用的问题,而 get_called_class() 则是用于静态方法调用。
<?php class A { function __construct() { echo get_class($this); } static function name() { echo get_called_class(); } } class B extends A { } $objB = new B(); // 输出 B B::name(); // 输出 B
相关文章推荐
- PHP的继承方法如何获取子类名?get_class() 和 get_called_class()
- PHP的继承方法如何获取子类名?get_class() 和 get_called_class()
- PHP的继承方法如何获取子类名?
- php中如何用$_GET[ ]方法获取相同参数第二个值?
- js 如何获取class的元素 以及创建方法getElementsByClassName
- php使用get_class_methods()函数获取分类的方法
- php基础 继承_子类中如何调用父类的变量和方法
- php中的get_called_class()方法
- 让PHP<5.3版本支持get_called_class()方法
- php中如何用$_GET[ ]方法获取相同参数第二个值?
- php使用get_class_methods()函数获取分类的方法
- 在PHP Module中获取$_GET/$_POST/$_COOKIE的方法研究
- ClassLoader.getResourceAsStream(name);获取配置文件的方法
- js 获取class的元素的方法 以及创建方法getElementsByClassName
- 采用PHP函数memory_get_usage获取PHP内存清耗量的方法
- php 获取对象的类名 get_class
- PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.
- PHP父类调用子类方法,CodeIgniter中DB的继承关系
- php发送get、post请求的几种方法 以及获取内容
- 采用PHP函数memory_get_usage获取PHP内存清耗量的方法