06/04/2021, 14:46

[Module User] - Thư viện Session - PHP MVC căn bản

Session đóng vai trò khá quan trọng trong một website bởi hầu hết website nào cũng phải sử dụng nó, thường dùng nhất là trong hệ thống quản lý admin. Chúng ta sẽ sử dụng Session để lưu trữ trạng thái đăng nhập và cấp độ của người dùng để từ đó có thể cung cấp các quyền hợp lý. Khi sử dụng Session ...

Session đóng vai trò khá quan trọng trong một website bởi hầu hết website nào cũng phải sử dụng nó, thường dùng nhất là trong hệ thống quản lý admin. Chúng ta sẽ sử dụng Session để lưu trữ trạng thái đăng nhập và cấp độ của người dùng để từ đó có thể cung cấp các quyền hợp lý.

Khi sử dụng Session chúng ta sẽ thực hiện các thao tác get, set và delete. Đây là ba thao tác hay sử dụng nhất nên chúng ta sẽ viết nó thành một thư viện để tiện sử dụng.

1. Viết thư viện Session

Các bạn mở file libs/session.php lên và nhập nội dung sau:

 

// Gán session (SET)
function session_set($key, $val){
    $_SESSION[$key] = $val;
}

// Lấy session (GET)
function session_get($key){
    return (isset($_SESSION[$key])) ? $_SESSION[$key] : false;
}

// Xóa session (DELETE)
function session_delete($key){
    if (isset($_SESSION[$key])){
        unset($_SESSION[$key]);
    }
}

 

Mình sẽ giải thích từng hàm như sau:

Hàm gán session:

 

function session_set($key, $val){
    $_SESSION[$key] = $val;
}

 

Hàm này là phép gán nên ta gán bình thường, không có gì phức tạp cả.

Hàm lấy session:

 

function session_get($key){
    return (isset($_SESSION[$key])) ? $_SESSION[$key] : false;
}

 

Trước khi lấy một key nào đó trong Session thì ta phải kiểm tra key đó có tồn tại hay không, nếu có thì mới lấy và ngược lại thì trả về giá trị FALSE.

Toán tử mà ta dùng trong trường hợp này gọi là toán tử ba ngôi. Nếu viết bình thường thì nó sẽ như sau:

 

function session_get($key){
    if (isset($_SESSION[$key])){
        return $_SESSION[$key];
    }
    return false;
}

 

Xóa session:

 

function session_delete($key){
    if (isset($_SESSION[$key])){
        unset($_SESSION[$key]);
    }
}

 

Trước khi xóa thì chúng ta kiểm tra nó có tồn tại hay không? Chúng ta sử dụng hàm unset để xóa.

2. Lời kết

Như vậy là ta đã viết xong thư viện xử lý database bằng PHP, bài tiếp theo chúng ta sẽ tìm hiểu cách viết thư viện xử lý vấn đề phân quyền và đăng nhập.

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

0