আমি একটি পয়েন্ট মিস করতে পারি তবে আমি কেবল ভাবছি কেন কখনও কখনও নির্দিষ্ট শ্রেণীর জন্য "ব্যবহার" বিবৃতি থাকে এবং কখনও কখনও আমরা তা করি না।
উদাহরণ app\code\Magento\Email\Model\Template.php
:, আমাদের কাছে ফাইলের শীর্ষে রয়েছে:
namespace Magento\Email\Model;
use Magento\Store\Model\ScopeInterface;
use Magento\Store\Model\StoreManagerInterface;
তারপরে __construct
পদ্ধতিতে আমাদের নীচের প্যারামিটারগুলি রয়েছে:
public function __construct(
\Magento\Framework\Model\Context $context,
\Magento\Framework\View\DesignInterface $design,
\Magento\Framework\Registry $registry,
\Magento\Store\Model\App\Emulation $appEmulation,
StoreManagerInterface $storeManager,
\Magento\Framework\View\Asset\Repository $assetRepo,
\Magento\Framework\Filesystem $filesystem,
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
\Magento\Email\Model\Template\Config $emailConfig,
\Magento\Email\Model\TemplateFactory $templateFactory,
\Magento\Framework\Filter\FilterManager $filterManager,
\Magento\Framework\UrlInterface $urlModel,
\Magento\Email\Model\Template\FilterFactory $filterFactory,
array $data = []
)
সুতরাং আমরা পরিষ্কারভাবে দেখতে পারি যে আমরা use Magento\Store\Model\StoreManagerInterface;
ক্লাসের শীর্ষে ডেকেছি , আমরা StoreManagerInterface $storeManager
কনস্ট্রাক্টর পরামিতিগুলিতে করতে সক্ষম হয়েছি ।
আমার প্রশ্নগুলি হ'ল:
- কেন আমরা কেবল এক শ্রেণির জন্য এটি করি?
- কেন আমরা
use
কনস্ট্রাক্টরের প্রতিটি শ্রেণীর জন্য একটি বিবৃতি যুক্ত করতে পারি না যাতে আমাদের পূর্ণ শ্রেণির পথটি টাইপ করতে না হয়? - বা অন্য পথে, আমরা কেন
use
বিবৃতি থেকে মুক্তি না পেয়েStoreManagerInterface
ক্লাসের পুরো পথটি টাইপ করব না ?
use
নির্দিষ্ট দল নেই যে নির্দিষ্ট ক্লাসের জন্য আমি যুক্ত করেছিলাম?