Superglobals là loại biến đặc biệt vì chúng có thể được truy cập từ bất kỳ phạm vi nào. Khả năng truy cập có thể từ bất kỳ tệp, lớp hoặc thậm chí chức năng nào mà không cần triển khai bất kỳ đoạn mã đặc biệt nào
Các biến siêu toàn cầu được xây dựng sẵn và được xác định trước. Chúng có sẵn cho một lập trình viên thông qua thư viện lớp PHP. Lưu ý rằng không phải tất cả các biến được xác định sẵn trong thư viện lớp đều là siêu toàn cầu
Mục lục
- điều kiện tiên quyết
- Giới thiệu về siêu toàn cầu PHP
- $GLOBALS
- $_SERVER
- $_GET
- $_POST
- Tại sao POST ưu tiên hơn GET
- $_REQUEST
- $_SESSION
- $_COOKIE
- $_FILES
- Sự kết luận
điều kiện tiên quyết
Để hiểu nội dung của bài viết này, người đọc cần có những điều sau đây
- Hiểu cơ bản về kỹ thuật khai báo biến PHP
- Sự hiểu biết của người mới bắt đầu về PHP
Giới thiệu về siêu toàn cầu PHP
Superglobals đã được giới thiệu trong PHP 4. 1. 0 và là một phần quan trọng của PHP kể từ đó. Có khoảng chín biến siêu toàn cầu trong PHP đôi khi được gọi là
doctype html>
$_SERVER example
0. Chúng như đã nêu dưới đây- $GLOBALS
- $_SERVER
- $_GET
- $_POST
- $_REQUEST
- $_SESSION
- $_COOKIE
- $_FILE
- $_ENV
Hãy thảo luận về các siêu toàn cầu này trong các phần sau
$GLOBALS
$GLOBALS là một biến PHP được sử dụng để truy cập các biến toàn cục khác trong tập lệnh PHP. Tất cả các biến toàn cục PHP được giữ trong một mảng được gọi là
doctype html>
$_SERVER example
1. doctype html>
$_SERVER example
2 giữ doctype html>
$_SERVER example
3Dưới đây là một ví dụ về biến
doctype html>
$_SERVER example
4 superglobal được sử dụng. ] doctype html>
GLOBAL example
Trong ví dụ trên, biến
doctype html>
$_SERVER example
5 có thể truy cập được cả bên trong và bên ngoài hàm vì nó nằm trong mảng doctype html>
$_SERVER example
6$_SERVER
doctype html>
$_SERVER example
7 là một superglobal lưu giữ thông tin tiêu đề, đường dẫn và vị trí của tập lệnh PHP. Biến doctype html>
$_SERVER example
7 có một số phần tử mà nó nắm giữ. Chúng bao gồm$_SERVER[‘PHP_SELF’] - Điều này trả về tên tệp của tập lệnh hiện đang được thực thi
$_SERVER[‘SERVER_NAME’] - Điều này trả về tên của máy chủ đang lưu trữ trang web
$_SERVER[‘HTTP_HOST’] - Điều này trả về tiêu đề của máy chủ của yêu cầu hiện tại
$_SERVER[‘SCRIPT_NAME’]- Điều này trả về đường dẫn của tập lệnh hiện tại
Dưới đây là mã mẫu cho biết cách sử dụng các phần tử ở trên
doctype html>
$_SERVER example
Đầu ra của đoạn mã trên sẽ bao gồm
- tên tệp
- Tên máy chủ lưu trữ
- Tiêu đề của yêu cầu hiện tại của máy chủ lưu trữ
- Đường dẫn của tập lệnh hiện tại
$_GET
Biến
doctype html>
$_SERVER example
9 là một siêu lớp PHP thu thập dữ liệu từ một biểu mẫu HTML sau khi gửi. Biểu mẫu HTML được cấu trúc theo cách mà doctype html>
$_SERVER example
9 được sử dụng như một phương thức. doctype html>
$_SERVER example
9 cũng có thể được sử dụng để truy xuất dữ liệu được gửi trong doctype html>
$_SERVER example
42Dưới đây là một ví dụ về cách biến
doctype html>
$_SERVER example
9 được triển khai trong biểu mẫu HTML doctype html>
$_SERVER example
4Khi người dùng nhấp vào nút
doctype html>
$_SERVER example
44, thông tin từ biểu mẫu được gửi bằng phương thức doctype html>
$_SERVER example
45 và được hiển thị trong doctype html>
$_SERVER example
46. Tuy nhiên, mỗi lần chỉ có thể gửi tối đa 147 ký tự$_POST
Cũng giống như biến
doctype html>
$_SERVER example
9, doctype html>
$_SERVER example
49 thu thập các giá trị từ biểu mẫu HTML. Thông tin được gửi bằng phương pháp này không được hiển thị trong URL. Cũng không có giới hạn về số lượng ký tự có thể được gửi cùng một lúcmột ví dụ đã được biểu diễn ở dưới
doctype html>
$_SERVER example
3Tại sao biến POST được ưu tiên hơn GET?
Mặc dù các phương thức
doctype html>
$_SERVER example
30 và doctype html>
$_SERVER example
45 thực hiện cùng chức năng, nhưng doctype html>
$_SERVER example
30 được ưu tiên hơn vì những lý do sauPhương thức POST không có giới hạn về kích thước dữ liệu có thể được gửi
Phương thức POST có thể gửi cả dữ liệu ASCII và Binary
Phương thức POST không hiển thị thông tin được gửi trên URL do đó ngăn việc đánh dấu trang
Phương thức POST sử dụng một
33 để gửi dữ liệu. Điều này thúc đẩy bảo mật dữ liệudoctype html> $_SERVER example
$_REQUEST
Biến
doctype html>
$_SERVER example
34 là một superglobal PHP được sử dụng để thu thập dữ liệu sau khi gửi biểu mẫu. Nó chứa nội dung của doctype html>
$_SERVER example
9, doctype html>
$_SERVER example
49 và thậm chí cả doctype html>
$_SERVER example
37 theo mặc định. Dữ liệu từ các trường khác nhau có thể được PHP thu thập bằng cách sử dụng biến doctype html>
$_SERVER example
34Ví dụ dưới đây cho thấy cách sử dụng biến
doctype html>
$_SERVER example
34 doctype html>
$_SERVER example
4Đầu ra của đoạn mã trên sẽ là
doctype html>
$_SERVER example
40 đã được gửi từ biểu mẫu. Nếu không có tên nào được gửi, nó sẽ in một thông báo doctype html>
$_SERVER example
41$_SESSION
Biến
doctype html>
$_SERVER example
42 là một superglobal PHP lưu trữ và tận dụng thông tin về người dùng trang web mỗi khi người dùng mở trang web cho đến khi đóng trang webMỗi khi người dùng truy cập một trang web, một phiên được bắt đầu. Hàm dưới đây được sử dụng để bắt đầu một phiên trong mã PHP;
doctype html>
$_SERVER example
8Sau khi một phiên bắt đầu, nó cần được thiết lập bằng cách sử dụng biến
doctype html>
$_SERVER example
42Khi người dùng rời khỏi một trang web, phiên sẽ tự động bị hủy. Điều này được thực hiện mà người dùng không hề hay biết bằng cách sử dụng hàm PHP được nêu bên dưới
doctype html>
$_SERVER example
0Ví dụ dưới đây minh họa việc sử dụng
doctype html>
$_SERVER example
42 doctype html>
$_SERVER example
2$_COOKIE
Cookie là một tệp nhỏ được máy chủ lưu trữ trong máy tính của người dùng. Nó xác định người dùng. Bất cứ khi nào một yêu cầu được thực hiện đến một máy chủ. Một cookie thường được gửi cùng với yêu cầu. PHP tạo cookie bằng hàm
doctype html>
$_SERVER example
45 doctype html>
$_SERVER example
4Cú pháp có nhiều tham số. Tuy nhiên, chỉ có tham số
doctype html>
$_SERVER example
40 là bắt buộcSau khi được tạo, cookie có thể được truy xuất bằng cách sử dụng biến
doctype html>
$_SERVER example
37 superglobal. Đoạn mã dưới đây cho biết cách tạo và truy xuất cookie doctype html>
$_SERVER example
7Cũng có thể xóa cookie bằng chức năng
doctype html>
$_SERVER example
45 chỉ với ngày hết hạn đã qua$_FILES
doctype html>
$_SERVER example
49 là một biến chứa các mục được tải lên bằng phương thức HTTP POST. Mảng doctype html>
$_SERVER example
49 chứa một số phần tử được nêu bên dưới$_FILES[‘file’][’name’] - Đây thường là tên gốc của tệp sẽ được tải lên
$_FILES[‘file’][’type’] - Đây là loại tệp được tải lên
$_FILES[‘file’][‘size’] - Kích thước tệp tính bằng byte
$_FILES[‘file’][’tmp_name’] - Nó đề cập đến tên tệp tạm thời của tệp lưu trữ được tải lên máy chủ
$_FILE[‘file’][’error’]- Mã lỗi liên quan đến tệp tải lên
Sự kết luận
Các biến siêu toàn cầu là cốt lõi của ngôn ngữ PHP. Các biến này được yêu cầu trong lập trình PHP để tạo các chương trình có chức năng cao. Do đó, bạn có thể sử dụng thông tin này để tạo các ứng dụng chất lượng