В нескольких разных местах я называю:PHP Have Object Возвращает другой объект
$model=NEW MakeCall($form);
Я обновил MakeCall
класс с некоторыми изменениями, которые я хочу принять повлиять после указанной даты. Я переименовал оригинальный класс MakeCallOld
Как я могу оставить мои звонки:
$model=NEW MakeCall($form);
неповрежденными и в MakeCall
сделать это:
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...
Это в настоящее время только возвращает пустой объект класса MakeCallOld
но он не запускает конструктор в MakeCallOld
, поскольку все свойства пустые. Мне бы хотелось, чтобы весь объект MakeCallOld
упал на $model
.
Возможный дубликат [Возвращение значения в конструктор функции класса] (http://stackoverflow.com/questions/6849572/returning-a-value-in-constructor-function-of-a-class) – imtheman
Вы хотите фабрику – felipsmartins