如果你在Magento 2开发过程中,使用了Magento 1的代码迁移,这必须需要更改路径,magento 1的获取路径的方法和Magento 2的完全不同.
下面我将为大家讲述下如何在Magento 2中获取安装的路径信息和日志信息等等,前面的文章中我已经讲述了如何Magento 2获取Websites, Stores & Stores Views信息(正确方法)
如何获取Magento 2路径信息
首先我们将要在Magento 2的controller里面获取信息,和在其他的地方基本一样。这里我不多少。
直接写入下面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <?php /** * @WEBSITE https://www.sky8g.com */ namespace Sky8g\Hello\Controller\Test; use Sky8g\Hello\Helper\Data; class Index extends \Magento\Framework\App\Action\Action { protected $_coreRegistry; protected $_pageFactory; protected $_helper; protected $_dir; protected $_storeManager; public function __construct( \Magento\Framework\App\Action\Context $context, \Magento\Framework\Registry $registry, \Magento\Store\Model\StoreManagerInterface $storeManager, Data $helper, \Magento\Framework\Filesystem\DirectoryList $dir, \Magento\Framework\View\Result\PageFactory $pageFactory) { $this->_pageFactory = $pageFactory; $this->_coreRegistry = $registry; $this->_storeManager = $storeManager; $this->_helper = $helper; $this->_dir = $dir; return parent::__construct($context); } public function execute() { echo $this->_dir->getPath('media')."<br/>"; // Output: /var/www/html/sky8g/pub/media echo $this->_dir->getPath('pub')."<br/>"; // Output: /var/www/html/sky8g/pub echo $this->_dir->getPath('static')."<br/>"; // Output: /var/www/html/sky8g/pub/static echo $this->_dir->getPath('var')."<br/>"; // Output: /var/www/html/sky8g/var echo $this->_dir->getPath('app')."<br/>"; // Output: /var/www/html/sky8g/app echo $this->_dir->getPath('etc')."<br/>"; // Output: /var/www/html/sky8g/app/etc echo $this->_dir->getPath('lib_internal')."<br/>"; // Output: /var/www/html/sky8g/lib/internal echo $this->_dir->getPath('lib_web')."<br/>"; // Output: /var/www/html/sky8g/lib/web echo $this->_dir->getPath('tmp')."<br/>"; // Output: /var/www/html/sky8g/var/tmp echo $this->_dir->getPath('cache')."<br/>"; // Output: /var/www/html/sky8g/var/cache echo $this->_dir->getPath('log')."<br/>"; // Output: /var/www/html/sky8g/var/log echo $this->_dir->getPath('session')."<br/>"; // Output: /var/www/html/sky8g/var/session echo $this->_dir->getPath('setup')."<br/>"; // Output: /var/www/html/sky8g/setup/src echo $this->_dir->getPath('di')."<br/>"; // Output: /var/www/html/sky8g/var/di echo $this->_dir->getPath('upload')."<br/>"; // Output: /var/www/html/sky8g/pub/media/upload echo $this->_dir->getPath('generation')."<br/>"; // Output: /var/www/html/sky8g/var/generation/code echo $this->_dir->getPath('view_preprocessed')."<br/>"; // Output: /var/www/html/sky8g/var/view_preprocessed/pub/static echo $this->_dir->getPath('composer_home')."<br/>"; // Output: /var/www/html/sky8g/var/composer_home echo $this->_dir->getPath('html')."<br/>"; // Output: /var/www/html/sky8g/var/view_preprocessed } } |
在前端访问:https://www.sky8g.com/hello/test/index 如果你是windows服务器输出如下,linux Centos 7服务器输出如上面的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | C:/xampp/htdocs/www/sky8g/pub/media C:/xampp/htdocs/www/sky8g/pub C:/xampp/htdocs/www/sky8g/pub/static C:/xampp/htdocs/www/sky8g/var C:/xampp/htdocs/www/sky8g/app C:/xampp/htdocs/www/sky8g/app/etc C:/xampp/htdocs/www/sky8g/lib/internal C:/xampp/htdocs/www/sky8g/lib/web C:/xampp/htdocs/www/sky8g/var/tmp C:/xampp/htdocs/www/sky8g/var/cache C:/xampp/htdocs/www/sky8g/var/log C:/xampp/htdocs/www/sky8g/var/session C:/xampp/htdocs/www/sky8g/setup/src C:/xampp/htdocs/www/sky8g/generated/metadata C:/xampp/htdocs/www/sky8g/pub/media/upload C:/xampp/htdocs/www/sky8g/generated/code C:/xampp/htdocs/www/sky8g/var/view_preprocessed/pub/static C:/xampp/htdocs/www/sky8g/var/composer_home C:/xampp/htdocs/www/sky8g/var/view_preprocessed |
Magento 2教程总结
这是在Magento 2开发过程中我们常见遇到的技术知识。 希望你更好的运用它,如果又不懂的地方请留言。