मुझे लगता है कि इस समय एंटिटी एपीआई का उपयोग करने वाले बहुत सारे मॉड्यूल में ऐड-ऑन का विकास हो रहा है , और entity_metadata_wrapper()
फ़ंक्शन पॉप अप होता रहता है।
डॉक्स पेज इसके बारे में इस का कहना है:
दिए गए डेटा के लिए एक संपत्ति आवरण देता है।
यदि किसी इकाई को लपेटा जाता है, तो आवरण का उपयोग एंटाइटेलिटी गुणों के लिए आगे के रैपर को पुनः प्राप्त करने के लिए किया जा सकता है।
वहाँ शब्द 'इकाई' की शानदार फ्रायडियन वर्तनी की उपेक्षा करते हुए, मैं वास्तव में यह नहीं समझता कि इन रैपरों का उद्देश्य क्या है।
मैं समझता हूं कि फ़ंक्शन अनिवार्य रूप से एक EntityDrupalWrapper
वर्ग देता है :
रैपर इकाई गुण के गेटटर और सेटर कॉलबैक को लागू करने में आसानी करता है
लेकिन जो मैं समझ नहीं पा रहा हूं वह यह है कि यह कैसे चीजों को आसान बनाता है।
उदाहरण के लिए, एक नोड की स्थिति संपत्ति को अद्यतन करने के लिए मैं इस कोड का उपयोग कर सकता हूं:
$node = node_load($nid);
$node->status = 1;
node_save($node);
यह बहुत साफ है। जैसा कि मैं इसे समझता हूं (लेकिन गलत हो सकता है) समान कोड का उपयोग करने की entity_metadata_wrapper()
तुलना में अधिक क्रिया होगी।
मुझे यकीन नहीं है कि यह केवल 'रैपर' शब्द का उपयोग है जो मुझे यहां ट्रिपिंग कर रहा है, लेकिन मैंने एंटिटी मॉड्यूल में भी कोड के माध्यम से देखा है और मैं वास्तव में इसे समझने के करीब नहीं हूं।
क्या कोई यह समझाने में सक्षम है कि इस फ़ंक्शन का उपयोग करने के क्या फायदे हैं, और शायद एक सामान्य उपयोग के मामले के लिए एक सरल कोड उदाहरण प्रदान करता है?