Přepínání jazyků a přepínání DB
- Joacim
- Člen | 229
Zdravím, měl bych dvě otázky.
- Mám url ve tvaru
http://web/en/modul/presenter/template/podpolozka_templatu/cislo_podpolozky
a pokud přepnu jazyk, změní se i překlad, ale url se přepne nahttp://web/en/modul/presenter/template/
/podpolozka_templatu
a/cislo_podpolozky
jsou parametry v URL, které mám pomocí routy$mfModuleRouter[] = new Route('[<locale=es es|en>/]manufacturing/<presenter>/<action>[/<tab>][/<id>]');
, přepsané na coolURL a potřeboval bych ponechat kompletní url i při přepnutí jazyka - Mám ORACLE DB a potřebuji přepínat pomocí select boxu mezi produkční a testovací DB, jaká je nejschůdnější cesta ? Potřebuji změnit jen TNSNAMES (usr/pwd zustane stejné)
Děkuji mnohokrát
Editoval Joacim (30. 1. 2017 10:17)
- CZechBoY
- Člen | 3608
ad 1: Pošli všechny routy (nejspíš třída RouterFactory).
ad 2: Já mám nakonfigurované klasicky 2 databáze. Nejspíš by se to
mělo řešit pomocí DI rozšíření, které
určí jaké spojení se má autowirovat.
Já osobně to řeším resolverem databáze, což je nejspíš špatně
(schovávání závislosti atd. a další nepříjemnosti). U mě je problém,
že mám ještě 2 druhy databází takže to takhle jednoduše nejspíš
vyřešit nepůjde.
- Joacim
- Člen | 229
CZechBoY napsal(a):
ad 1: Pošli všechny routy (nejspíš třída RouterFactory).
ad 2: Já mám nakonfigurované klasicky 2 databáze. Nejspíš by se to mělo řešit pomocí DI rozšíření, které
určí jaké spojení se má autowirovat.
Já osobně to řeším resolverem databáze, což je nejspíš špatně (schovávání závislosti atd. a další nepříjemnosti). U mě je problém, že mám ještě 2 druhy databází takže to takhle jednoduše nejspíš vyřešit nepůjde.
public static function createRouter() {
$router = new RouteList();
// Manufacturing Modul
$router[] = $mfModuleRouter = new RouteList('Manufacturing');
$mfModuleRouter[] = new Route('[<locale=es es|en>/]manufacturing/<presenter>/<action>[/<tab>][/<id>]');
$router[] = new Route('[<locale=es es|en>/]<presenter>/<action>/[<id>]', "Home:default");
return $router;
}
No já mám stejné DB (1 ku 1), query taky stejné, nepotřebuji ORM jako je doctrine, jen přepnout connection string nejlépe z config.neon kde budu mít DB1 a DB2
- CZechBoY
- Člen | 3608
Nešlo by to přepínání db vyřešit už na úrovní bootstrap.php? Produkční databáze na produkčním prostředí a vývojová na vývojovým?
if ($configurator->isDebugMode()) {
$configurator->addConfig('config.local.dev.neon');
} else {
$configurator->addConfig('config.local.prod.neon');
}
- Joacim
- Člen | 229
CZechBoY napsal(a):
Nešlo by to přepínání db vyřešit už na úrovní bootstrap.php? Produkční databáze na produkčním prostředí a vývojová na vývojovým?
if ($configurator->isDebugMode()) { $configurator->addConfig('config.local.dev.neon'); } else { $configurator->addConfig('config.local.prod.neon'); }
potřebuji přepínání přímo v aplikaci, jinak bych tuto metodu použil