当前位置: 技术文章>> 如何检查Magento 2是否在生产模式下运行

文章标题:如何检查Magento 2是否在生产模式下运行
  • 文章分类: Magento
  • 19674 阅读
系统学习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商店的模式。


推荐文章