Biến được định nghĩa trước trong PHP




PHP cung cấp một số lượng lớn biến được định nghĩa trước cho bất kỳ script nào chạy. PHP cung cấp một tập hợp bổ sung cho các mảng chứa các biến từ Web Server, biến môi trường và user input. Những mảng mới này được gọi là Superglobal.

Tất cả các biến sau là tự động có sẵn trong mọi phạm vi.

Superglobal trong PHP

Bạn có thể sử dụng tất cả các biến dưới đây ở bất kỳ đâu trong phần PHP code của mình.

Biến Miêu tả
$GLOBALS Chứa một tham chiếu tới mỗi biến mà hiện tại có sẵn bên trong phạm vi toàn cục của script. Key của mỗi mảng là các tên của các biến toàn cục này
$_SERVER Đây là một mảng chứa thông tin như header, path và vị trí script. Các entry trong mảng này được tạo bởi Web Server. Không có sự đảm bảo rằng mỗi Web Server sẽ cung cấp bất kỳ biến nào trong dạng biến này. Bạn theo dõi phần tiếp theo để có danh sách tất cả biến Server
$_GET Một mảng liên hợp của các biến được truyền tới script hiện tại thông qua phương thức HTTP GET
$_POST Một mảng liên hợp của các biến được truyền tới script hiện tại thông qua phương thức HTTP POST
$_FILES Một mảng liên hợp của các item được upload tới script hiện tại thông qua phương thức HTTP POST
$_REQUEST Một mảng liên hợp gồm nội dung của $_GET, $_POST và $_COOKIE
$_COOKIE Một mảng liên hợp của các biến được truyền tới script hiện tại thông qua HTTP cookie
$_SESSION Một mảng liên hợp chứa các biến session có sẵn cho script hiện tại
$_PHP_SELF Một chuỗi chứa tên tệp PHP script trong đó nó được gọi
$php_errormsg $php_errormsg là một biến chứa text của thông báo lỗi cuối cùng được tạo bởi PHP

Biến $_SERVER trong PHP

Biến $_SERVER là một mảng chứa thông tin như header, path, và vị trí script. Các entry trong mảng này được tạo bởi Web Server. Sẽ không có sự bảo đảm rằng mỗi Web Server sẽ cung cấp bất kỳ biến nào trong dạng biến Server này.

