Hướng dẫn dùng amazing acronym trong PHP
Khái niệm về hằng số trong PHPHằng số là một tên (dịnh danh) cho một giá trị đơn giản. Gọi là hằng số bởi vì giá trị ứng với tên hằng sau khi định nghĩa là không đổi trong quá trình thi hành script. Mặc định hằng số có phân biệt chữ hoa chữ thường. Thông thường viết code thì ta nên đặt tên hằng số bằng các ký tự IN HOA. Một hằng số phải bắt đầu bằng một ký tự chữ (a-Z) hoặc gạch dưới (_), theo sau không được chứa các ký tự đặc biệt. Show Nội dung chính
Nội dung chính
Nếu dùng biểu thức chính quy đề kiểm tra đặt tên là phù hợp, thì biểu thức đó là: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$Định nghĩa hằng số với hàm defineĐể định nghĩa một hằng số bạn phải sử dụng hàm define() với cú pháp của hàm đó như sau: define ( string $name , mixed $value) : boolTrong đó $name là tên hằng số, và $value là giá trí gán cho hằng số, giá trị hằng số phải là một trong các kiểu: boolean, integer, float và string. Để lấy giá trị hằng bạn chỉ cần chỉ ra tên hằng, hằng số có phạm vi toàn cục, có nghĩa là sau khi định nghĩa bạn có thể truy cập nó ở bất kỳ đâu. Trong trường hợp bạn dùng biến lưu trữ tên hằng thì lấy giá trị của hằng bằng hàm constant($name). <?php define("FIRSTWEEKDAY", 'MONDAY'); echo FIRSTWEEKDAY, PHP_EOL; //Lấy hằng số bằng cách chỉ ra tên $firstweek = 'FIRSTWEEKDAY'; echo constant($firstweek), PHP_EOL; // Lấy hằng số có tên lưu trong biến $firstweek ?>Khi bạn định nghĩa một hằng số, nếu trước đó đã định nghĩa sẽ dẫn tới lỗi. Khi cần thiết, bạn có thể kiểm tra xem một hằng số đã được định nghĩa hay chưa bằng hàm defined($ten-hang-so); // Kiểm tra xem hằng số MYCOLOR có tồn tại không, nếu không // thì bắt đầu định nghĩa if (!defined('MYCOLOR')) { define('MYCOLOR', 'Green'); }Định nghĩa hằng với từ khóa constVới PHP 5.3.0 trở đi thì có thể dùng từ khóa const để định nghĩa hằng số, từ PHP 7 còn có thể định nghĩa hằng số bằng một mảng các giá trị, ví dụ: // Định nghĩa hằng số bằng từ khóa const const MONDAY = "THỨ HAI"; echo MONDAY, PHP_EOL; // hằng số là một mảng các ký tự const DAYOFWEEK = [ 'CHỦ NHẬT', 'THỨ HAI', 'THỨ BA', 'THỨ TƯ', 'THỨ NĂM', 'THỨ SAU', 'THỨ BẢY', ]; // Truy cập đọc hằng số echo DAYOFWEEK[6]; // THỨ BẢYDùng từ khóa const cũng là cách tạo hằng số cho một lớp ở phần lập trình hướng đối tượng PHP Sự khác nhau giữa hằng số và biến
Các hằng số đặc biệt (Magic Constant) trong PHPPHP cung cấp một số lượng lớn các hằng đã định nghĩa sẵn, một số hằng rất đặc biệt gọi là Magic constant. Dưới đây là một số hằng Magic (ma thuật):
Các hằng số định nghĩa trước trong PHPKhi PHP hoạt động có vô số hằng số, một số định nghĩa bởi nhân của PHP, một số do các thành phần mở rộng (Extension), để lấy các hằng số đã định nghĩa thì dùng hàm get_defined_constants, nó trả về mảng các hằng số có trong PHP đang hoạt động của bạn $allConst = get_defined_constants(true); print_r($allConst);Một số hằng số đã định nghĩa trước bởi nhân PHP tham khảo tại: reserved.constants, ví dụ PHP_EOL là ký tự xuống dòng. Source code: const (Git), hoặc tải rphp-const Table of Contents
A constant is an identifier (name) for a simple value. As the name suggests, that value cannot change during the execution of the script (except for magic constants, which aren't actually constants). Constants are case-sensitive. By convention, constant identifiers are always uppercase.
The name of a constant follows the same rules as any label in PHP. A valid constant name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thusly: It is possible to define() constants with reserved or even invalid names, whose value can only be retrieved with the constant() function. However, doing so is not recommended. Example #1 Valid and invalid constant names
Like superglobals, the scope of a constant is global. Constants can be accessed from anywhere in a script without regard to scope. For more information on scope, read the manual section on variable scope.
wbcarts at juno dot com ¶ 10 years ago
('MIN_VALUE', '0.0'); // RIGHT - Works OUTSIDE of a class definition.
warwick dot jm dot barnes at gmail dot com ¶ 2 years ago
ewspencer at industrex dot com ¶ 19 years ago
gried at NOSPAM dot nsys dot by ¶ 6 years ago
hafenator2000 at yahoo dot com ¶ 17 years ago
Andreas R. ¶ 15 years ago
Raheel Khan ¶ 7 years ago
MAX_VALUE = 10; Sumon Mahmud (Abu Taleb) ¶ 2 years ago
storm ¶ 17 years ago
DEBUG) { jcastromail at yahoo dot es ¶ 4 years ago
mparsa1372 at gmail dot com ¶ 1 year ago
define('BOOK',100); php at webflips dot net ¶ 8 years ago
constant('echo'); // outputs 'My constant value' |