Я, здається, розробляє доповнення до багатьох модулів, які використовують Entity API на даний момент, і entity_metadata_wrapper()
функція продовжує з'являтися.
Про це говорить на сторінці " Документи" :
Повертає обгортку властивості для даних.
Якщо об'єкт обгорнуто, його можна використовувати для отримання подальших обгортків для властивостей права.
Ігноруючи дивовижно фрейдівське написання слова "сутність", я не розумію, яка мета цих обгортків.
Я розумію, що функція по суті повертає EntityDrupalWrapper
клас:
Обгортка Полегшує застосовуючи методи отримання і установки зворотних викликів властивостей сутностей
Але я не можу зрозуміти, як це полегшує справи.
Наприклад, для оновлення властивості стану вузла я міг би використовувати цей код:
$node = node_load($nid);
$node->status = 1;
node_save($node);
Це досить чисто. Як я розумію (але може бути неправильно) еквівалентний код , використовуючи entity_metadata_wrapper()
буде більш багатослівним , ніж це.
Я не впевнений, що тут просто мене вживає термін "обгортка", але я також переглянув код у модулі Entity і я не дуже близький до його розуміння.
Хтось може пояснити, які переваги використання цієї функції, і, можливо, надати простий приклад коду для загального випадку використання?