Можливо, мені не вистачає пункту, але мені просто цікаво, чому іноді є вираз "використання" для конкретного класу, а іноді ми цього не робимо.
Приклад: 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
для конкретного класу, на який я вказав, правильно?