CakePHP-Ansichten

PHPz
Freigeben: 2024-09-10 17:25:25
Original
902 Leute haben es durchsucht

Der Buchstabe „V“ im MVC steht für Views. Ansichten sind dafür verantwortlich, die Ausgabe auf Anfrage an den Benutzer zu senden. Klassen anzeigen ist eine leistungsstarke Möglichkeit, den Entwicklungsprozess zu beschleunigen.

Vorlagen anzeigen

Die View Templates-Datei von CakePHP ruft Daten vom Controller ab und rendert dann die Ausgabe, damit sie dem Benutzer richtig angezeigt werden kann. Wir können Variablen und verschiedene Kontrollstrukturen in der Vorlage verwenden.

Vorlagendateien werden in src/Template/ gespeichert, in einem Verzeichnis, das nach dem Controller benannt ist, der die Dateien verwendet, und benannt nach der Aktion, der sie entsprechen. Beispielsweise befindet sich die Datei Ansichtfür die Aktion „view()“ des Produktcontrollers normalerweise in src/Template/Products/view.php.

Kurz gesagt, der Name des Controllers (ProductsController) ist derselbe wie der Name des Ordners (Products), jedoch ohne das Wort Controller, und der Name der Aktion/Methode (view()) des Controllers (ProductsController) ist derselbe wie der Name der View-Datei (view.php).

Variablen anzeigen

Ansichtsvariablen sind Variablen, die den Wert vom Controller erhalten. Wir können in Ansichtsvorlagen so viele Variablen verwenden, wie wir möchten. Wir können die Methode set() verwenden, um Werte an Variablen in Ansichten zu übergeben. Diese festgelegten Variablen sind sowohl in der Ansicht als auch im Layout verfügbar, das Ihre Aktion rendert. Das Folgende ist die Syntax der Methode set().

Cake\View\View::set(string $var, mixed $value)
Nach dem Login kopieren

Diese Methode benötigt zwei Argumente: den Namen der Variablen und ihren Wert.

Beispiel

Nehmen Sie Änderungen in der Datei config/routes.php vor, wie im folgenden Programm gezeigt.

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();
});
Nach dem Login kopieren

Erstellen Sie eine ProductsController.php-Datei unter src/Controller/ProductsController.php. Kopieren Sie den folgenden Code in die Controller-Datei.

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');
   }
}
Nach dem Login kopieren

Erstellen Sie ein Verzeichnis „Products“ unter src/Template und erstellen Sie unter diesem Ordner eine View-Datei mit dem Namen view.php. Kopieren Sie den folgenden Code in diese Datei.

Value of variable is: <?php echo $Product_Name; ? >
Nach dem Login kopieren

Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen.

http://localhost/cakephp4/template

Ausgabe

Die obige URL erzeugt die folgende Ausgabe.

CakePHP-Ansichten

Das obige ist der detaillierte Inhalt vonCakePHP-Ansichten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage