Der CakePHP-Controller steuert, wie der Name schon sagt, die Anwendung. Es fungiert wie eine Brücke zwischen Modellen und Ansichten. CakePHP-Controller verarbeiten Anforderungsdaten und stellen sicher, dass die richtigen Modelle aufgerufen und die richtige Antwort oder Ansicht gerendert werden.
Methoden in der CakePHP-Controller-Klasse werden Aktionen genannt. Jeder CakePHP-Controller folgt Namenskonventionen. Die CakePHP-Controller-Klassennamen haben die Pluralform Camel Cased und enden auf CakePHP-Controller – PostsCakePHP-Controller.
AppCakePHP-Controller
Die Klasse AppConttroller ist die übergeordnete Klasse aller Anwendungscontroller. Diese Klasse erweitert die CakePHP-Controller-Klasse von CakePHP. AppCakePHP-Controller ist unter src/CakePHP-Controller/AppCakePHP-Controller.php definiert. Die Datei enthält den folgenden Code.
<?php declare(strict_types=1); namespace App\CakePHP-Controller; use Cake\CakePHP-Controller\CakePHP-Controller; class AppCakePHP-Controller extends CakePHP-Controller { public function initialize(): void { parent::initialize(); $this->loadComponent('RequestHandler'); $this->loadComponent('Flash'); } }
AppCakePHP-Controller kann zum Laden von Komponenten verwendet werden, die in jedem CakePHP-Controller Ihrer Anwendung verwendet werden. Die in AppCakePHP-Controller erstellten Attribute und Methoden sind in allen CakePHP-Controllern verfügbar, die ihn erweitern. Die Methode initialize() wird am Ende des CakePHP-Controller-Konstruktors aufgerufen, um Komponenten zu laden.
CakePHP-Controller-Aktionen
Die Methoden in der CakePHP-Controller-Klasse werden Aktionen genannt. Diese Aktionen sind dafür verantwortlich, dass dem Browser/Benutzer, der die Anfrage stellt, eine angemessene Antwort gesendet wird. Die Ansicht wird durch den Namen der Aktion gerendert, d. h. durch den Namen der Methode im CakePHP-Controller.
Beispiel
class RecipesCakePHP-Controller extends AppCakePHP-Controller { public function view($id) { // Action logic goes here. } public function share($customerId, $recipeId) { // Action logic goes here. } public function search($query) { // Action logic goes here. } }
Wie Sie im obigen Beispiel sehen können, verfügt der RecipesCakePHP-Controller über drei Aktionen: Anzeigen, Teilen und Suchen.
Weiterleitung
Um einen Benutzer zu einer anderen Aktion desselben CakePHP-Controllers umzuleiten, können wir die Methode setAction() verwenden. Das Folgende ist die Syntax für die setAction()-Methode.
Cake\CakePHP-Controller\CakePHP-Controller::setAction($action, $args...)
Der folgende Code leitet den Benutzer zur Indexaktion desselben CakePHP-Controllers weiter.
$this->setAction('index');
Das folgende Beispiel zeigt die Verwendung der oben genannten Methode.
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('/redirect-controller',['controller'=>'CakePHP-Controllers','action'=>'action1']); $builder->connect('/redirect-controller2',['controller'=>'CakePHP-Controllers','action'=>'action2']); $builder->fallbacks(); });
Erstellen Sie eine CakePHP-ControllersCakePHP-Controller.php-Datei unter src/CakePHP-Controller/CakePHP-ControllersCakePHP-Controller.php. Kopieren Sie den folgenden Code in die CakePHP-Controller-Datei.
src/CakePHP-Controller/CakePHP-ControllersCakePHP-Controller.php
<?php declare(strict_types=1); namespace App\CakePHP-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 CakePHP-ControllersCakePHP-Controller extends AppCakePHP-Controller { public function action1() { } public function action2(){ echo "redirecting from action2"; $this->setAction('action1'); } }
Erstellen Sie ein Verzeichnis CakePHP-Controllers unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem Namen action1.php. Kopieren Sie den folgenden Code in diese Datei.
src/Template/CakePHP-Controllers/action1.php
<h1 id="This-is-an-example-of-how-to-redirect-within-controller">This is an example of how to redirect within controller.</h1>
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen.
http://localhost/cakephp4/redirect-controller
Ausgabe
Bei der Ausführung erhalten Sie die folgende Ausgabe.

