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

VersionMô tả
5.5.0Thêm ::class magic constant
5.4.0Thêm __TRAIT__ constant
5.3.0Thêm __DIR__ and __NAMESPACE__ constants
5.0.0Thêm __METHOD__ constant
5.0.0Trướ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.0Thê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