Heim >Backend-Entwicklung >PHP-Tutorial >CakePHP-Ansichten
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.
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).
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)
Diese Methode benötigt zwei Argumente: den Namen der Variablen und ihren Wert.
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(); });
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'); } }
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; ? >
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen.
http://localhost/cakephp4/template
Die obige URL erzeugt die folgende Ausgabe.
Das obige ist der detaillierte Inhalt vonCakePHP-Ansichten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!