Оптимизация кода, адаптация к большому количеству условий


Мне нужно поставить условие, если код сервера имеет определенное значение, то он установит соответствующую валюту. Я сделал это с помощью условия if else. Но если будет много условий 5+, это будет выглядеть неправильно. Помогите оптимизировать и сократить код с помощью массива

        $de = 'de';
        $currencyEuro = 'EUR';

        $uk = 'uk';
        $currencyPound = 'GBP';

        if ($this->getStoreCurrency() !== $currencyEuro && $_SERVER['HTTP_LANGUAGE'] == $de) {
            $this->storeManager->getStore()->setCurrentCurrencyCode($currencyEuro);
        } elseif ($this->getStoreCurrency() !== $currencyPound && $_SERVER['HTTP_LANGUAGE'] == $uk) {
            $this->storeManager->getStore()->setCurrentCurrencyCode($currencyPound);
        }

Author: Sumit, 2020-07-21

1 answers

В соответствии с вашим кодом вы можете использовать этот код для простоты

    $array = [
        'de' => 'EUR',
        'uk' => 'GBP'
    ];
    $currency = $this->getStoreCurrency();

    foreach ($array as $k => $value) {
        if ($currency!== $value && $_SERVER['HTTP_LANGUAGE'] == $k) {
            $this->storeManager->getStore()->setCurrentCurrencyCode($value);
            break;
        }
    }
 1
Author: Afreen Sheikh, 2020-07-21 13:57:30