Lets say I'm building a base class which will be extended upon by the children class. So a base class is called Base
and children can be Child1
, Child2
, etc.
In the base class's constructor, how can i get the value of Child1/Child2?
This is all using PHP
A base class should really never depend on information about child classes---
To answer your question:
Just for future reference -- this can be acheived in a static context using get_called_class(), but this is only available in PHP >= 5.3
simply call get_class($this) - note however that a base class method has no real business in changing its behaviour depending on which derived class is using it. That's the whole point of deriving a class :)
Edit: Didn't know about
get_class
, disregard this one ;)You could try
__CLASS__
but it might not work properly.A work-around could be to specify the class name as a property of the base class.
Edit: This does not work (I used the following code) construct() { echo __CLASS; } }
I would suggest passing the name of $b as a parameter to A, for example: