Я уверен, что этот вопрос относится к другим сложным типам объектов, но EntityDrupalWrapper
это тот, с которым я сейчас работаю. Это тип объекта, возвращаемого entity_metadata_wrapper()
(и, возможно, другими).
При использовании кода, как показано ниже:
$order_wrapper = entity_metadata_wrapper('commerce_order', $order_object);
dpm($order_wrapper);
вывод от Devel не слишком полезен:
Он не показывает то, что вы ожидаете увидеть для вызова dpm()
, например, с stdClass
объектом.
Подобный вызов to dvm()
печатает объект, но я не знаком с ним, и он не очень читабелен.
Я пытался, debug()
и он выдает уведомление пользователя PHP, которое выглядит примерно так:
Кстати, вывод HTML, содержащийся в этом предупреждении, является тем же выводом, что выводится dvm()
на экран.
Как я могу проверить эти типы объектов (желательно с помощью Krumo), чтобы увидеть, какие свойства доступны? Или я застрял с помощью dvm()
?
__get()
и__set()
были вовлечены. Из интереса у вас есть какой-нибудь предпочтительный способ узнать, какие свойства класса доступны для какой оболочки? Или это просто «знание», основанное на опыте?dpm($wrapper->getPropertyInfo());
, это действительно помогаетОтветы:
Используйте dpm ($ wrapper-> getPropertyInfo ());
Это в документах .
источник
kpr($wrapper->my_custom_field->value());
Я играл с объектами EntityDrupalWrapper. debug () обычно возвращает выходные данные, которые могут быть подготовлены с помощью __toString ()
Я итерировал объект EntityDrupalWrapper, используя foreach, и это помогло перечислить имена свойств.
Вот
$obj
объект типаEntityValueWrapper
$ obj можно прочитать с помощью $ obj-> value () и записать с помощью $ obj-> set ('value');
РЕДАКТИРОВАТЬ:
Если вы создали свою обертку без передачи второго параметра,
то есть entity_metadata_wrapper ('commerce_order');
затем методы set и value будут генерировать исключения, поскольку они не реализованы.
источник
Я написал свой собственный маленький виджет, чтобы развернуть обертку:
Надеюсь, кто-то найдет это полезным.
источник
Модуль Inspect обеспечивает хорошее структурное представление данных, которые вы хотите отладить.
источник
Если вы хотите проверить исходный объект, который «запитывает» оболочку, попробуйте:
Это хорошо работает для меня.
источник
Существует патч devel, который позволяет Krumo показывать все частные и защищенные свойства.
Вот ветка на drupal.org
Я нашел этот патч очень полезным.
источник
Используйте Drupal Cli
источник