Heim >Backend-Entwicklung >PHP-Tutorial >CakePHP-Cookie-Verwaltung

CakePHP-Cookie-Verwaltung

WBOY
WBOYOriginal
2024-09-10 17:26:47868Durchsuche

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.

CakePHP-Cookie-Verwaltung schreiben

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);

CakePHP-Cookie-Verwaltung lesen

Um CakePHP-Cookie-Verwaltungs zu lesen, verwenden Sie die Methode get() aus der CakePHP-Cookie-Verwaltung-Sammlung.

Syntax

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()

CakePHP-Cookie-Verwaltung prüfen

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)

Beispiel

echo $isPresent = $this->cookies->has('name');

CakePHP-Cookie-Verwaltung löschen

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).

Beispiel 1

$test = $this->cookies->remove('name');

Beispiel 2

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;
?>

Ausgabe

Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen: http://localhost/cakephp4/cookie/testcookies

CakePHP-Cookie-Verwaltung

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:CakePHP-SitzungsverwaltungNächster Artikel:CakePHP-Sitzungsverwaltung