Wydaje mi się, że opracowuję dodatki do wielu modułów, które używają obecnie Entity API , a ta entity_metadata_wrapper()
funkcja wciąż się pojawia.
Strona dokumentacji mówi o tym:
Zwraca opakowanie właściwości dla danych.
Jeśli jednostka jest opakowana, opakowanie może być użyte do pobrania dalszych opakowań dla właściwości uprawnień.
Ignorując cudowną freudowską pisownię słowa „istota”, tak naprawdę nie rozumiem, jaki jest cel tych opakowań.
Rozumiem, że funkcja zasadniczo zwraca EntityDrupalWrapper
klasę:
Opakowanie ułatwia stosowanie wywołań zwrotnych getter i setter właściwości właściwości encji
Ale nie rozumiem, jak to ułatwia.
Na przykład, aby zaktualizować właściwość statusu węzła, mógłbym użyć tego kodu:
$node = node_load($nid);
$node->status = 1;
node_save($node);
To całkiem czyste. Jak rozumiem (ale może się mylić), użycie równoważnego kodu entity_metadata_wrapper()
byłoby bardziej szczegółowe.
Nie jestem pewien, czy to po prostu użycie terminu „opakowanie” mnie tu potyka, ale przejrzałem również kod w module Entity i nie jestem tak blisko, aby go zrozumieć.
Czy ktoś jest w stanie wyjaśnić zalety korzystania z tej funkcji i być może podać prosty przykład kodu dla typowego przypadku użycia?