Magento 2:使用语句还是直接类路径?
我可能遗漏了一点,但我只是想知道为什么有时对于特定的类有一个“使用”语句,而有时却没有。 示例: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语句并键入StoreManagerInterfaceclass …