Do trong giáo trình của chúng ta còn khuyết mất phần này nên hôm nay xin phép viết 1 chút cho anh em nào còn chưa biết (mấy bác pro rồi nhìn đừng chê em :P)
Định nghĩa 1 hằng số
Các hằng số là những xâu kí tự được gán với 1 giá trị cố định. Các bạn định nghĩa 1 hằng số bằng cấu trúc
PHP Code:
define('name', value);
?>
Khi thực hiện câu lệnh trên, sẽ có 1 hằng là name được tạo ra với giá trị là value. Việc đặt trên cho hằng số cũng giống như tên biến nhưng nó không bắt bắt đầu với kí tự $. Giá trị của hằng số chỉ có thẻ là: số nguyên (integer), số thực (float), xâu kí tự (string) hoặc boolean
PHP Code:
define('NORMAL_USER', 0);
define('ADMIN_USER', -1);
define('GUEST_USER', 1);
define('GUEST_ACCT_NAME', "Guest User");
define('GUEST_CAN_LOGIN', FALSE);
//
// default to guest permissions.
//
$user_name = GUEST_USER_NAME;
$user_can_login = GUEST_CAN_LOGIN;
?>
Sau khi 1 hằng số đã được định nghĩa, nó sẽ không thay đổi giá trị. Khi bạn cố gắng thay đổi giá trị của hằng số sẽ chỉ sinh ra 1 cảnh báo (warning) và không có gì thay đổi. Để xem 1 hằng số đã được định nghĩa hay chưa, sử dụng hàm defined, hàm này sẽ trả lại 1 giá trị boolean
PHP Code:
define('DATABASE_NAME', "UDS");
if (defined('DATABASE_NAME')) {
echo DATABASE_NAME;
}
else {
echo "Nothing!";
}
?>
Trong ví dụ trên, sẽ in ra màn hình xâu UDS là giá trị của hằng số DATABASE_NAME
Tầm hoạt động của biến (Về biến số đọc thêm bài 1)
Xét về tầm hoạt động của biến thì ta có 3 loại:
- Biến cục bộ: Biến bạn khai báo trong 1 hàm thì sẽ chỉ có giá trị bên trong hàm đó
- Biến toàn cục: Các biến bạn khai báo và sử dụng ở bên ngoài tất cả các hàm thì sẽ bị ẩn một cách mặc định trong các hàm. Tuy nhiên vẫn có thể sử dụng các biến toàn cục trong hàm bằng cách sau
PHP Code:
$s = "This is a global variable";
function echoOut() {
// Cách 1
global $s;
echo $s;
// Cách 2
echo $_GLOBALS['s'];
}
?>
Trong ví dụ trên thì màn hình sẽ in 2 lần xâu This is a global variable
- Biến "siêu" toàn cục: Có một vài biến có thể sử dụng ở mọi nơi trong đoạn mã, tuy nhiên hiện giờ coder không thể tự tạo ra các biến "siêu" toàn cục
Các biến đã được định nghĩa trước
PHP cung cấp cho chúng ta khá nhiều biến đưa thông tin về môi trường làm việc. Đa số đều là các mảng "siêu" toàn cục (có thể dùng mọi lúc, mọi nơi như đã nói ở trên)
- $GLOBALS: Mảng này chứa tất cả các biến toàn cục đang tồn tại
- $_SERVER: Mảng này chưa thông tin về ngữ cảnh mà đoạn mã đang chạy, như là tên server, tên file đang chạy, thông tin về kết nối, nhiều nhiều nữa (http://www.php.net/manual/en/reserve...riables.server)
- $_GET & $_POST: 2 mảng này chứa thông tin được gửi đến server qua các form HTML (tương ứng với phương thức GET và POST)
- $_SESSION & $_COOKIE: 2 mảng này chứa các thông tin về phiên làm việc và cookie của client
- $_REQUEST: Chứa thông tin của $_GET, $_POST và $_SESSION
- $_ENV: Chứa các biến môi trường mà engine PHP đang chạy
- $php_errormsg: Chứa thông báo lỗi cuối cùng của PHP, nó chỉ tồn tại trong tầm hoạt động của đoạn mã sinh lỗi và nếu tùy chọn cấu hình TRack_errors được bật trong php.ini (theo mặc định thì không được bật)
Mr.paint(UDS)