2009-12-08 39 views

Trả lời

12

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.

+1

Tất nhiên, nó nằm trong thư viện chuẩn. D'oh! – MiseryIndex

+0

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

+0

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

3

Bạn có thể muốn điều chỉnh:

$arr = get_defined_vars();

+0

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

1

Đ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 đó.

4

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)); 
+0

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

Các vấn đề liên quan