In ein paar verschiedenen Orten, die ich nenne:PHP-Objekt zurückgeben Verschiedenes Objekt
$model=NEW MakeCall($form);
ich die MakeCall
Klasse mit mehreren Änderungen aktualisiert habe, die ich beeinflusse nach einem bestimmten Datum zu nehmen. Ich benannte die ursprüngliche Klasse MakeCallOld
Wie kann ich meine Anrufe zu verlassen:
$model=NEW MakeCall($form);
intakt und innerhalb MakeCall
dies tun:
class MakeCall
{ ...
public function __construct($form)
{
//Use Legacy MakeCallOld for stuff before 2016-10-01
if ($form['date']<'2016-10-01') {
$object=NEW MakeCallOld($form);
return $object;
}
$this->perform several functions and set variables...
Das derzeit nur ein leeres Objekt der Klasse MakeCallOld
aber Scheint, den Konstruktor in MakeCallOld
nicht auszuführen, da alle Eigenschaften leer sind. Ich möchte einfach das gesamte Objekt MakeCallOld
in $model
fallen lassen.
Mögliche Duplikat [Wert in Konstruktorfunktion einer Klasse Return] (http://stackoverflow.com/questions/6849572/returning-a-value-in-constructor-function-of-a-class) – imtheman
Sie wollen eine Fabrik – felipsmartins