Tải bản đầy đủ (.pdf) (7 trang)

CakePHP Framework: Tìm hiểu cách sử dụng session pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (137.46 KB, 7 trang )







CakePHP Framework: Tìm hiểu cách sử dụng session

Session là khái niệm quan trọng trong lập trình PHP thuần. Nó được sử dụng
để quản lý phiên làm việc của người sử dụng như quản lý cơ chế chứng thực
người dùng (đăng nhập), quản lý việc lưu nhớ thông tin, Và dĩ nhiên
CakePHP Framework cũng cung câp cho chúng ta thư viện để xử lý
session.

Trong bài viết này , tôi sẽ hướng dẫn các bạn cách sử dụng Session trong
CakePHP kèm theo những ví dụ về cách sử dụng trong mỗi trường hợp

Trong CakePHP Framework muốn lập trình ứng dụng thì ta cũng cần có
những thành phần quan trọng như : Helper và Component thông qua hai
biến $helpers và $component

Nếu bạn chưa biết về cách viết helper và component trong cakePHP, vui lòng
xem lại 2 bài viết: Cách viết helper trong CakePHP Framework và cách
viết component trong cakePHP Framework.

Ví dụ khai báo :
1

var $helpers = array('Html', 'Form','Javascript','Ajax','Common');

2



var $components = array('Acl',’Mail’);
Có những thành phần chỉ được khai báo trong $helpers như : Html,Form… ,
$component như : Acl,Mail . Tuy nhiên Session lại là trường hợp ngoại lệ ,
nó có thể khai báo trong cả hai thành phần $helpers và $components.
1

var $helpers = array('Html', 'Form','Javascript','Ajax','Common',’Session’);

2

var $components = array('Acl',’Mail’,’Session’);

Cú pháp sử dụng :
Cho dù Session được khai báo ở $helpers hay $component đi chăng nữa thì
nó cũng có các hàm chính như sau :

a) write($name,$value)
- Lưu session có giá trị $value vào tên $name
- $name có thể sử dụng dấu chấm (.) để tạo thành mảng session
Ví dụ :
1

//Lưu theo cú pháp thông thường
2

$this->Session->write('Username','administrator');

3



4

//Lưu dạng mảng

5

$this->Session->write('Person.name', 'admin');
6

$this->Session->write('Person.email', '');

b) read($name)
- Lấy giá trị của session thông qua tên
Ví dụ :
01

echo $this->Session->read('Username');

02

//kết quả
03

admin
04

pr($this->Session->read('Person'));

05


//kết quả

06

Array
07

(
08

[name] => admin

09

[email] =>

10

)
c) check($name)
- Kiểm tra xem có tồn tại session có tên là $name hay không
Ví dụ: không tồn tại Session Username
1

$this->Session->check('Username');

2

//Kết quả

3

false

d) delete($key)
- Xóa Session thông qua tên
1

//Xóa Session Username
2

$this->Session->delete('Username');

3

//Chỉ xóa Session email của Person
4

$this->Session->delete('Person.email');

5

//Xóa toàn bộ Session Person
6

$this->Session->delete('Person');

e) destroy()
- Xóa toàn bộ Cookie và Session
1


$this->Session->destroy()

f) error()
- Xác định lỗi cuối cùng lên quan tới session

g) setFlash($message, $element = 'default', $params = array(), $key =
'flash')
- Thường sử trong Controllers
+ $message : nội dung hiển thị
+ $element : load file chứa nội dung bao quanh $message .Nội dung được lưu
dạng file *.ctp trong thư mục app/view/elements/
+ $param : dùng dể thay đổi các thuộc tính như : class, id, style
+ $key : mặc định là "flash"
Ví dụ :
Tôi có file sms.ctp (app/views/elements/sms.ctp)
1

<div id="flashMessage" class="message_01"><?php echo $message
;?></div>
Thực hiện lệnh :
1

$this->Session->setFlash('I miss you all the time', 'sms', array('class' =>
'message_02'))
Thì nội dung file sms.ctp sẽ được load và hiển thị là :
1

<div id="flashMessage" class="message_02">I miss you all the time</div>



×