Maison >développement back-end >tutoriel php >Vues CakePHP
La lettre « V » dans le MVC correspond aux vues. Les vues sont responsables de l'envoi de la sortie à l'utilisateur en fonction de la demande. Afficher les classes est un moyen puissant d'accélérer le processus de développement.
Le fichier View Templates de CakePHP récupère les données du contrôleur, puis restitue la sortie afin qu'elle puisse être affichée correctement à l'utilisateur. Nous pouvons utiliser des variables, diverses structures de contrôle dans le modèle.
Les fichiers modèles sont stockés dans src/Template/, dans un répertoire nommé d'après le contrôleur qui utilise les fichiers, et nommé d'après l'action à laquelle il correspond. Par exemple, le fichier View pour l'action « view() » du contrôleur Produits se trouve normalement dans src/Template/Products/view.php.
En bref, le nom du contrôleur (ProductsController) est le même que le nom du dossier (Products) mais sans le mot Controller et le nom de l'action/méthode (view()) du contrôleur (ProductsController) est le même que le nom du fichier View (view.php).
Les variables d'affichage sont des variables qui obtiennent la valeur du contrôleur. Nous pouvons utiliser autant de variables que nous le souhaitons dans les modèles de vue. Nous pouvons utiliser la méthode set() pour transmettre des valeurs aux variables dans les vues. Ces variables définies seront disponibles à la fois dans la vue et dans la mise en page rendue par votre action. Voici la syntaxe de la méthode set().
Cake\View\View::set(string $var, mixed $value)
Cette méthode prend deux arguments − le nom de la variable et sa valeur.
Apportez des modifications au fichier config/routes.php comme indiqué dans le programme suivant.
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(); });
Créez un fichier ProductsController.php dans src/Controller/ProductsController.php. Copiez le code suivant dans le fichier du contrôleur.
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'); } }
Créez un répertoire Products dans src/Template et sous ce dossier, créez un fichier View appelé view.php. Copiez le code suivant dans ce fichier.
Value of variable is: <?php echo $Product_Name; ? >
Exécutez l'exemple ci-dessus en visitant l'URL suivante.
http://localhost/cakephp4/template
L'URL ci-dessus produira le résultat suivant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!