CakePHP - Visualizações
A letra “V” no MVC é para visualizações. As visualizações são responsáveis por enviar a saída ao usuário com base na solicitação.View Classes é uma maneira poderosa de acelerar o processo de desenvolvimento.
Ver modelos
O arquivo View Templates do CakePHP obtém dados do controlador e então renderiza a saída para que possa ser exibida corretamente para o usuário. Podemos usar variáveis, várias estruturas de controle no modelo.
Os arquivos de modelo são armazenados em src/Template/, em um diretório com o nome do controlador que usa os arquivos e com o nome da ação a que corresponde. Por exemplo, oViewarquivo para o controlador de Produtos “view()” ação, normalmente seria encontrada em src / Template / Products / view.php.
Resumindo, o nome do controlador (ProductsController) é igual ao nome da pasta (Products), mas sem a palavra Controller e o nome da ação / método (view ()) do controlador (ProductsController) é igual ao nome de o arquivo de visualização (view.php).
Ver Variáveis
Variáveis de visualização são variáveis que obtêm o valor do controlador. Podemos usar quantas variáveis quisermos nos modelos de visão. Podemos usar oset()método para passar valores para variáveis em visualizações. Essas variáveis definidas estarão disponíveis na visualização e no layout que sua ação renderiza. A seguir está a sintaxe doset() método.
Cake\View\View::set(string $var, mixed $value)
Este método leva dois argumentos - the name of the variable e its value.
Exemplo
Faça alterações no config/routes.php arquivo conforme mostrado no programa a seguir.
config/routes.php
<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
// Register scoped middleware for in scopes.
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
$builder->connect('template',['controller'=>'Products','action'=>'view']);
$builder->fallbacks();
});
Criar uma ProductsController.php arquivo em src/Controller/ProductsController.php. Copie o código a seguir no arquivo do controlador.
src/Controller/ProductsController.php
<?php
declare(strict_types=1);
namespace App\Controller;
use Cake\Core\Configure;
use Cake\Http\Exception\ForbiddenException;
use Cake\Http\Exception\NotFoundException;
use Cake\Http\Response;
use Cake\View\Exception\MissingTemplateException;
class ProductsController extends AppController {
public function view(){
$this->set('Product_Name','XYZ');
}
}
Crie um diretório de Produtos em src/Template e nessa pasta crie um Viewarquivo chamado view.php. Copie o código a seguir nesse arquivo.
Value of variable is: <?php echo $Product_Name; ? >
Execute o exemplo acima visitando o seguinte URL.
http: // localhost / cakephp4 / template
Resultado
O URL acima produzirá a seguinte saída.