Parece que estoy desarrollando complementos para muchos módulos que usan Entity API en este momento, y la entity_metadata_wrapper()
función sigue apareciendo.
La página de documentos dice esto al respecto:
Devuelve un contenedor de propiedades para los datos dados.
Si una entidad está envuelta, el contenedor puede usarse para recuperar más contenedores para las propiedades de titularidad.
Ignorando la maravillosa ortografía freudiana de la palabra 'entidad' allí, realmente no entiendo cuál es el propósito de estos envoltorios.
Entiendo que la función esencialmente devuelve una EntityDrupalWrapper
clase:
El reiniciador facilita la aplicación de devoluciones de llamada getter y setter de propiedades de entidad
Pero lo que no puedo entender es cómo facilita las cosas.
Por ejemplo, para actualizar la propiedad de estado de un nodo, podría usar este código:
$node = node_load($nid);
$node->status = 1;
node_save($node);
Eso está bastante limpio. Según tengo entendido (pero puede estar equivocado) el uso del código equivalente entity_metadata_wrapper()
sería más detallado que eso.
No estoy seguro de si es simplemente el uso del término 'envoltorio' lo que me está haciendo tropezar aquí, pero también he revisado el código en el módulo Entidad y no estoy realmente más cerca de entenderlo.
¿Alguien puede explicar cuáles son los beneficios de usar esta función y tal vez proporcionar un ejemplo de código simple para un caso de uso común?