Ukládání do configu z administrace
- BuMoRi
- Člen | 109
Ahoj, takovej obecnej dotaz: chtěl bych umožnit zadávaní v administraci
nějaké konfigurační hodnoty, která se píše do config.neon. Řeší se to
tak, že se vytvoří nějaký samostatný config a do něj se hodnota
z formuláře zapíše?
Příklad: využívám Kdyby/Facebook a chci umožnit zapsat z administrace ID
a Secret. Takže bych vytvořil config:
facebook:
appId: ""
appSecret: ""
A hodnoty do souboru zapíše script? Nebo se toto řeší nějak jinak?
- Kcko
- Člen | 470
BuMoRi napsal(a):
Ahoj, takovej obecnej dotaz: chtěl bych umožnit zadávaní v administraci nějaké konfigurační hodnoty, která se píše do config.neon. Řeší se to tak, že se vytvoří nějaký samostatný config a do něj se hodnota z formuláře zapíše?
Příklad: využívám Kdyby/Facebook a chci umožnit zapsat z administrace ID a Secret. Takže bych vytvořil config:facebook: appId: "" appSecret: ""
A hodnoty do souboru zapíše script? Nebo se toto řeší nějak jinak?
Nevím jak to řeší ostatní, ale já mám 2 tyhle konfigurační neony. Jeden si spravuju vyloženě sám ručně a druhý se generuje dynamicky z administrace. Poté se oba „includují“ v boostrapu (resp nastavují, že se mají vložit v nějakém pořadí).
To dynamické generování je prachsprosté otevření souboru, přelouskání přes Neon::encode/decode a znovu uložení.
- BuMoRi
- Člen | 109
Mám ještě dotaz k ukládání do configu:
vytvořil jsem si art.neon, kde mám např. jen počet článků na
stránku:
parameters:
pages: 2
A v config.neon mám:
includes:
- art.neon
...
services:
- App\Model\ArticleManager(%pages%)
Pokud změním paramter pages, na localhostu vše funguje a změna na frontendu se projeví ihned. Na produkci ale asi jen po vymazání cache. Mělo by to tak být? Jako že by se při změně parametru musela mazat kompletně cache?
- CZechBoY
- Člen | 3608
Ono úplně nejlepší by bylo neměnit konfiguraci aplikace zevnitř, ale uložit si uživatelsky měnitelnou konfiguraci někam do databáze nebo do jinýho trvalýho úložiště. Samozřejmě data z databáze si můžeš taky cachovat, ale ve vlastní režii a budeš k tomu mít lepší přístup právě z hlediska invalidace cache.