Mientras tu en tu contructor hagas: $this->nombres = ''; al pasarlo por isset() en cualquier método va a dar true, es por eso mi comentario, lo que sí va más a doc es empty($this->nombres).
Si quieres ver un buen ejemplo implementado ve Zend_View es un componente de Zend_Framework encargado de separar el código PHP de las plantillas y te permite hacer cosas básicas como:
Código php:
Ver original 'author' => 'Hernando de Soto',
'title' => 'The Mystery of Capitalism'
),
'author' => 'Henry Hazlitt',
'title' => 'Economics in One Lesson'
),
'author' => 'Milton Friedman',
'title' => 'Free to Choose'
)
);
$view = new Zend_View();
$view->books = $data;
echo $view->render('booklist.php');
booklist.php:
Código php:
Ver original<?php if ($this->books) { ?>
<!-- A table of some books. -->
<table>
<tr>
<th>Author</th>
<th>Title</th>
</tr>
<?php foreach ($this->books as $key => $val) { ?>
<tr>
<td><?php echo $this->escape($val['author']); ?></td>
<td><?php echo $this->escape($val['title']); ?></td>
</tr>
<?php } ?>
</table>
<?php } else { ?>
<p>There are no books to display.</p>
<?php } ?>
Saludos.