CakePHP-Sitzungsverwaltung
Sep 10, 2024 pm 05:26 PMSitzung erm?glicht uns die Verwaltung einzelner Benutzer über Anfragen hinweg und speichert Daten für bestimmte Benutzer. Auf Sitzungsdaten kann überall zugegriffen werden, wo Sie Zugriff auf das Anforderungsobjekt haben, d. h. Sitzungen sind von Controllern, Ansichten, Helfern, Zellen und Komponenten aus zug?nglich.
Auf Sitzungsobjekt zugreifen
Sitzungsobjekte k?nnen durch Ausführen des folgenden Codes erstellt werden.
$session = $this->request->session();
Sitzungsdaten schreiben
Um etwas in einer Sitzung zu schreiben, k?nnen wir die Methode write() session verwenden.
Session::write($key, $value)
Die obige Methode ben?tigt zwei Argumente, den Wert und den Schlüssel, unter dem der Wert gespeichert wird.
Beispiel
$session->write('name', 'Virat Gandhi');
Sitzungsdaten lesen
Um gespeicherte Daten aus der Sitzung abzurufen, k?nnen wir die Methode read() session verwenden.
Session::read($key)
Die obige Funktion ben?tigt nur ein Argument, n?mlich den Schlüssel des Werts, der zum Zeitpunkt des Schreibens der Sitzungsdaten verwendet wurde. Sobald der richtige Schlüssel angegeben wurde, gibt die Funktion ihren Wert zurück.
Beispiel
$session->read('name');
Wenn Sie überprüfen m?chten, ob bestimmte Daten in der Sitzung vorhanden sind oder nicht, k?nnen Sie die Methode check() session verwenden.
Session::check($key)
Die obige Funktion verwendet nur den Schlüssel als Argument.
Beispiel
if ($session->check('name')) { // name exists and is not null. }
Sitzungsdaten l?schen
Um Daten aus der Sitzung zu l?schen, k?nnen wir die Methode delete() session verwenden, um die Daten zu l?schen.
Session::delete($key)
Die obige Funktion übernimmt nur den Schlüssel des Werts, der aus der Sitzung gel?scht werden soll.
Beispiel
$session->delete('name');
Wenn Sie Daten aus der Sitzung lesen und dann l?schen m?chten, k?nnen wir die Methode consume() session verwenden.
static Session::consume($key)
Die obige Funktion verwendet nur den Schlüssel als Argument.
Beispiel
$session->consume('name');
Eine Sitzung zerst?ren
Wir müssen eine Benutzersitzung zerst?ren. Wenn sich der Benutzer von der Site abmeldet, wird zum Zerst?ren der Sitzung die Methode destroy() verwendet.
Session::destroy()
Beispiel
$session->destroy();
Durch das Zerst?ren der Sitzung werden alle Sitzungsdaten vom Server entfernt, das Sitzungscookie wird jedoch nicht entfernt.
Eine Sitzung verl?ngern
In einer Situation, in der Sie die Benutzersitzung dann erneuern m?chten, k?nnen wir die Methode renew() session verwenden.
Session::renew()
Beispiel
$session->renew();
Sitzung abschlie?en
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) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('/session-object',['controller'=>'Sessions','action'=>'index']); $builder->connect('/session-read',['controller'=>'Sessions','action'=>'retrieve_session_data']); $builder->connect('/session-write',['controller'=>'Sessions','action'=> 'write_session_data']); $builder->connect('/session-check',['controller'=>'Sessions','action'=>'check_session_data']); $builder->connect('/session-delete',['controller'=>'Sessions','action'=>'delete_session_data']); $builder->connect('/session-destroy',['controller'=>'Sessions','action'=>'destroy_session_data']); $builder->fallbacks(); });
Erstellen Sie eine Datei SessionsController.php unter src/Controller/SessionsController.php. Kopieren Sie den folgenden Code in die Controller-Datei
src/Controller/SessionsController.php
<?php namespace App\Controller; use App\Controller\AppController; class SessionsController extends AppController { public function retrieveSessionData() { //create session object $session = $this->request->getSession(); //read data from session $name = $session->read('name'); $this->set('name',$name); } public function writeSessionData(){ //create session object $session = $this->request->getSession(); //write data in session $session->write('name','Virat Gandhi'); } public function checkSessionData(){ //create session object $session = $this->request->getSession(); //check session data $name = $session->check('name'); $address = $session->check('address'); $this->set('name',$name); $this->set('address',$address); } public function deleteSessionData(){ //create session object $session = $this->request->getSession(); //delete session data $session->delete('name'); } public function destroySessionData(){ //create session object $session = $this->request->getSession(); //destroy session $session->destroy(); } } ?>
Erstellen Sie ein Verzeichnis Sessions unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem CakePHP-Sitzungsverwaltungn write_session_data.php. Kopieren Sie die Folgender Code in dieser Datei.
src/Template/Sessions/write_session_data.php
The data has been written in session.
Erstellen Sie eine weitere View-Datei mit dem CakePHP-Sitzungsverwaltungn retrieve_session_data.php im selben Sessions-Verzeichnis und kopieren Sie den folgenden Code in diese Datei.
src/Template/Sessions/retrieve_session_data.php
Here is the data from session. CakePHP-Sitzungsverwaltung: =$name;?>
Erstellen Sie eine weitere View-Datei mit dem CakePHP-Sitzungsverwaltungn check_session_data.ctp im selben Sitzungsverzeichnis und kopieren Sie den folgenden Code in diese Datei.
src/Template/Sessions/check_session_data.ctp
<?php if($name): ?> name exists in the session. <?php else: ?> name doesn't exist in the database <?php endif;?> <?php if($address): ?> address exists in the session. <?php else: ?> address doesn't exist in the database <?php endif;?>
Erstellen Sie eine weitere View-Datei mit dem CakePHP-Sitzungsverwaltungn delete_session_data.ctp, im selben Sitzungsverzeichnis und kopieren Sie den folgenden Code in diese Datei.
src/Template/Sessions/delete_session_data.ctp
Data deleted from session.
Erstellen Sie eine weitere View-Datei mit dem CakePHP-Sitzungsverwaltungn destroy_session_data.ctp im selben Sitzungsverzeichnis und kopieren Sie den folgenden Code in diese Datei.
src/Template/Sessions/destroy_session_data.ctp
Session CakePHP-Sitzungsverwaltung.
Ausgabe
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen. Diese URL hilft Ihnen beim Schreiben von Daten in der Sitzung.
http://localhost/cakephp4/session-write

Besuchen Sie die folgende URL um Sitzungsdaten zu lesen: http://localhost/cakephp4/session-read

Besuchen Sie die folgende URL um Sitzungsdaten zu überprüfen ? http://localhost/cakephp4/session-check

Besuchen Sie die folgende URL um Sitzungsdaten zu l?schen ? http://localhost/cakephp4/session-delete Besuchen Sie die

Besuchen Sie die folgende URL um Sitzungsdaten zu zerst?ren ? http://localhost/cakephp4/session-destroy

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

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Um zwei PHP -Arrays zusammenzuführen und eindeutige Werte zu behalten, gibt es zwei Hauptmethoden. 1. Verwenden Sie für Index -Arrays oder nur Deduplizierung Array_merge und Array_unique -Kombinationen: Zuerst merge array_merge ($ array1, $ array2) und verwenden Sie dann Array_unique (), um sie endgültig zu erhalten, um ein neues Array zu erhalten, das alle eindeutigen Werte enth?lt. 2. Verwenden Sie für assoziative Arrays und m?chten im ersten Array Schlüsselwertepaare beibehalten: $ result = $ array1 $ array2, was sicherstellt, dass die Schlüssel im ersten Array vom zweiten Array nicht überschrieben werden. Diese beiden Methoden gelten für verschiedene Szenarien, je nachdem, ob der Schlüsselname beibehalten wird oder nur der Fokus liegt

exit () ist eine Funktion in PHP, mit der die Skriptausführung sofort beendet wird. Zu den gemeinsamen Verwendungen geh?ren: 1. Beenden Sie das Skript im Voraus, wenn eine Ausnahme erkannt wird, z. 2. Ausgabe Zwischenergebnisse w?hrend des Debuggens und Stoppenausführung; 3. Aufrufen von Exit () nach Umleitung in Verbindung mit Header (), um die nachfolgende Codeausführung zu verhindern; Zus?tzlich kann Exit () String -Parameter als Ausgabeinhalt oder Ganzzahlen als Statuscode akzeptieren, und sein Alias ??ist die ().

Die rationale Verwendung semantischer Tags in HTML kann die Klarheit, Zug?nglichkeit und SEO -Effekte der Seitenstruktur verbessern. 1. für unabh?ngige Inhaltsbl?cke wie Blog-Beitr?ge oder Kommentare muss sie in sich geschlossen werden. 2. für klassifizierungsbezogene Inhalte, die normalerweise Titel enthalten, ist für verschiedene Module der Seite geeignet. 3.. Wird für Hilfsinformationen im Zusammenhang mit dem Hauptinhalt verwendet, nicht jedoch Kern, wie z. B. Seitenleistenempfehlungen oder Autorprofile. In der tats?chlichen Entwicklung sollten Etiketten kombiniert und andere, überm??ige Verschachtelung vermeiden, die Struktur einfach halten und die Rationalit?t der Struktur durch Entwicklerwerkzeuge überprüfen.

Wenn Sie auf die Eingabeaufforderung sto?en "Dieser Vorgang erfordert die Eskalation der Berechtigungen", müssen Sie die Administratorberechtigungen ben?tigen, um fortzufahren. Zu den L?sungen geh?ren: 1. Klicken Sie mit der rechten Maustaste auf das Programm "AS Administrator ausführen" oder setzen Sie die Verknüpfung so fest, dass immer als Administrator ausgeführt wird. 2. überprüfen Sie, ob es sich bei dem Girokonto um ein Administratorkonto handelt, falls nicht die Unterstützung von Administratoren, wenn nicht. 3.. Verwenden Sie Administratorberechtigungen, um eine Eingabeaufforderung oder eine PowerShell zu ?ffnen, um relevante Befehle auszuführen. 4. Umgehen Sie die Beschr?nkungen, indem Sie bei Bedarf Dateienbesitz oder ?nderungen der Registrierung ?ndern. Solche Vorg?nge müssen jedoch vorsichtig sein und die Risiken vollst?ndig verstehen. Best?tigen Sie die Erlaubnisidentit?t und versuchen Sie die oben genannten Methoden normalerweise l?sen.

Es gibt zwei M?glichkeiten, ein Array in PHP zu erstellen: Verwenden Sie die Funktion array () oder verwenden Sie Klammern []. 1. Die Verwendung der Funktion array () ist eine traditionelle Art und Weise mit guter Kompatibilit?t. Definieren Sie Indexarrays wie $ fruits = Array ("Apple", "Banana", "Orange") und assoziative Arrays wie $ user = array ("name" => "John", "Age" => 25); 2. Die Verwendung [] ist eine einfachere M?glichkeit, seit Php5.4 wie $ Color zu unterstützen

Die M?glichkeit zur Verarbeitung von Roh Postdaten in PHP besteht darin, $ rawdata = file_get_contents ('php: // input') zu verwenden, die zum Empfangen von JSON-, XML- oder anderen benutzerdefinierten Formatdaten geeignet ist. 1.PHP: // Eingabe ist ein schreibgeschützter Stream, der nur in Postanforderungen gültig ist. 2. H?ufige Probleme umfassen Serverkonfiguration oder Middleware -Lese -Eingabestreams, wodurch es unm?glich ist, Daten zu erhalten. 3. Die Anwendungsszenarien umfassen das Empfangen von Front-End-Abrufanfragen, Service-Rückrufe von Drittanbietern und das Erstellen von Rastfulapis; V. 5. Gew?hnlicher HTM

Um PHP -Datei -Uploads sicher zu verarbeiten, müssen Sie die Quelle und die Type und die Eingabe des Dateinamens und des Pfades überprüfen, Serverbeschr?nkungen festlegen und Mediendateien zweimal verarbeiten. 1. überprüfen Sie die Upload -Quelle, um CSRF durch Token zu verhindern, und erkennen Sie den realen MIME -Typ über die Finfo_file mithilfe der Whitelist -Steuerung. 2. Benennen Sie die Datei in eine zuf?llige Zeichenfolge um und bestimmen Sie die Erweiterung, um sie gem?? dem Erkennungstyp in einem Verzeichnis ohne Web zu speichern. 3. Die PHP -Konfiguration begrenzt die Hochladengr??e und das tempor?re Verzeichnis Nginx/Apache verbietet den Zugriff auf das Upload -Verzeichnis. 4. Die GD -Bibliothek stellt die Bilder neu, um potenzielle b?swillige Daten zu l?schen.

Inphp, variablenArepassedByValuebyDefault, BedeutungFunctionsSignmentsRecepeacopyofthedata, whilepassingyreferenceAllowsModificationStoeTheoriginalVariable.1.Weit PassingByValue, Changestothecopydonottheoriginal, Asshown, Asshown, $ b = $ -Pectheoriginal, Asshown, $ $ -Pectheoriginal, Asshown, $ organ
