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

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

PHPBECAMEPOPULARFORWebDevelopmentDuetoitSeaseoflearning, Seamlessintegrationwithhtml, weit verbreitete Hostingsupport, andalargeecosystemincludingFrameWorkelaravelandcmsplatformen -?hnliche WordPress.itexcelsinformlingsformen, Managingusesersions, Interacti

Tosettherighttimezoneinphp, usedate_default_timezone_set () functionAtthestartofyourScriptWithAvalididentifiersuchas'america/new_york'.1.usedate_default_timezone_set () beeanydate/timeFununtions.2.Alternativ, konfigurieren

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

ThePHPfunctionsserialize()andunserialize()areusedtoconvertcomplexdatastructuresintostorablestringsandbackagain.1.serialize()convertsdatalikearraysorobjectsintoastringcontainingtypeandstructureinformation.2.unserialize()reconstructstheoriginaldatafrom

Sie k?nnen PHP -Code in HTML -Dateien einbetten, stellen Sie jedoch sicher, dass die Datei eine Erweiterung von .PHP enth?lt, damit der Server sie richtig analysieren kann. Verwenden Sie Standard -Tags, um PHP -Code einzuwickeln und dynamische Inhalte überall in HTML einfügen. Darüber hinaus k?nnen Sie PHP und HTML mehrmals in derselben Datei wechseln, um dynamische Funktionen wie das bedingte Rendering zu realisieren. Achten Sie darauf, dass Sie die Serverkonfiguration und die Syntax -Korrektheit beachten, um Probleme zu vermeiden, die durch kurze Bezeichnungen, Anführungszeichenfehler oder weggelassene Endbezeichnungen verursacht werden.

Der Schlüssel zum Schreiben von sauberem und leicht zu machenden PHP-Code liegt in klarer Benennung, nach Standards, angemessene Struktur, nützlicher Kommentare und Testbarkeit. 1. Verwenden Sie klare Variablen, Funktionen und Klassennamen wie $ userData und calculatetotalprice (); 2. Folgen Sie dem PSR-12-Standard-Unified-Code-Stil; 3. Teilen Sie die Codestruktur gem?? den Verantwortlichkeiten und organisieren Sie sie mit MVC- oder Laravel-Katalogen im Stil. 4. Vermeiden Sie den Code im Nudelstil und teilen Sie die Logik in kleine Funktionen mit einer einzigen Verantwortung auf. 5. Kommentare an Schlüsselpunkten hinzufügen und Schnittstellendokumente schreiben, um Parameter, Rückgabewerte und Ausnahmen zu kl?ren. 6. Verbesserung der Prüfbarkeit, Abh?ngigkeitsinjektion, reduzieren Sie den globalen Zustand und die statischen Methoden. Diese Praktiken verbessern die Codequalit?t, die Effizienz der Zusammenarbeit und die Nachverdauerung nach der Wartung.

Ja, YoucanrunsqlQuerieseusePhp und TheProcessinvolveschoosingAdaTabaseextension, ConnectingTothedatabase, ExecutingQueriessafely und ClosenconnectionSwhendone.Todothis, FirstChooseBetweenmysqliorpdo, withpdobeeringmortextextextextextextextextextediestimestutedieseduetosuTosuTosuTosuToseSupporingMulningMulningMulningMulningMuldaTaTablesingmorebotte, withpdobeeringmortextextextextextextediestubliothekern
