Konfigurace lokálních odlišností v mezinarodni aplikaci a statické metody

- Čaj
 - Člen | 1
 
Ahoj,
jedna nette aplikace beží na více doménách pro různé země. Napříč
zeměma je spousta věcí, který se lišej – měny, api klíče, formát
čísel, bankovní účty a mnoho dalšího.
Jak to funguje teď
Teď pro každou zemi existuje jeden config neon soubor s těmahle hodnotama, ten je použit jako parametr služby countryConfig, ktery se pak injectuje, kde je potreba.
    countryConfig:
        class: \Config\CountryConfig
        arguments: [%countryConfig%]
Kde to naráží
Problém je ve statických metodách, priklad webalize(), kdy je potreba, aby se v kazde zemi nektere znaky prekladaly trochu odlisne. Otazkou je, jak dostat do staticke metody lokalni konfiguraci pro zemi a obecne tak predejit situacim jako je tahle.
public static function webalize($str)
{
	if (AppEnvironment::getCountry() === 1) {
		$replace = ['a', 'b', 'c'];
		$to = [1, 2, 3];
	} else {
		$replace = ['a', 'b', 'c'];
		$to = [10, 20, 30];
	}
	$replaced = str_replace($replace, $to, $str);
	return $replaced;
}
Jak tohle řešíte vy?
Díky za náměty :)

- CZechBoY
 - Člen | 3608
 
Udělal bych si svoji službu na webalize, tý bych předal nějakou konfiguraci země/lokalizace přímo v konstruktoru.
Tuhle službu bych potom samozřejmě používal tam, kde teď používáš webalize. Taky je potřeba nahradit Latte filtr (pokud používáš).
Editoval CZechBoY (17. 8. 2017 10:19)