Biến Miêu tả
$_SERVER['PHP_SELF'] Tên file của script đang thực thi hiện tại, liên quan tới Document root
$_SERVER['argv'] Mảng các tham số được truyền tới script. Khi script đó chạy trên command line, nó cung cấp dạng truy cập kiểu C-style tới các tham số dòng lệnh. Khi được gọi thông qua phương thức GET, biến này sẽ chứa chuỗi truy vấn
$_SERVER['argc'] Chứa số tham số dòng lệnh được truyền cho script nếu chạy trên command line
$_SERVER['GATEWAY_INTERFACE'] Server đang sử dụng phiên bản CGI specification nào, ví dụ 'CGI/1.1'
$_SERVER['SERVER_ADDR'] Địa chỉ IP của Server mà script đang thực thi
$_SERVER['SERVER_NAME'] Tên Server host mà script đang thực thi. Nếu script đang chạy trên một virtual host, biến này sẽ là giá trị được định nghĩa cho virtual host đó
$_SERVER['SERVER_SOFTWARE'] Chuỗi nhận diện Server, được cung cấp trong các header khi phản hồi lại các yêu cầu
$_SERVER['SERVER_PROTOCOL'] Tên và phiên bản của giao thức thông tin mà thông qua nó trang được yêu cầu, ví dụ: 'HTTP/1.0';
$_SERVER['REQUEST_METHOD'] Phương thức yêu cầu nào được sử dụng để truy cập trang, ví dụ: 'GET', 'HEAD', 'POST', 'PUT'
$_SERVER['REQUEST_TIME'] Là timestamp của phần bắt đầu yêu cầu. Có sẵn từ PHP 5.1.0
$_SERVER['QUERY_STRING'] Chuỗi truy vấn thông qua đó trang được truy cập
$_SERVER['DOCUMENT_ROOT'] Thư mục Document root mà script đang thực thi, như được định nghĩa trong file cấu hình của Server
$_SERVER['HTTP_ACCEPT'] Nội dung của Accept: header từ yêu cầu hiện tại, nếu có một
$_SERVER['HTTP_ACCEPT_CHARSET'] Nội dung của Accept-Charset: header từ yêu cầu hiện tại, nếu có một . Ví dụ: 'iso-8859-1,*,utf-8'
$_SERVER['HTTP_ACCEPT_ENCODING'] Nội dung của Accept-Encoding: header từ yêu cầu hiện tại, nếu có một. Ví dụ: 'gzip'
$_SERVER['HTTP_ACCEPT_LANGUAGE'] Nội dung của Accept-Language: header từ yêu cầu hiện tại, nếu có một. Ví dụ: 'en'
$_SERVER['HTTP_CONNECTION'] Nội dung của Connection: header từ yêu cầu hiện tại, nếu có một. Ví dụ: 'Keep-Alive'
$_SERVER['HTTP_HOST'] Nội dung của Host: header từ yêu cầu hiện tại, nếu có một
$_SERVER['HTTP_REFERER'] Địa chỉ của trang mà hướng user agent tới trang hiện tại
$_SERVER['HTTP_USER_AGENT'] Đây là chuỗi diễn đạt việc user agent đang truy cập trang. Ví dụ đặc trưng là: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)
$_SERVER['HTTPS'] Thiết lập tới một giá trị non-empty nếu script được truy vấn thông qua giao thức HTTPS
$_SERVER['REMOTE_ADDR'] Địa chỉ IP từ đó người dùng quan sát trang hiện tại
$_SERVER['REMOTE_HOST'] Tên Host từ đó người dùng quan sát trang hiện tại
$_SERVER['REMOTE_PORT'] Cổng (port) đang được sử dụng trên máy người dùng để giao tiếp với Web Server
$_SERVER['SCRIPT_FILENAME'] Pathname tuyệt đối của script đang thực thi hiện tại
$_SERVER['SERVER_ADMIN'] Giá trị được cung cấp cho chỉ thị SERVER_ADMIN (với Apache) trong file cấu hình Web Server
$_SERVER['SERVER_PORT'] Cổng (port) trên máy Server đang được sử dụng bởi Server để giao tiếp. Cài đặt mặc định là '80'
$_SERVER['SERVER_SIGNATURE'] Chuỗi chứa phiên bản Server và tên host mà được thêm tới trang được tạo bởi Server, nếu được kích hoạt
$_SERVER['PATH_TRANSLATED'] Path cho script hiện tại
$_SERVER['SCRIPT_NAME'] Chứa path của script hiện tại. Biến này hữu ích cho các trang mà cần trỏ tới chính chúng
$_SERVER['REQUEST_URI'] URI mà được cung cấp để truy cập trang này, ví dụ '/index.html'
$_SERVER['PHP_AUTH_DIGEST'] Khi chạy dưới Apache như là module đang thực hiện Digest HTTP authentication, biến này được thiết lập là 'Authorization' header được gửi bởi Client
$_SERVER['PHP_AUTH_USER'] Khi đang chạy dưới Apache hoặc IIS (ISAPI on PHP 5) như là module đang thực hiện HTTP authentication, thì biến này được thiết lập là username được cung cấp bởi người dùng
$_SERVER['PHP_AUTH_PW'] Khi đang chạy dưới Apache hoặc IIS (ISAPI on PHP 5) như là module đang thực hiện HTTP authentication, thì biến này được thiết lập là password được cung cấp bởi người dùng
$_SERVER['AUTH_TYPE'] Khi đang chạy dưới Apache như là module đang thực hiện HTTP authenticated, thì biến này được thiết lập là authentication type

Mọi người cho thể tham gia khóa học thứ 3 của vietjackteam vào đầu tháng 07/2017 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Khóa học cũng đưa 200 câu hỏi phỏng vấn java trên https://www.javatpoint.com/corejava-interview-questions vào nội dung để giúp các bạn dễ dàng vượt qua kì phỏng vấn

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Thông tin khóa học tại Khóa học Java Online trên Udemy

Loạt bài hướng dẫn học lập trình PHP cơ bản và nâng cao của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint.com

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học PHP phổ biến khác tại VietJack: