У меня есть класс, в котором может потребоваться изменить объект на потомственный класс дальше по строке. Это возможно? Я знаю, что один из вариантов - вернуть его копию, но вместо этого использовать дочерний класс, но было бы неплохо изменить текущий объект... так:
class myClass {
protected $var;
function myMethod()
{
// function which changes the class of this object
recast(myChildClass);
}
}
class myChildClass extends myClass {
}
$obj = new myClass();
$obj->myMethod();
get_class_name($obj); // => myChildClass