Khái niệm, định nghĩa Magic constants trong PHP là gì?

Magic constants – Hằng số ma thuật là các hằng định sẵn của PHP, định sẵn cho bất kỳ tập lệnh nào mà nó chạy. Tuy nhiên, nhiều hằng số này được tạo ra bởi các phần mở rộng khác nhau và sẽ chỉ có mặt khi những phần mở rộng này có sẵn, thông qua tải động hoặc do chúng đã được biên dịch.

Có 9 hằng số ma thuật thay đổi tùy thuộc vào nơi mà chúng được sử dụng. Ví dụ: giá trị của __LINE__ phụ thuộc vào dòng mà nó được sử dụng trong kịch bản của bạn.

Tất cả các hằng số “ma thuật” này được giải quyết trong thời gian biên dịch, không giống như các hằng số thường được giải quyết khi chạy. Những hằng số đặc biệt này không phân biệt chữ hoa chữ thường, các Magic constants bao gồm:

  • __LINE__
  • __FILE__
  • __DIR__
  • __FUNCTION__
  • __CLASS__
  • __TRAIT__
  • __METHOD__
  • __NAMESPACE__
  • ClassName::class

Thông tin cập nhật

Version Mô tả
5.5.0 Thêm ::class magic constant
5.4.0 Thêm __TRAIT__ constant
5.3.0 Thêm __DIR__ and __NAMESPACE__ constants
5.0.0 Thêm __METHOD__ constant
5.0.0 Trước phiên bản này giá trị của một số hằng ma thuật luôn luôn thấp hơn. Tất cả chúng đều phân biệt chữ hoa và chữ thường (chứa tên khi chúng được khai báo).
4.3.0 Thêm __FUNCTION__ và __CLASS__ hằng số
4.0.2 __FILE__ luôn luôn chứa một đường dẫn tuyệt đối với các liên kết được giải quyết trong khi trong các phiên bản cũ nó có đường dẫn tương đối trong một số trường hợp