पहले आपको अपने Magento 2 निर्माता में DirectoryList वर्ग को इंजेक्ट करने की आवश्यकता होगी:
public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\App\Filesystem\DirectoryList $directory_list, array $data = []) {
parent::__construct($context, $data);
$this->directory_list = $directory_list;
}
उसके बाद आपके पास विभिन्न रास्तों को पुनः प्राप्त करने के लिए DirectoryList विधियों का उपयोग होगा। उदाहरण के लिए, मीडिया फ़ोल्डर प्राप्त करने के लिए आप इसका उपयोग कर सकते हैं:
$this->directory_list->getPath('media');
अन्य संभावित उपयोग हैं:
/* Get app folder */
$this->directory_list->getPath('app');
/* Get configuration folder */
$this->directory_list->getPath('etc');
/* Get libraries or third-party components folder */
$this->directory_list->getPath('lib_internal');
/* Get libraries/components that need to be accessible publicly through web-server folder */
$this->directory_list->getPath('lib_web');
/* Get public folder */
$this->directory_list->getPath('pub');
/* Get static folder */
$this->directory_list->getPath('static');
/* Get var folder */
$this->directory_list->getPath('var');
/* Get temporary files folder */
$this->directory_list->getPath('tmp');
/* Get file system caching directory (if file system caching is used) */
$this->directory_list->getPath('cache');
/* Get logs of system messages and errors */
$this->directory_list->getPath('log');
/* Get file system session directory (if file system session storage is used) */
$this->directory_list->getPath('session');
/* Get directory for Setup application*/
$this->directory_list->getPath('setup');
/* Get Dependency injection related file directory */
$this->directory_list->getPath('di');
/* Relative directory key for generated code*/
$this->directory_list->getPath('generation');
/* Temporary directory for uploading files by end-user */
$this->directory_list->getPath('upload');
/* Directory to store composer related files (config, cache etc.) in case if composer runs by Magento Application */
$this->directory_list->getPath('composer_home');
/* A suffix for temporary materialization directory where pre-processed files will be written (if necessary) */
$this->directory_list->getPath('view_preprocessed');
/* Get template minification dir */
$this->directory_list->getPath('html');