나는 요점을 놓칠 수도 있지만 때로는 왜 특정 클래스에 대해 "사용"문구가 있고 때로는 그렇지 않은지 궁금합니다.
예 : 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
내가 지정한 특정 클래스 에 대해 추가 한 점이 없다는 것을 분명히하기 위해 ?