sé que estás cansado de que te lo digan pero : el agua tibia ya se inventó
bueno, el tema es que veo que tratas de crear una clase para las vistas, cuando lo común en MVC es que la parte de la vista sea delegado a los famosos "template engines".
Una vista no tiene que ser necesariamente Orientada a Objetos (bueno en TWIG se logra de una manera brillante) porque básicamente se representan en archivos HTML y como tal
deben de tener código HTML, es allí donde entra el
template engine, el cual sólo toma la plantilla (template con html) y los
arrays construidos por el controlador o modelo y lo cambia, algo como un str_replace aunque suele ser más complejo.
es por ello que no le veo sentido a tu clase de vistas, lo ideal es implementar un modelo realmente probado y que funciona como los template engines, tienes a twig, smarty y muchos otros.
si ves el ejemplo de como se implementan las vistas en Codeigniter, notarás que NO existen clases para las vistas, sólo las plantillas, y en controlador lo genera así:
Código PHP:
Ver original//dentro del controlador
$this->load->view('miplantilla.php', array( 'links' => $array_de_links
));
y la vista (plantilla):
Código PHP:
Ver original<ul class="links">
<?php foreach ($links as $label => $link): ?>
<li><a href="<?=$link?>"><?=$label?></a></li>
<?php endforeach; ?>
</ul>
si usaras un motor como twig o smarty, tendrías algo como esto:
Código twig:
Ver original<ul class="links">
{% for link in links %}
<li><a href="{link.link}">{link.label}</a></li>
{% endfor %}
</ul>
vistas o plantillas pulidas libres de los bloques de <?PHP?>