Is there a method to instantiate a child class with PDO::FETCH_CLASS
based on retrieved data? Suppose that there exists an abstract class A
, classes B
and C
that are implementations of A
and a field on my table named classname
that will be used to instantiate the right class. Is it possible?
Sounds like you need, PDO::FETCH_CLASSTYPE
. From the manual:
PDO::FETCH_CLASS: returns a new instance of the requested class, mapping the columns of the result set to named properties in the class. If fetch_style includes PDO::FETCH_CLASSTYPE (e.g. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class is determined from a value of the first column.