तुम हमेशा Di कंटेनर का उपयोग कर सकते हैं।
एक बार जब आप डि में एक घटक पंजीकृत करते हैं तो यह जादू विधि द्वारा नियंत्रक में उपलब्ध होता है। उदाहरण के लिए:
// Bootstrap
$configFile = ROOT_PATH . '/app/config/config.ini';
// Create the new object
$config = new \Phalcon\Config\Adapter\Ini($configFile);
// Store it in the Di container
$this->di->setShared('config', $config);
और अपने नियंत्रक में यह उतना ही आसान है के रूप में:
$config = $this->config;
आप एक आधार नियंत्रक वर्ग बनाते हैं, तो आप उन वस्तुओं को ध्यान में रखते यदि ऐसा है तो तरह की जरूरत पारित कर सकते हैं:
$this->view->setVar('config', $this->config);
अंत में डि कंटेनर एक रजिस्ट्री के रूप में भी कार्य कर सकता है, जहां आप अपने एप्लिकेशन में उन वस्तुओं को स्टोर कर सकते हैं जिन्हें आप उपयोग करना चाहते हैं।
बूटस्ट्रैपिंग और नियंत्रकों में ऑब्जेक्ट्स तक पहुंचने के उदाहरण के लिए, phalcon/website रिपोजिटरी पर एक नज़र डालें। यह अन्य चीजों के साथ बूटस्ट्रैपिंग और बेस कंट्रोलर पैटर्न लागू करता है।
स्रोत
2012-11-02 01:49:31
इसके लिए धन्यवाद! वास्तव में अच्छी तरह से काम करता है – Tim
मुझे पता है कि मैं थोड़ा देर हो चुकी हूं, लेकिन इस परिदृश्य में आप $ di-> set() $ di-> setShared() से अधिक क्यों उपयोग करेंगे? – Mechzeit
@Spinkzeit 'setShared' यहां बेहतर उपयोग हो सकता है - आप सही हैं - चूंकि '$ config' वास्तव में पूरे ऐप में उपयोग किया जाता है और साझा ऑब्जेक्ट होना आवश्यक है। मैंने तदनुसार अपना जवाब बदल दिया है, धन्यवाद! –