Отримуйте режим Magento 2 програмно


11

Який найкращий спосіб отримати поточний режим роботи Magento 2 з кодом ?

У моєму випадку це безголовий Магенто, але я можу побачити ряд випадків, коли це може знадобитися.

Відповіді:


15

Якщо ви посилаєтесь на режим розгортання, ви можете це зробити через 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;
    }
}

Я отримую помилку типу Виняток № 0 (Magento \ Framework \ Exception \ RuntimeException): помилка типу сталася під час створення об’єкта: Pmmsite \ PmmLayout \ Block \ Head \ Interceptor
CodeForGood
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.