Tôi muốn xác định hằng số lớp bằng cách ghép nối một hằng số hiện tại và một chuỗi. Tôi không thể xác định trước nó bởi vì chỉ vô hướng được phép cho các hằng số định trước, vì vậy tôi hiện có nó như là một phần của hàm tạo của tôi với hàm được định nghĩa() kiểm tra nếu nó đã được định nghĩa chưa. Giải pháp này hoạt động nhưng hằng số của tôi bây giờ không cần thiết toàn cầu.Xác định hằng số lớp trong PHP
Có cách nào để xác định một hằng số lớp tại thời gian chạy trong php không?
Cảm ơn bạn.
Cân nhắc sử dụng biến tĩnh. http://php.net/manual/en/language.oop5.static.php – Matchu
đang sử dụng define() được coi là vá lỗi khỉ? là có một lý do tại sao xác định hằng số toàn cầu tại thời gian chạy là chấp nhận được trong khi xác định hằng số lớp học không? – joshs
@josh Sử dụng define() * như vậy * không được coi là vá khỉ. Bạn phải có một cơ chế để xác định các hằng số và về mặt kỹ thuật, điều này luôn xảy ra khi chạy. Tuy nhiên, ý tưởng về hằng số như vậy là cung cấp giá trị * * * cố định trên toàn cầu, đó là lý do tại sao bạn thường khai báo các hằng số trên đầu trang của tập lệnh của bạn. Làm như vậy sau đó hoặc dựa trên một số điều kiện tôi sẽ xem xét sử dụng sai bởi vì sau đó bạn đang sử dụng hằng số như biến và trong trường hợp hoặc xác định lại hoặc xóa chúng, tôi sẽ coi nó là khỉ xấu, vì nó thay đổi hành vi bên trong của PHP. – Gordon