Forse mi manca un punto, ma mi chiedo solo perché a volte esiste un'istruzione "use" per una classe specifica e altre volte no.
Esempio:, app\code\Magento\Email\Model\Template.php
abbiamo nella parte superiore del file:
namespace Magento\Email\Model;
use Magento\Store\Model\ScopeInterface;
use Magento\Store\Model\StoreManagerInterface;
Quindi nel __construct
metodo abbiamo i seguenti parametri:
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 = []
)
Quindi possiamo vedere chiaramente che come abbiamo chiamato use Magento\Store\Model\StoreManagerInterface;
in cima alla classe, siamo in grado di fare StoreManagerInterface $storeManager
i parametri del costruttore.
Le mie domande sono:
- Perché lo facciamo solo per una lezione?
- Perché non possiamo aggiungere
use
un'istruzione per ogni classe del costruttore in modo da non dover digitare il percorso completo della classe? - O viceversa, perché non ci liberiamo
use
dell'istruzione e digitiamo il percorso completo dellaStoreManagerInterface
lezione?
use
per la specifica classe che ho indicato giusto?