Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan komponen Sesi dalam CakePHP?
CakePHP ialah rangka kerja MVC yang dibangunkan berdasarkan PHP Ia menyediakan banyak komponen untuk membantu pembangun membangunkan aplikasi web berkualiti tinggi. Salah satu komponen yang paling biasa ialah komponen Sesi, yang membolehkan pembangun mengendalikan data sesi pengguna dengan mudah. Dalam artikel ini, kami akan memperkenalkan secara terperinci cara menggunakan komponen Sesi dalam CakePHP.
1. Apakah itu Sesi?
Sesi ialah konsep yang sangat penting dalam aplikasi Web Ringkasnya, Sesi ialah sejenis data yang disimpan di bahagian pelayan, digunakan untuk menyimpan maklumat sesi pengguna. Sesi boleh membantu pembangun menyimpan dan menjejak data yang biasanya termasuk status log masuk, data troli beli-belah, pilihan pengguna, maklumat interaksi dan banyak lagi.
Dalam CakePHP, Session ialah mekanisme yang dibina pada Cookie Menggunakan komponen Sesi boleh membantu pembangun melaksanakan mekanisme sesi dengan mudah.
2. Gunakan komponen Sesi
Untuk menggunakan komponen Sesi, kita perlu terlebih dahulu mendayakan komponen Sesi dalam Aplikasi CakePHP. Kami boleh mendayakan Sesi dengan mengubah suai fail konfigurasi aplikasi.
Buka fail config/bootstrap.php aplikasi dan cari kod berikut:
// Muatkan pelancar
perlukan dirname(__DIR__) '/vendor/autoload.php';
// Muatkan konfigurasi
memerlukan dirname(__DIR__) '/config/bootstrap.php';
Ubah suai kepada kod berikut:
// Muatkan Pelancar
memerlukan dirname(__DIR__) . '/vendor/autoload.php';
// Muatkan konfigurasi
memerlukan dirname(__DIR__)
CakephpCoreConfigure::write('Session', [
'defaults' => 'php']);Di sini kami menggunakan php sebagai kaedah penyimpanan Sesi kaedah storan lain untuk dipilih, seperti pangkalan data, Memcached, dsb.
gunakan CakeControllerComponentSessionComponent;
// 初始化Session组件 public $components = [ 'Session' ]; public function index() { // 写入Session数据 $this->Session->write('username', 'john'); }> }
Kod sampel di atas menunjukkan cara menulis nama pengguna ke dalam Sesi.
Selain menggunakan kaedah set(), komponen Sesi juga menyediakan kaedah lain untuk menulis data Sesi:
a write(): Tulis data Sesi
$ this->Session->write('key', 'value');
b read(): Baca data Sesi
$data = $this->Session -. >read('key');
c. delete(): Padamkan data Sesi
$this->Session->delete('key');
Membaca data SesiBuka pengawal dan tambah kod berikut:
//Perkenalkan komponen Sesi
gunakan CakeControllerComponentSessionComponent;
class UsersController memanjangkan AppController {
// 初始化Session组件 public $components = [ 'Session' ]; public function index() { // 读取Session数据 $username = $this->Session->read('username'); // 将数据传递到模板 $this->set('username', $username); }> }Kod di atas menunjukkan cara membaca data Sesi dalam pengawal dan menghantar data ke templat.
Padam data Sesi
gunakan CakeControllerComponentSessionComponent;
class UsersController memanjangkan AppController {
// 初始化Session组件 public $components = [ 'Session' ]; public function remove() { // 删除Session数据 $this->Session->delete('username'); }> }
Kod sampel di atas menunjukkan cara untuk memadamkan data Sesi.
Kosongkan data Sesi//Perkenalkan komponen Sesi
gunakan CakeControllerComponentSessionComponent;class UsersController memanjangkan AppController {// 初始化Session组件 public $components = [ 'Session' ]; public function logout() { // 清空Session数据 $this->Session->destroy(); }> }
Atas ialah kandungan terperinci Bagaimana untuk menggunakan komponen Sesi dalam CakePHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!