Besuchen Sie nun die folgende URL: http://localhost/cakephp4/redirect-controller2
Die obige URL liefert die folgende Ausgabe.

Modelle laden
In CakePHP kann ein Modell mit der Methode loadModel() geladen werden. Im Folgenden finden Sie die Syntax für die Methode loadModel() −
Cake\CakePHP-Controller\CakePHP-Controller::loadModel(string $modelClass, string $type)
Es gibt zwei Argumente für die obige Funktion wie folgt: −
Das erste Argument ist der Name der Modellklasse.
Das zweite Argument ist der Typ des zu ladenden Repositorys.
Beispiel
Wenn Sie das Artikelmodell in einen CakePHP-Controller laden möchten, können Sie es laden, indem Sie die folgende Zeile in die Aktion des CakePHP-Controllers schreiben.
$this->loadModel('Articles');
Das obige ist der detaillierte Inhalt vonCakePHP-Controller. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PHPSSIONS CANSTORESTRINGEN, ZUGNALTEN, ARRAYS, ANDOBjekte.1.

TostartaphpSession, useSession_start () atthescript'Sbeginning.1) PlaCEITBEFOREANYOUTPUTTOTHESESSIONSCOOKIE.2) useSsionsforuserDatalikeloginStatusOrShopingCarts

Die Sitzung der Sitzung bezieht sich auf die Generierung einer neuen Sitzungs -ID und die Ungültigmachung der alten ID, wenn der Benutzer sensible Vorgänge bei festgelegten Sitzungsangriffen ausführt. Die Implementierungsschritte umfassen: 1. Erkennen sensibler Vorgänge, 2. Erstellen neuer Sitzungs-ID, 3..

PHP -Sitzungen haben erhebliche Auswirkungen auf die Anwendungsleistung. Zu den Optimierungsmethoden gehören: 1. Verwenden Sie eine Datenbank, um Sitzungsdaten zu speichern, um die Antwortgeschwindigkeit zu verbessern; 2. Reduzieren Sie die Verwendung von Sitzungsdaten und speichern Sie nur die erforderlichen Informationen. 3.. Verwenden Sie einen nicht blockierenden Sitzungsprozessor, um die Parallelitätsfunktionen zu verbessern. 4. Passen Sie die Ablaufzeit der Sitzung an, um Benutzererfahrung und Serverbelastung auszugleichen. 5. Verwenden Sie persistente Sitzungen, um die Anzahl der Les- und Schreibzeiten zu verringern.

PhpSessionsaresServer-Side, whilecookiesareclient-Side.1) SESSIsions Storedataontheserver, Aremoresecure und Handlelargerdata.2) CookieStoredataoneTheClient, AslosenSecure und LimitedInsiesindaSsibilitäts- und -Stasibilitäts- und -Stasibilitäts- und -Anssibilitäts- und -Anssibilitätsporsedataandcookiesefornonsesibel, adailliertes, adailliertes, adailliertes, adailliertes, adailliertes, addiertes-addiertes- und -Staillieren- und -Anssistieren, und -Anssibilitätsporsedaten- und -Sta- und addierta und -Anssibilitäts- und addiertes- und addailliert.

PhpidentifiesAsersSSessionUsingSSessionCookiesAndSessionIDs.1) WHANE Session_Start () iscalled, phpGeneratesAuniqueSessionIDStoredInacookienMamePhpSsidontonTheusers.2) thisidallowStoretrieVessionDataFromtheServer.

Die Sicherheit von PHP -Sitzungen kann durch folgende Maßnahmen erreicht werden: 1. Verwenden Sie Session_regenerate_id (), um die Sitzungs -ID zu regenerieren, wenn sich der Benutzer anmeldet oder eine wichtige Operation ist. 2. Verschlüsseln Sie die Übertragungssitz -ID durch das HTTPS -Protokoll. A. Verwenden Sie Session_save_path (), um das sichere Verzeichnis anzugeben, um Sitzungsdaten zu speichern und Berechtigungen korrekt festzulegen.

PhpSessionFilesArestoredinTHedRectorySpecifiedBySession.save_path, typischerweise/tmponunix-likesystemsorc: \ windows \ temponwindows


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung
