Magento 2 Get Paths Programatically

Looking for Mage::getBaseUrl in Magento 2?
Use the DirectoryList class in your constructor to get an instance of DirectoryList.

Magento\Framework\App\Filesystem\DirectoryList $directory_list

For getting your Magento 2 root folder you can use

$this->directory_list->getRoot();

For getting media folder you can use

$this->directory_list->getPath('media');

 

Other possible uses are:

/* 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');
 

Leave a Reply

Your email address will not be published. Required fields are marked *