magento2
निर्भरता अन्तःक्षेपण
खोज…
तर्क प्रतिस्थापन
<!-- <moduleDir>/etc/<area>/di.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<!-- ... -->
<type name="Vendor\Namespace\Model\SomeClass">
<arguments>
<argument name="object" xsi:type="object">Vendor\Namespace\Model\SomeOtherClass</argument>
</arguments>
</type>
</config>
वर्ग वरीयता
<!-- <moduleDir>/etc/<area>/di.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<!-- ... -->
<preference
for="Vendor\Namespace\Model\Example"
type="Vendor\Namespace\Model\AnotherExample" />
<!-- ... -->
</config>
ऊपर का उदाहरण ओवरराइड कोर मॉडल का एक सिंटैक्स है।
यहां उन बिंदुओं की एक सूची दी गई है जो आपको बताएंगे कि इसे कैसे संभव किया जाए
मॉड्यूलडायर - एक्सटेंशन निर्देशिका जैसे
app/code/custom/extensionयहांextensionआपकी निर्देशिका है जिसमें एक्सटेंशन के सभी आवश्यक फ़ोल्डर रखे जाएंगे।क्षेत्र - क्षेत्र
frontendयाadminhtmlदृश्यपटल - अगर विस्तार से दृश्यपटल की कार्यक्षमता का उपयोग करेगा
di.xmlहोगा इस फोल्डर में लिए चला जाता हैadminhtml - अगर विस्तार
di.xmlतुलना में adminpanel की कार्यक्षमता का उपयोग करेगा इस फ़ोल्डर में जाता हैतो यह
app/code/custom/extension/etc/frontend/di.xmlयाapp/code/custom/extension/etc/adminhtml/di.xmlयदि
di.xmlफ़ाइल की तुलना में दोनों कार्यक्षमता का उपयोग करना चाहते हैं तोetcफोल्डर में सीधे जाता है, जिसेfrontendयाadminhtmlफ़ोल्डर में डालने की कोई आवश्यकता नहीं है। जैसे -app/code/custom/extension/etc/di.xml
यहाँ = "विक्रेता \ Namespace \ Model \ Example" के लिए, फ़ाइल का पथ जो वांछित फ़ंक्शन की कार्यक्षमता को ओवरराइड करेगा।
टाइप करें = "वेंडर \ Namespace \ Model \ OtherExample" यहाँ पर, फ़ाइल का पथ जो फ़ंक्शंस प्रदान करेगा जो
step - 3द्वारा ओवरराइड करेगाstep - 3
कंस्ट्रक्टर इंजेक्शन
/**
* @var \Vendor\Module\Helper\Data
*/
protected $customHelper;
/**
* Constructor call
* @param \Vendor\Module\Helper\Data $customHelper
*/
public function __construct(
\Vendor\Module\Helper\Data $customHelper
)
{
$this->customHelper = $customHelper;
parent::__construct();
}