Tôi chắc chắn câu hỏi này áp dụng cho các loại đối tượng phức tạp khác, nhưng EntityDrupalWrapper
là loại tôi hiện đang làm việc. Đây là loại đối tượng được trả về bởi entity_metadata_wrapper()
(và có thể là những người khác).
Khi sử dụng mã như sau:
$order_wrapper = entity_metadata_wrapper('commerce_order', $order_object);
dpm($order_wrapper);
đầu ra từ Devel không quá hữu ích:
Nó không hiển thị những gì bạn muốn thấy cho một cuộc gọi đến dpm()
, ví dụ, một stdClass
đối tượng.
Một lệnh gọi tương tự để dvm()
in đối tượng, nhưng theo cách mà tôi không quen thuộc và nó không dễ đọc lắm.
Tôi đã thử debug()
và nó tạo ra một thông báo người dùng PHP trông giống như thế này:
Ngẫu nhiên, đầu ra HTML có trong cảnh báo đó là cùng một đầu ra dvm()
in ra màn hình.
Làm cách nào tôi có thể kiểm tra các loại đối tượng này (tốt nhất là với Krumo), vì vậy tôi có thể xem các thuộc tính nào có sẵn? Hay tôi bị mắc kẹt khi sử dụng dvm()
?
__get()
và __set()
có liên quan. Bạn có bất kỳ cách ưa thích nào để tìm hiểu các thuộc tính lớp nào có sẵn cho trình bao bọc nào không? Hay đó chỉ là vấn đề 'hiểu biết' dựa trên kinh nghiệm?
dpm($wrapper->getPropertyInfo());
, nó thực sự giúp ích cho mọi thứ