我确定这个问题也适用于其他复杂的对象类型,但这EntityDrupalWrapper
是我目前正在使用的那个类型。这是entity_metadata_wrapper()
(可能还有其他)返回的对象的类型。
使用如下代码时:
$order_wrapper = entity_metadata_wrapper('commerce_order', $order_object);
dpm($order_wrapper);
Devel的输出没有太大帮助:
它没有显示您期望dpm()
与之调用的stdClass
对象,例如对象。
类似的调用dvm()
确实会打印对象,但是以我不熟悉的方式,并且它不是很可读。
我试过了debug()
,它会产生一个PHP用户通知,看起来像这样:
顺便说一句,该警告中包含的HTML输出与dvm()
打印到屏幕上的输出相同。
如何检查这些类型的对象(最好使用Krumo),以便查看可用的属性?还是我坚持使用dvm()
?
__get()
,__set()
并参与其中。出于兴趣,您有什么首选的方法来找出哪些包装类可用的类属性吗?还是仅仅是基于经验的“了解”问题?
dpm($wrapper->getPropertyInfo());
,它确实可以帮助您