Maison >développement back-end >tutoriel php >CakePHP Extension des vues

CakePHP Extension des vues

WBOY
WBOYoriginal
2024-09-10 17:25:28938parcourir

Souvent, lors de la création de pages Web, nous souhaitons répéter certaines parties de pages dans d'autres pages. CakePHP a une telle facilité grâce à laquelle on peut étendre la vue dans une autre vue et pour cela, nous n'avons pas besoin de répéter le code.

La méthode extend() est utilisée pour étendre les vues dans le fichier View. Cette méthode prend un argument, c'est-à-dire le nom du fichier de vue avec le chemin. N'utilisez pas l'extension .ctp lorsque vous fournissez le nom du fichier View.

Exemple

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) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   $builder->connect('extend',['controller'=>'Extends','action'=>'index']);
   $builder->fallbacks();
});

Créez un fichier ExtendsController.php dans src/Controller/ExtendsController.php. Copiez le code suivant dans le fichier du contrôleur.

src/Controller/ExtendsController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController;
   class ExtendsController extends AppController{
      public function index(){
      }
   }
?>

Créez un répertoire Extends dans src/Template et sous ce dossier, créez un fichier View appelé header.php. Copiez le code suivant dans ce fichier.

src/Template/Extends/header.php

<div align="center">
   <h1>Common Header</h1>
</div>
<?= $this->fetch('content') ?>

Créez une autre View sous le répertoire Extends appelé index.php. Copiez le code suivant dans ce fichier. Ici, nous étendons la vue ci-dessus header.php.

src/Template/Extends/index.php

<?php $this->extend('header'); ?>
This is an example of extending view.

Exécutez l'exemple ci-dessus en visitant l'URL suivante http://localhost/cakephp4/extend

Sortie

Lors de l'exécution, vous recevrez le résultat suivant.

Common Header

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Vues CakePHPArticle suivant:Vues CakePHP