Je suis sûr que cette question s'applique à d'autres types d'objets complexes, mais EntityDrupalWrapper
c'est celui avec lequel je travaille actuellement. C'est le type d'objet retourné par entity_metadata_wrapper()
(et probablement d'autres).
Lorsque vous utilisez un code comme celui-ci:
$order_wrapper = entity_metadata_wrapper('commerce_order', $order_object);
dpm($order_wrapper);
la sortie de Devel n'est pas très utile:
Il ne montre pas ce que vous attendez de voir pour un appel dpm()
avec, par exemple, un stdClass
objet.
Un appel similaire à dvm()
imprimer l'objet, mais d'une manière que je ne connais pas, et ce n'est pas très lisible.
J'ai essayé debug()
et cela génère une notice utilisateur PHP qui ressemble à ceci:
Incidemment, la sortie HTML contenue dans cet avertissement est la même que celle dvm()
imprimée à l'écran.
Comment puis-je inspecter ces types d'objets (de préférence avec Krumo) afin de voir quelles propriétés sont disponibles? Ou suis-je coincé en utilisant dvm()
?
__get()
et __set()
étaient impliqués. Si vous êtes intéressé, avez-vous un moyen privilégié de déterminer quelles propriétés de classe sont disponibles pour quel wrapper? Ou est-ce juste une question de "savoir" basée sur l'expérience?
dpm($wrapper->getPropertyInfo());
, cela aide vraiment les choses