让我们说我正在建立一个基础类,将由儿童班延伸.因此,基类被称为Base
可以和孩子Child1
,Child2
等等.
在基类的构造函数中,如何获取Child1/Child2的值?
这都是使用PHP
简单地调用get_class($ this) - 请注意,基类方法在改变其行为方面没有真正的业务,具体取决于哪个派生类正在使用它.这是导出一个类的全部意义:)
基类应该永远不依赖于有关子类的信息---
回答你的问题:
class base { public function __construct() { print "Class:" . get_class($this) . "\n"; } } class child extends base{ public function __construct() { parent::__construct(); } } $c = new child();
仅供将来参考 - 这可以使用get_called_class()在静态上下文中实现,但这仅适用于PHP> = 5.3