Rumah > pembangunan bahagian belakang > tutorial php > Pengurusan Kuki CakePHP

Pengurusan Kuki CakePHP

WBOY
Lepaskan: 2024-09-10 17:26:47
asal
878 orang telah melayarinya

Mengendalikan Kuki dengan CakePHP adalah mudah dan selamat. Terdapat kelas Pengurusan Kuki CakePHPComponent yang digunakan untuk menguruskan Pengurusan Kuki CakePHP. Kelas menyediakan beberapa kaedah untuk bekerja dengan Kuki.

Untuk menggunakan kuki, tambahkan 2 kelas ini pada pengawal anda −

use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHP;
use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection;
Salin selepas log masuk

Objek kuki perlu dibuat terlebih dahulu untuk mendaftar kuki.

$cookie = new Pengurusan Kuki CakePHP(name,value,expiration time,path,domain);
Salin selepas log masuk
Salin selepas log masuk

Nama dan nilai adalah wajib dan yang lain adalah param pilihan.

Tulis Kuki

Berikut ialah sintaks untuk menulis kuki.

$cookie = new Pengurusan Kuki CakePHP(name,value,expiration time,path,domain);
Salin selepas log masuk
Salin selepas log masuk

Kuki yang dibuat perlu ditambahkan pada kukiCollection seperti yang ditunjukkan di bawah −

$cookie = new Pengurusan Kuki CakePHP('name','XYZ');
$cookies = new Pengurusan Kuki CakePHPCollection([$cookie]);
Salin selepas log masuk

Jika objek pengumpulan kuki sudah dibuat, kuki yang lain boleh ditambah seperti yang ditunjukkan di bawah −

$cookies = $cookies->add($cookie);
Salin selepas log masuk

Baca Kuki

Untuk membaca kuki gunakan kaedah get() daripada cookiecollection.

Sintaks

Sintaks untuk kuki baca adalah seperti berikut −

Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection::get($name)
Salin selepas log masuk

Ini akan mengembalikan anda cookiecollection Interface, untuk mendapatkan nilai cookie, anda perlu memanggil kaedah getValue().

Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection Interface::getValue()
Salin selepas log masuk

Kuki Semak

Kaedah has() daripada cookieCollection akan memberitahu anda, jika cookie itu ada atau tidak.

Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection::has($name)
Salin selepas log masuk

Contoh

echo $isPresent = $this->cookies->has('name');
Salin selepas log masuk

Padam Kuki

Kaedah move() digunakan untuk memadamkan kuki. Berikut ialah sintaks kaedah remove().

Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection::remove($name)
Salin selepas log masuk

Kaedah remove() akan mengambil satu hujah, nama pembolehubah kuki ($nama) untuk dipadamkan.

Contoh 1

$test = $this->cookies->remove('name');
Salin selepas log masuk

Contoh 2

Buat perubahan dalam fail config/routes.php seperti yang ditunjukkan dalam program berikut.

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'=>'Pengurusan Kuki CakePHPs','action'=>'testPengurusan Kuki CakePHPs']);
   $builder->fallbacks();
});
Salin selepas log masuk

Buat fail Pengurusan Kuki CakePHPsController.php di src/Controller/Pengurusan Kuki CakePHPsController.php. Salin kod berikut dalam fail pengawal.

src/Controller/Pengurusan Kuki CakePHPs/Pengurusan Kuki CakePHPsController.php

<?php namespace App\Controller;
   use App\Controller\AppController;
   use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHP;
   use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection;
   class Pengurusan Kuki CakePHPsController extends AppController{
      public $cookies;
      public function testPengurusan Kuki CakePHPs() {
         $cookie = new Pengurusan Kuki CakePHP('name','XYZ');
         $this->cookies = new Pengurusan Kuki CakePHPCollection([$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());
      }
   }
?>
Salin selepas log masuk

Buat direktori Kuki di src/Templat dan di bawah direktori itu cipta fail Lihat bernama test_cookies.php. Salin mengikuti kod dalam fail itu.

src/Template/Pengurusan Kuki CakePHP/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;
?>
Salin selepas log masuk

Output

Laksanakan contoh di atas dengan melawati URL berikut − http://localhost/cakephp4/cookie/testcookies

Pengurusan Kuki CakePHP

Atas ialah kandungan terperinci Pengurusan Kuki CakePHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan