Оптимизация кода, адаптация к большому количеству условий
Мне нужно поставить условие, если код сервера имеет определенное значение, то он установит соответствующую валюту.
Я сделал это с помощью условия 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);
}
1
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