PHP cung cấp hai phương thức để tạo hằng. công cụ sửa đổi
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 và hàm
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4. Trước
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;5, các hằng số liên kết một tên với một giá trị đơn giản, vô hướng. Ví dụ: các giá trị Boolean
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;6 và
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;7 lần lượt là các hằng số được liên kết với các giá trị 1 và không có gì
- hăng sô
- Hàm xác định []
- Hàm đã xác định []
- mảng không đổi
- xác định [] so với const
- Các hằng số được xác định trước - hằng số kỳ diệu
Việc khai báo hằng số trong script cũng rất phổ biến. Xem xét ví dụ khai báo hằng số này
define["pi", 3.14159]; // This outputs 3.14159 echo pi;
Tham số thứ ba của định nghĩa là tùy chọn và cho biết tên hằng có phân biệt chữ hoa chữ thường hay không. Hành vi mặc định là phân biệt chữ hoa chữ thường, nếu được đặt thành TRUE, hằng số sẽ được xác định không phân biệt chữ hoa chữ thường
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
Ghi chú. Việc xác định các hằng số không phân biệt chữ hoa chữ thường không được dùng kể từ
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;8
Các hằng số không có ký tự
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;9 đứng trước;
Các hằng số rất hữu ích vì chúng cho phép các tham số bên trong tập lệnh được nhóm lại. Ví dụ: khi một tham số thay đổi, nếu bạn xác định số dòng tối đa mới trên mỗi trang web, bạn có thể thay đổi tham số không đổi này chỉ ở một nơi chứ không phải trong toàn bộ mã
Sau đây là lịch sử phiên bản ngắn gọn của CONSTANTS trong PHP
- Kể từ PHP 5. 3, bạn có thể sử dụng từ khóa
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
3 để định nghĩa hằng toàn cục [trước đây, từ khóadefine["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
3 được dùng để tạo hằng lớp] - Kể từ PHP 5. 6, có thể định nghĩa một hằng mảng bằng cách sử dụng từ khóa
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
3 - Kể từ PHP 7, hằng số mảng cũng có thể được xác định bằng cách sử dụng hàm
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
4
hăng sô
Từ khóa
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 được sử dụng để tạo hằng số lớp. Không giống như các thuộc tính [biến] thông thường, các hằng số của lớp không có mức truy cập được chỉ định vì chúng luôn hiển thị công khai
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4
Các hằng số phải được gán một giá trị khi chúng được tạo. Một hằng số chỉ có thể được khởi tạo với một giá trị không đổi chứ không phải với một biểu thức. Các hằng số lớp được tham chiếu giống như các thuộc tính tĩnh
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;5
Kể từ PHP 5. 3,
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 có thể được sử dụng để tạo hằng số chung. Một hằng số như vậy được xác định trong phạm vi toàn cầu và có thể được truy cập ở bất kỳ đâu trong tập lệnh
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;7
Hàm xác định []
Hàm định nghĩa có thể tạo cả hằng số toàn cục và cục bộ, nhưng không phải là hằng số lớp. Đối số đầu tiên của hàm này là tên của hằng số và đối số thứ hai là giá trị của nó
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;8
Giống như hằng số được tạo bằng
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3, hằng số xác định được sử dụng mà không có ký hiệu đô la và không thể sửa đổi giá trị của chúng
Hàm đã xác định []
Để kiểm tra xem một hằng số đã tồn tại hay chưa, có thể sử dụng hàm
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;47. Hàm này hoạt động đối với các hằng số được tạo bằng
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 hoặc
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3
PHP 7 đã cho phép tạo các mảng không đổi bằng cách sử dụng hàm
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4. Hỗ trợ cho các mảng không đổi được tạo bằng
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 đã tồn tại kể từ PHP 5. 6
mảng không đổi
Trước PHP 7, các hằng số được xác định bằng
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4 chỉ có thể chứa các biểu thức vô hướng chứ không chứa các mảng. Kể từ PHP 5. 6, có thể xác định hằng số mảng bằng cách sử dụng từ khóa
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 và kể từ PHP 7, hằng số mảng cũng có thể được xác định bằng cách sử dụng
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;9
xác định [] so với const
Kể từ PHP 5. 3 có hai cách định nghĩa hằng số. Sử dụng từ khóa
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 hoặc sử dụng hàm
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;2
Sự khác biệt cơ bản giữa hai cách đó là
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 định nghĩa các hằng số tại thời điểm biên dịch, trong khi
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4 định nghĩa chúng tại thời điểm chạy
Không thể sử dụng
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 để xác định hằng số theo điều kiện. Để xác định một hằng số toàn cầu, nó phải được sử dụng trong phạm vi ngoài cùng, ví dụ
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;6
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 xác định một hằng số trong không gian tên hiện tại, trong khi
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;71] phải được chuyển vào tên đầy đủ của không gian tên
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;0
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;3 có thể sử dụng trong một lớp hoặc giao diện để xác định hằng số lớp hoặc hằng số giao diện. Không thể sử dụng
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;4 cho mục đích này
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;1
Các hằng số được xác định trước - hằng số kỳ diệu
PHP được tạo sẵn với hàng chục hằng số được xác định trước mà bạn thường khó có thể sử dụng khi mới bắt đầu sử dụng PHP. Tên của các hằng số ma thuật luôn có hai dấu gạch dưới ở đầu và hai dấu gạch dưới ở cuối, để bạn không vô tình thử đặt tên cho một trong các hằng số của mình bằng một tên đã được sử dụng. Chúng được trình bày chi tiết trong danh sách sau đây
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
74
Số dòng hiện tại của tệp.define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
75
Đường dẫn đầy đủ và tên tệp của tệp. Nếu được sử dụng bên trong một tệp bao gồm, tên của tệp được bao gồm sẽ được trả về.define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
76
Thư mục của tệp. Nếu được sử dụng bên trong một tệp bao gồm, thư mục của tệp được bao gồm sẽ được trả về. Tên thư mục trả về không có dấu gạch chéo trừ khi nó là thư mục gốc.define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
77
Tên hàm. Trả về tên hàm như nó đã được khai báo.define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
78
Tên lớp. Trả về tên lớp như nó đã được khai báo.define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
79
Tên phương thức của lớp. Tên phương thức được trả về như nó đã được khai báo.define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
80
Tên của không gian tên hiện tại. Hằng số này được xác định tại thời điểm biên dịch.define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
81
Tên đặc điểm. Tên đặc điểm bao gồm không gian tên mà nó đã được khai báo trong [e. g. Foo\Bar].define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;
82
Bạn có thể lấy một chuỗi chứa tên đủ điều kiện của lớp ClassName. Điều này đặc biệt hữu ích với các lớp được đặt tên.
Một cách sử dụng hữu ích của các biến này là cho mục đích gỡ lỗi, khi bạn cần chèn một dòng mã để xem liệu luồng chương trình có đến được dòng đó hay không
define["pi", 3.14159, true]; // This outputs 3.14159 echo PI;2
Điều này làm cho dòng chương trình hiện tại trong tệp hiện tại [bao gồm cả đường dẫn] đang được thực thi xuất ra trình duyệt web