Tôi đang bước qua mã nguồn của CodeIgniter với Xdebug trong NetBeans và tôi đang tìm cách để xem các hằng số được xác định khi chúng được định nghĩa. Nếu không thể, có cách nào khác để hiển thị tất cả các hằng số được xác định không?Làm cách nào để kiểm tra các hằng số được xác định trong PHP?
Trả lời
Hãy xem hàm get_defined_constants
. Nó sẽ trả về một mảng của tất cả các hằng số được định nghĩa trong mã lên đến điểm của cuộc gọi hàm. Sau đó, bạn có thể sử dụng print_r
để in ra mảng.
Bạn có thể muốn điều chỉnh:
Biến và hằng số là hai thế giới khác nhau ... do đó, không, anh ta có thể không muốn điều chỉnh get_defined_vars() – Spooky
Điều tốt nhất tôi có thể tìm thấy là để nhấn F7 (bước vào) khi ở chế độ gỡ lỗi để có dòng liên tục của bạn thực hiện.
define('SOME_CONSTANT','VALUE');
Và sau đó nhấp đúp chuột vào "SOME_CONSTANT", nhấp chuột phải và chọn thêm đồng hồ mới (phím tắt: shift + ctrl + F7), và thêm cửa sổ đồng hồ mới sẽ xuất hiện với hằng số prepopulated, chọn nhập và bạn nên xem giá trị hằng số của bạn trong các Biến (nếu bạn có viên kim cương xanh được chọn "Hiển thị đồng hồ bên trong chế độ xem biến") & Bảng điều khiển cửa sổ đồng hồ.
Cũng khá tiện dụng để biết, bạn có thể di chuột qua các biến để xem giá trị của chúng thay vì tìm trong bảng điều khiển cửa sổ Gỡ lỗi> Biến ... chỉ cần bật tính năng này theo mặc định ... rõ ràng là lỗi. ..sử dụng xdebug mới nhất và nó đã được tốt cho tôi cho đến nay.
Tools> Options> PHP> General Tab> Mục Debugging> Kiểm tra đồng hồ và Balloon đánh giá
Hy vọng rằng đây vẫn sẽ hữu ích 2 năm sau đó.
Loại thực hành tôi sử dụng này khá phong nha vì nó chỉ hiển thị các hằng số tùy chỉnh/do người dùng tạo.
print_r(var_export(get_defined_constants(true)['user'], true));
Bọc thẻ này vào thẻ trước hoặc chỉ xem nguồn và bạn sẽ nhận được một mảng rất đẹp của tất cả nội dung bạn đã xác định.
Lưu ý rằng thao tác này sẽ không hoạt động với php 5.3. * Ở đâu trong 5.4. * Kết quả sẽ tốt.
Trong các phiên bản trước của php, get_defined_constants()
phải được gán cho một biến đầu tiên, trước khi xuất. Một cái gì đó như thế này.
$gdc = get_defined_constants(true);
print_r(var_export($gdc['user'], true));
Giải pháp tốt để tránh hiển thị mọi thứ (Super Globals, v.v.). Tránh ** các phần tử khác ... ** ở cuối danh sách – Sablefoste
Tất nhiên, nó nằm trong thư viện chuẩn. D'oh! – MiseryIndex
Một trong những tính năng đẹp hơn của PHP là nó có hầu hết mọi thứ bạn cần. – MitMaro
Do đó, sự càu nhàu khó chịu. ;-) Vẫn đang chờ xem liệu có ai biết Xdebug có thể hiển thị các hằng số hay không. – MiseryIndex