Il semble que je développe actuellement des modules complémentaires pour de nombreux modules qui utilisent l' API Entity , et la entity_metadata_wrapper()
fonction continue de s'afficher.
La page des documents le dit:
Renvoie un wrapper de propriété pour les données données.
Si une entité est encapsulée, l'encapsuleur peut être utilisé pour récupérer d'autres encapsuleurs pour les propriétés de droit.
Ignorant l'orthographe merveilleusement freudienne du mot «entité» là-dedans, je ne comprends pas vraiment quel est le but de ces emballages.
Je comprends que la fonction renvoie essentiellement une EntityDrupalWrapper
classe:
L'encapsuleur facilite l'application des rappels getter et setter des propriétés d'entité
Mais ce que je ne peux pas comprendre, c'est comment cela facilite les choses.
Par exemple, pour mettre à jour la propriété status d'un nœud, je pourrais utiliser ce code:
$node = node_load($nid);
$node->status = 1;
node_save($node);
C'est assez propre. Si je comprends bien (mais peut-être faux), le code équivalent à utiliser entity_metadata_wrapper()
serait plus détaillé que cela.
Je ne sais pas si c'est simplement l'utilisation du terme `` wrapper '' qui me fait trébucher ici, mais j'ai également parcouru le code dans le module Entity et je ne suis pas vraiment plus proche de le comprendre.
Quelqu'un peut-il expliquer les avantages de cette fonction et peut-être fournir un exemple de code simple pour un cas d'utilisation courant?