Jestem pewien, że to pytanie dotyczy innych złożonych typów obiektów, ale z EntityDrupalWrapper
tym obecnie pracuję. Jest to typ obiektu zwracanego przez entity_metadata_wrapper()
(i prawdopodobnie inne).
Podczas korzystania z kodu w następujący sposób:
$order_wrapper = entity_metadata_wrapper('commerce_order', $order_object);
dpm($order_wrapper);
dane wyjściowe z Devel nie są zbyt pomocne:
Nie pokazuje, czego można się spodziewać po wywołaniu dpm()
na przykład z stdClass
obiektem.
Podobne wywołanie dvm()
powoduje wydrukowanie obiektu, ale w pewien sposób nie jestem zaznajomiony i nie jest zbyt czytelny.
Próbowałem debug()
i generuje komunikat PHP, który wygląda mniej więcej tak:
Nawiasem mówiąc, wynik HTML zawarty w tym ostrzeżeniu jest tym samym wyjściem, dvm()
co na ekranie.
Jak mogę sprawdzić tego rodzaju obiekty (najlepiej za pomocą Krumo), aby zobaczyć, jakie właściwości są dostępne? A może utknąłem przy użyciu dvm()
?
__get()
i__set()
byłem zaangażowany. Czy poza zainteresowaniem masz jakiś preferowany sposób sprawdzenia, jakie właściwości klasy są dostępne dla danego opakowania? A może chodzi tylko o „wiedzę” opartą na doświadczeniu?dpm($wrapper->getPropertyInfo());
, to naprawdę pomagaOdpowiedzi:
Użyj dpm ($ wrapper-> getPropertyInfo ());
To jest w dokumentacji .
źródło
kpr($wrapper->my_custom_field->value());
Bawiłem się obiektami EntityDrupalWrapper. debug () zwykle zwraca dane wyjściowe, które mogły zostać przygotowane przez __toString ()
I iterowałem obiekt EntityDrupalWrapper za pomocą foreach i pomogło to wyświetlić listę właściwości.
Oto
$obj
obiekt typuEntityValueWrapper
$ obj można odczytać za pomocą $ obj-> wartość () i można zapisać za pomocą $ obj-> set ('wartość');
EDYTOWAĆ:
Jeśli utworzyłeś opakowanie bez
podania drugiego parametru, tj. Entity_metadata_wrapper ('commerce_order');
następnie metody set i value wygenerują wyjątek, ponieważ nie są zaimplementowane.
źródło
Skończyło się na pisaniu własnego małego widżetu, aby rozwinąć opakowanie:
Mam nadzieję, że ktoś uzna to za przydatne.
źródło
Sprawdzić moduł zapewnia piękny widok strukturalną dane chcesz debugować.
źródło
Jeśli chcesz sprawdzić oryginalny obiekt, który „zasila” opakowanie, spróbuj:
To działa dobrze dla mnie.
źródło
Dostępna jest łatka rozwojowa, która umożliwia Krumo wyświetlanie wszystkich prywatnych i chronionych właściwości.
Oto wątek na drupal.org
Ta łatka była dla mnie bardzo pomocna.
źródło
Użyj drupal cli
źródło