আমার গবেষণা অনুসারে, আমি যা পেয়েছি তা এখানে:
আর্গুমেন্ট ইন্টারপ্রেটার তৈরি করা হয় lib\internal\Magento\Framework\App\ObjectManagerFactory.php
:
protected function createArgumentInterpreter(
\Magento\Framework\Stdlib\BooleanUtils $booleanUtils
) {
$constInterpreter = new \Magento\Framework\Data\Argument\Interpreter\Constant();
$result = new \Magento\Framework\Data\Argument\Interpreter\Composite(
[
'boolean' => new \Magento\Framework\Data\Argument\Interpreter\Boolean($booleanUtils),
'string' => new \Magento\Framework\Data\Argument\Interpreter\StringUtils($booleanUtils),
'number' => new \Magento\Framework\Data\Argument\Interpreter\Number(),
'null' => new \Magento\Framework\Data\Argument\Interpreter\NullType(),
'object' => new \Magento\Framework\Data\Argument\Interpreter\DataObject($booleanUtils),
'const' => $constInterpreter,
'init_parameter' => new \Magento\Framework\App\Arguments\ArgumentInterpreter($constInterpreter),
],
\Magento\Framework\ObjectManager\Config\Reader\Dom::TYPE_ATTRIBUTE
);
// Add interpreters that reference the composite
$result->addInterpreter('array', new \Magento\Framework\Data\Argument\Interpreter\ArrayType($result));
return $result;
}
এই কোডটিতে আপনি পরিষ্কারভাবে দেখতে পাবেন যে আর্গুমেন্টের ধরণের বৈশিষ্ট্যের ভিত্তিতে বিভিন্ন দোভাষী ব্যবহার করা হয় \Magento\Framework\ObjectManager\Config\Reader\Dom::TYPE_ATTRIBUTE
:
- বুলিয়ান =>
\Magento\Framework\Data\Argument\Interpreter\Boolean
- স্ট্রিং =>
\Magento\Framework\Data\Argument\Interpreter\StringUtils
- সংখ্যা =>
\Magento\Framework\Data\Argument\Interpreter\Number
- নাল =>
\Magento\Framework\Data\Argument\Interpreter\NullType
- অবজেক্ট =>
\Magento\Framework\Data\Argument\Interpreter\DataObject
- কনস্ট =>
\Magento\Framework\Data\Argument\Interpreter\Constant
- init_parameter =>
\Magento\Framework\App\Arguments\ArgumentInterpreter
(নোট করুন যে এটি \Magento\Framework\Data\Argument\Interpreter\Constant
প্যারামিটার হিসাবে নেয় এবং কনস্ট্রাক্টর প্যারামিটার হিসাবে নয়)
অ্যারে প্রকারগুলি পরিচালনা করতে ফ্লাইতে একটি অতিরিক্ত দোভাষীও যুক্ত করা হয়:
- অ্যারে =>
\Magento\Framework\Data\Argument\Interpreter\ArrayType
দ্রষ্টব্য: মনে হচ্ছে init_parameter
প্রকারটি কেবলমাত্র app\code\Magento\Store\etc\di.xml
কয়েকটি ধ্রুবককে আরম্ভ করার জন্য ব্যবহৃত হয় :
<argument name="xFrameOpt" xsi:type="init_parameter">Magento\Framework\App\Response\XFrameOptPlugin::DEPLOYMENT_CONFIG_X_FRAME_OPT</argument>
...
<argument name="isCustomEntryPoint" xsi:type="init_parameter">Magento\Store\Model\Store::CUSTOM_ENTRY_POINT_PARAM</argument>
...
<argument name="runMode" xsi:type="init_parameter">Magento\Store\Model\StoreManager::PARAM_RUN_TYPE</argument>
<argument name="scopeCode" xsi:type="init_parameter">Magento\Store\Model\StoreManager::PARAM_RUN_CODE</argument>
static
পরিবর্তে একটি ব্যবহার করার চেষ্টা করেছেনconst
?static
আমার শ্রেণিতে একটি ক্ষেত্রের জন্য কাজ করে এমন কোনও সন্ধান আমি খুঁজে পাচ্ছি না :-(