Uzyskaj programowo tryb Magento 2

11

Jaki jest najlepszy sposób na uzyskanie bieżącego trybu Magento 2 działa z kodem ?

W moim przypadku dotyczy to bezgłowego Magento, ale widzę wiele przypadków, w których może to być wymagane.

mbalparda
źródło

Odpowiedzi:

15

Jeśli masz na myśli tryb wdrażania, możesz to zrobić za pomocą interfejsu wiersza polecenia, używając:

php bin/magento deploy:mode:show

Jeśli musisz to zrobić za pomocą czystego kodu, możesz użyć:

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;
    }
}
Raphael at Digital Pianism
źródło
Otrzymuję błąd typu Wyjątek nr 0 (Magento \ Framework \ Exception \ RuntimeException): Typ Wystąpił błąd podczas tworzenia obiektu: Pmmsite \ PmmLayout \ Block \ Head \ Interceptor
CodeForGood