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:

project/controllers/PageController.php<?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:

/project/views/page/act.php<div>
  esta é a view
  da ação act do controlador page
</div>
Задание 1

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.