Maison >développement back-end >tutoriel php >Éléments de vue CakePHP

Éléments de vue CakePHP

王林
王林original
2024-09-10 17:22:29589parcourir

Certaines parties des pages Web sont répétées sur plusieurs pages Web, mais à des endroits différents. CakePHP peut nous aider à réutiliser ces parties répétées. Ces parties réutilisables sont appelées Éléments - boîte d'aide, menu supplémentaire, etc. Un élément est essentiellement une mini-vue. Nous pouvons également transmettre des variables dans les éléments.

Cake\View\View::element(string $elementPath, array $data, array $options =[]

Il y a trois arguments pour la fonction ci-dessus comme suit −

  • Le premier argument est le nom du fichier modèle dans le dossier /src/Template/element/.

  • Le deuxième argument est le tableau de données à mettre à disposition de la vue rendue.

  • Le troisième argument concerne la gamme d'options. par ex. cache.

Sur les 3 arguments, le premier est obligatoire, tandis que les autres sont facultatifs.

Exemple

Créez un fichier d'élément dans le répertoire src/Template/element appelé helloworld.php. Copiez le code suivant dans ce fichier.

src/Template/element/helloworld.php

<p>Hello World</p>

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

src/Template/Elems/index.php

Element Example: <?php echo $this->element('helloworld'); ?>

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('/element-example',['controller'=>'Elems','action'=>'index']);
   $builder->fallbacks();
});

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

src/Controller/ElemsController.php

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

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

Sortie

Lors de l'exécution, l'URL ci-dessus vous donnera le résultat suivant.

Element Example

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