Вы должны добавить абстрактный метод в классе Pet.IE:
class Pet
{
abstract function render();
}
Чем в ваших дочерних классах вы должны реализовать этот метод.Например:
class Dog extends Pet
{
public function render()
{
return sprintf('<div class="dog">%s</div>', 'blabla');
}
}
В вашем шаблоне просто вызовите метод рендеринга:
{{ pet.render() }}
Или же вы всегда можете создать getTemplate()
совместно используемый метод, включив его в веточку: {% include pet.template %}