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

10

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

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

mbalparda
источник

Ответы:

14

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

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;
    }
}
Рафаэль в цифровом пианизме
источник