현재 Entity API 를 사용하는 많은 모듈에 대한 애드온을 개발하고있는 것으로 보이며 entity_metadata_wrapper()
기능이 계속 나타납니다.
문서 페이지에 대해이 말한다 :
주어진 데이터에 대한 속성 래퍼를 반환합니다.
엔터티가 래핑 된 경우 래퍼를 사용하여 엔티티 속성에 대한 추가 래퍼를 검색 할 수 있습니다.
거기에 '엔티티'라는 단어의 놀라운 프로 디우스 철자를 무시하고, 나는이 포장지의 목적이 무엇인지 실제로 이해하지 못한다.
함수가 본질적으로 EntityDrupalWrapper
클래스를 반환한다는 것을 이해합니다 .
래퍼는 엔티티 속성의 getter 및 setter 콜백을 쉽게 적용 할 수 있습니다.
그러나 내가 이해할 수없는 것은 그것이 일을 더 쉽게 만드는 방법 입니다.
예를 들어 노드의 상태 속성을 업데이트하려면 다음 코드를 사용할 수 있습니다.
$node = node_load($nid);
$node->status = 1;
node_save($node);
꽤 깨끗합니다. 내가 이해하지만 (잘못 될 수도 있음) 동등한 코드를 사용하는 entity_metadata_wrapper()
것이 그보다 더 장황합니다.
단순히 여기에서 나를 넘어 오는 '래퍼'라는 용어를 사용하는지 확실하지 않지만 Entity 모듈의 코드를 살펴 보았으므로 이해하기에 더 가깝지 않습니다.
누구나이 기능을 사용하여 얻을 수있는 이점을 설명하고 일반적인 사용 사례에 대한 간단한 코드 예제를 제공 할 수 있습니까?