Zdravím,
mám třídu ClassA a ClassB, nyní vytvořím
$obj_a = new ClassA(); (a uvnitř třídy ClassA vytvořím další objekt třídy ClassB)
Můžu nějak v třídě ClassA vrátit returnem objekt ClassB přimo do již vytvořeného objektu $obj_a? Děkuji.
Krátká odpověď: ne, nejde.
Delší odpověď: Toto šlo naposledy v PHP4ce, a nyní to naštěstí nejde. Při vytváření konstruktoru se vždy vytvoří a vrátí instance "správného" typu.
Jak tu už někteří naznačili, zkus ještě jednou zvážit pohnutky. Pokud opravdu toužíš po rozhodování uvnitř toho objektu, tak jde použít statická metoda na místo konstruktoru.
ClassA::create() // vrací instanci ClassB.
Někdy to bejvá i dobrý nápad.