CakePHP Extension des vues

WBOY
Libérer: 2024-09-10 17:25:28
original
873 Les gens l'ont consulté

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();
});
Copier après la connexion

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(){
      }
   }
?>
Copier après la connexion

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') ?>
Copier après la connexion

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.
Copier après la connexion

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!

Étiquettes associées:
source:php
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!