Dáta pre celý web z databázy podľa url
- matik58
- Člen | 2
Čaute,
zaujímalo by ma, či ste niekto riešili alebo ako to najlepšie vyriešiť.
- Mám dve domény domena.sk a domena.cz.
- Na základe routingu získam persistentné parametre „host“ (domena) a „locale“ (sk|cz).
- Následne so získanými údajmi v presenteri na „startup“ chcem pingnúť DB (tabuľka „mutation“ so stĺpcami „id“, „host“, „locale“) a identifikovať o ktorú mutáciu webu ide na základe „host“ a „locale“.
- Získané „id“ chcem následne používať v každom presenteri a zároveň aj v každej komponente, pretože každá DB tabuľka bude mať FK „mutation_id“.
Aktuálne to riešim tak, že presenter má atribút, ktorý sa naplní v metóde „startup“ a každý komponent má tiež tento atribút a settujem ho pri create() volaní komponenty.
Moja otázka znie, ako najlepšie AutoWirovať „mutation_id“ skrz celý systém.
Ďakujem.
Editoval matik58 (14. 11. 1:48)
- MajklNajt
- Člen | 493
ahoj, nahradil by som ten tvoj atribút servisou, do ktorej v startup iba
predáš $host
a $locale
, a túto servisu potom
žiadaj v constructore každej triedy, ktorá potrebuje pracovať s
mutation_id
…
class MutationProvider
{
private int $mutationId;
public function __construct(private MutationModel $model) {}
public function setParams(string $host, string $locale)
{
$this->mutationId = $this->model->findOneBy($host, $locale);
}
public function getMutation(): int
{
return $this->mutationId;
}
}
MutationModel
je obálka nad databázou (neviem, či používaš
Nette DB, Doctrine, Nextras…)