Получить режим Magento 2 программно


Каков наилучший способ получить текущий режим, в котором Magento 2 работает с кодом?

В моем случае это для безголового Magento, но я вижу ряд случаев, когда это может потребоваться.

Author: Raphael at Digital Pianism, 2016-12-21

1 answers

Если вы имеете в виду режим развертывания, вы можете сделать это через интерфейс командной строки, используя:

php bin/magento deploy:mode:show

Если вам нужно сделать это с помощью чистого кода, вы можете использовать:

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;
    }
}
 16
Author: Raphael at Digital Pianism, 2017-07-27 04:33:33