Views no MVC em PHP
Vamos agora adicionar views às nossas ações.
De acordo com as regras do nosso framework, as views
são armazenadas na pasta /project/views/.
Além disso, no nosso framework, existe uma
convenção: o nome do arquivo da view deve
corresponder ao nome da ação e ser colocado
em uma pasta com o mesmo nome do controlador.
Por exemplo, se temos um controlador PageController,
então todas as suas views devem ser armazenadas
na pasta /project/views/page/. O
próprio arquivo de view deve ter a extensão
.php. Por exemplo, se no controlador
PageController houver uma ação act,
sua view deve estar localizada em
/project/views/page/act.php.
Para definir uma view para uma
ação, essa ação deve chamar o método
render, passando como parâmetro o nome
da view. O nome da view deve consistir
no nome do controlador com a primeira letra minúscula, após
o qual, através de /, será escrito o nome
da ação.
O método render não precisa ser implementado
no controlador - ele é herdado da classe
pai Core\Controller. Além disso,
para o funcionamento correto, o resultado do método
deve ser retornado via return.
Então, digamos que temos um controlador Page
com a ação act. Vamos vincular
a view a esta ação:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Vamos agora criar o arquivo com o código HTML da nossa view:
<div>
esta é a view
da ação act do controlador page
</div>
Execute as manipulações descritas e depois acesse nossa ação através da barra de endereços. Certifique-se de que o texto da view que você criou apareça no navegador.