我可能遗漏了一点,但我只是想知道为什么有时对于特定的类有一个“使用”语句,而有时却没有。
示例: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
class 的完整路径?
use
为我指出的特定课程添加的内容没有意义吗?