У меня есть структура классов
class engine {
function show() {
return "some html code";
}
}
class car {
private $engine;
function __construct() {
//some logic
$this->engine = new engine();
}
function show() {
$code = "****";
$code .= $this->engine->show();
return $code;
}
}
Каждый класс имеет вывод в html, svg, txt. Я пытался использовать шаблон декоратора для создания htmlCar, htmlEngine, svgCar, svgEngine и добавления дополнительных выходных данных без редактирования движка и классов машин. Но как это сделать, не меняя $ this-> engine = new engine (); $ this-> engine = new htmlEngine (); ?
Задача ещё не решена.
Других решений пока нет …