[PHP] – Bài 9: Biến siêu toàn cục trong PHP

0 89

Trong bài học này, chúng ta sẽ tìm hiểu về khái niệm biến siêu toàn cục trong PHP. Một vài biến được định nghĩa sẳn trong PHP là “superglobals”, nghĩa là chúng luôn có thể truy cập, bất chấp phạm vi và bạn có thể truy cập chúng từ bên bất kỳ hàm, class hoặc file.

Video Biến siêu toàn cục trong PHP

Hướng dẫn chi tiết

Các biến superglobal trong PHP là: $GLOBALS, $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES, $_COOKIE, $_SESSION

$GLOBALS

$ GLOBALS là một biến siêu toàn cục trong PHP được sử dụng để truy cập các biến toàn cục từ bất kỳ đâu trong tập lệnh PHP (cũng từ bên trong các hàm hoặc phương thức).

function global_demo() {
    $bien = 'Biến cục bộ;
    echo '$bien in global scope: ' . $GLOBALS["bien"] . "\n";
    echo '$foo in current scope: ' . $bien. "\n";
}
$bien = "Demo content";
global_demo();

PHP lưu trữ tất cả các biến toàn cục trong một mảng gọi là $ GLOBALS [index]. index là tên của biến.

Trong ví dụ bên trên, nếu muốn dùng $bien trong hàm global_demo, các bạn cần truyền theo dạng tham số của hàm. Khi dùng biến siêu toàn cục $GLOBALS[“bien”], các bạn có thể gọi $bien từ bất kỳ đâu.

$_SERVER

Vài nét về HTTP

HTTP là viết tắt của “HyperText Transfer Protocol”, hay còn gọi là giao thức truyền tải siêu văn bản. Tức là nó dùng để chuyển và nhận dữ liệu mỗi khi có yêu cầu. HTTP header là phần đầu của HTTP (head là đầu rồi) trong mỗi request mà client gửi tới server cũng như response của server gửi về cho client.

Mỗi khi truy cập vô một url thì chúng ta sẽ thực hiện gửi và nhận nhiều HTTP request nên đồng thời cũng gửi và nhận nhiều HTTP header kèm theo. Bởi vì được “gửi và nhận bởi client và server” nên HTTP header sẽ chứa thông tin chủ yếu về client và server. Cụ thể là thông tin của trình duyệt, thông tin cấu hình server, ngày tháng, thông tin về request page, kiểu dữ liệu truyền tải,…

$_SERVER là biến siêu toàn cục trong PHP

$_SERVER là biến siêu toàn cục trong PHP được dùng để chứa thông tin về headers, đường dẫn, địa chỉ lưu trữ tập lệnh. $_SERVER được thiết lập bởi máy chủ và liên quan trực tiếp đến môi trường chạy hiện tại của tập lệnh PHP.

$ _SERVER có các thuộc tính cơ bản sau:

  • Thiết lập bởi máy chủ web.
  • Trực tiếp liên quan đến môi trường thời gian chạy của tập lệnh php hiện tại.

Một số thành phần trong $_SERVER

$_SERVER[‘PHP_SELF’]: Trả về tên file của file đang được chạy.

$_SERVER[‘REMOTE_ADDR’] Trả về địa chỉ IP từ nơi người dùng đang xem một trang hiện hành

$_SERVER[‘REMOTE_PORT’]: Trả về các cổng được sử dụng trên máy tính của người dùng để giao tiếp với máy chủ web

$_SERVER[‘HTTP_REFERER’]: Trả về URL hoàn chỉnh của trang hiện tại

$_SERVER[‘REMOTE_HOST’] Trả về tên Máy chủ từ nơi người dùng đang xem trang hiện tại

$_SERVER[‘REMOTE_PORT’] Trả về cổng đang được sử dụng trên máy của người dùng để liên lạc với máy chủ web

$_SERVER[‘SCRIPT_NAME’] Trả về đường dẫn của tập lệnh hiện tại

$_SERVER[‘SCRIPT_URI’] Trả về URI của trang hiện tại

Code mẫu: Download

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Liên hệ

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố.