系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
介绍
基本上,Magento 2生产模式是所有Magento 2网站最有效的模式,因此该网站经过全面优化,运行平稳,提升了最佳的客户体验。主要是生产模式的使用非常安全可靠,原因是如果任何不适当的用户尝试访问 pub/static 文件夹并主动对其进行更改,那么只会在重复版本中进行更改,并且文件将在下一次静态部署期间被覆盖。
编码步骤
有两种方法可以检查Magento 2是否在生产模式下运行。
方法1:(不推荐的方法)
$om = \Magento\Framework\App\ObjectManager::getInstance();
/** @return \Magento\Framework\App\State */
$state = $om->get('Magento\Framework\App\State');
/** @var bool $isDeveloperMode */
$isDeveloperMode = \Magento\Framework\App\State::MODE_DEVELOPER === $state->getMode();注意: 根据Magento标准,不建议使用对象管理器,我们共享的方式只是为了知识目的。
方法2:Magento编码标准明智
protected $_appState;
public function __construct( \Magento\Framework\App\State $appState )
{
$this->_appState = $appState;
}
public function doSomething() {
switch ( $this->_appState->getMode() ) {
case \Magento\Framework\App\State::MODE_DEFAULT:
// Action for default mode
break;
case \Magento\Framework\App\State::MODE_PRODUCTION:
// Action for production mode
break;
case \Magento\Framework\App\State::MODE_DEVELOPER:
// Action for developer mode
break;
}
}您可以使用上面给出的任何方法并实现检查Magento 2是否在生产模式下运行。实施后,您将能够成功了解Magento 2商店的模式。