Heim >Backend-Entwicklung >PHP-Tutorial >CakePHP-Cookie-Verwaltung
Der Umgang mit CakePHP-Cookie-Verwaltungs mit CakePHP ist einfach und sicher. Es gibt eine CakePHP-Cookie-VerwaltungComponent-Klasse, die zum Verwalten von CakePHP-Cookie-Verwaltungs verwendet wird. Die Klasse bietet mehrere Methoden zum Arbeiten mit CakePHP-Cookie-Verwaltungs.
Um mit CakePHP-Cookie-Verwaltungs zu arbeiten, fügen Sie diese beiden Klassen zu Ihrem Controller hinzu −
use Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-Verwaltung; use Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-VerwaltungCollection;
Das CakePHP-Cookie-Verwaltung-Objekt muss zuerst erstellt werden, um ein CakePHP-Cookie-Verwaltung zu registrieren.
$cookie = new CakePHP-Cookie-Verwaltung(name,value,expiration time,path,domain);
Der Name und der Wert sind obligatorisch und andere sind optionale Parameter.
Im Folgenden finden Sie die Syntax zum Schreiben eines CakePHP-Cookie-Verwaltungs.
$cookie = new CakePHP-Cookie-Verwaltung(name,value,expiration time,path,domain);
Das erstellte CakePHP-Cookie-Verwaltung muss wie unten gezeigt zur cookieCollection hinzugefügt werden −
$cookie = new CakePHP-Cookie-Verwaltung('name','XYZ'); $cookies = new CakePHP-Cookie-VerwaltungCollection([$cookie]);
Wenn das CakePHP-Cookie-Verwaltung-Sammelobjekt bereits erstellt wurde, können die restlichen CakePHP-Cookie-Verwaltungs wie unten gezeigt hinzugefügt werden −
$cookies = $cookies->add($cookie);
Um CakePHP-Cookie-Verwaltungs zu lesen, verwenden Sie die Methode get() aus der CakePHP-Cookie-Verwaltung-Sammlung.
Die Syntax zum Lesen von CakePHP-Cookie-Verwaltungs lautet wie folgt: −
Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-VerwaltungCollection::get($name)
Dadurch erhalten Sie die Schnittstelle „cookiecollection“. Um den Wert des CakePHP-Cookie-Verwaltungs zu erhalten, müssen Sie die Methode getValue() aufrufen.
Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-VerwaltungCollection Interface::getValue()
Die Methode has() von cookieCollection sagt Ihnen, ob das CakePHP-Cookie-Verwaltung vorhanden ist oder nicht.
Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-VerwaltungCollection::has($name)
echo $isPresent = $this->cookies->has('name');
Die Methode remove() wird zum Löschen von CakePHP-Cookie-Verwaltungs verwendet. Im Folgenden finden Sie die Syntax der Methode „remove()“.
Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-VerwaltungCollection::remove($name)
Die Methode „remove()“ benötigt ein Argument, den Namen der zu löschenden CakePHP-Cookie-Verwaltung-Variablen ($name).
$test = $this->cookies->remove('name');
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('cookie/testcookies',['controller'=>'CakePHP-Cookie-Verwaltungs','action'=>'testCakePHP-Cookie-Verwaltungs']); $builder->fallbacks(); });
Erstellen Sie eine CakePHP-Cookie-VerwaltungsController.php-Datei unter src/Controller/CakePHP-Cookie-VerwaltungsController.php. Kopieren Sie den folgenden Code in die Controller-Datei.
src/Controller/CakePHP-Cookie-Verwaltungs/CakePHP-Cookie-VerwaltungsController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-Verwaltung; use Cake\Http\CakePHP-Cookie-Verwaltung\CakePHP-Cookie-VerwaltungCollection; class CakePHP-Cookie-VerwaltungsController extends AppController{ public $cookies; public function testCakePHP-Cookie-Verwaltungs() { $cookie = new CakePHP-Cookie-Verwaltung('name','XYZ'); $this->cookies = new CakePHP-Cookie-VerwaltungCollection([$cookie]); $cookie_val = $this->cookies->get('name'); $this->set('cookie_val',$cookie_val->getValue()); $isPresent = $this->cookies->has('name'); $this->set('isPresent',$isPresent); $this->set('count', $this->cookies->count()); $test = $this->cookies->remove('name'); $this->set('count_afterdelete', $test->count()); } } ?>
Erstellen Sie ein Verzeichnis CakePHP-Cookie-Verwaltungs unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem Namen test_cookies.php. Kopieren Sie die Folgender Code in dieser Datei.
src/Template/CakePHP-Cookie-Verwaltung/test_cookies.php
The value of the cookie is: <?php echo $cookie_val; ?> <br> <?php if($isPresent): ?> The cookie is present. <?php else: ?> The cookie isn't present. <?php endif; ?> <br> <?php echo "The count of cookie before delete is :" .$count; ?> <br> <?php echo "The count of cookie after delete is :" .$count_afterdelete; ?>
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen: http://localhost/cakephp4/cookie/testcookies
Das obige ist der detaillierte Inhalt vonCakePHP-Cookie-Verwaltung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!