Prepisovanie nastavení aplikácie rubrika: Programování: PHP

3 pooler
položil/-a 23.4.2019

jeden z príkladov:

  • chcem, aby som mohol povoliť alebo zakázať akékoľvek odosielanie emailov z aplikácie (čiže ak je zakázané, tak sa neodošle žiaden email ... ak je povolené, tak sa odošlú emaily v danom momente)

  • aktuálne to mám spravené, tak, že to mám zadefinované ako globálne nastavenie pre projekt
  • občas to však potrebujem na rýchlo vypnúť/zapnúť
  • "nebaví ma" pripojiť sa na server a zmeniť konfiguračný súbor

je vhodné riešenie spraviť osobitný config.php (ktorý by sa includoval pri každom začatom requeste, ešte pred inicializáciou FW), na ktorý by som spravil UI na zmenu hodnôt ?
teda vojdem do administrácie systému -> nastavenie projektu -> zmením niektorú hodnotu, script automaticky prepíše config.php

riešenie cez databázu nieje možné, pretože "nastavenia databázy" sú taktiež nastavenia projektu ... chcem tým povedať to, že niektoré nastavenia(tie ktoré chcem meniť) sa musia načítať ešte predtým, než sa vytvorí spojenie s DB (čiže logicky nemôžem sa pripojiť do DB a získať nastavenia, pretože tie nastavenia už musím mať pred pripojením do DB získané)

odkaz
8 rmaslo
odpověděl/-a 25.4.2019

Nějak jsem nepochopil proč by to nemohlo být v db. Tedy pokud rozesílaný email není vzkaz správci: "Nepodařilo se připojit k db" a adresa správce v db.

Nicméně pokud bych takový požadavek měl tak bych to stejně zapisoval do db. A tu tabulku konfigurace z db bych (var_)exportoval do nějakého config.php při každé změně konfigurace. Občas to tak dělám z důvodu výkonu, když mi přijde ten dotaz na konfiguraci do db zbytečný. Prostě je to souborová cache té tabulky konfigurace.

Komentáře

  • pooler : Momentálne by som to potreboval spraviť do projektu, kde je vlastný FW, avšak rozmýšlal som aj vopred napr. nad projektom, ktorý je písaný v SYMFONY. V SYMFONY sa nastavenia píšu najčastejšie do .yml súborov, ktoré si FW samostatne spravuje a vytvára nad nimi vlastné konfiguračné PHP súbory, do ktorých by som nerád šahal. Uložiť ich do DB nemôžem, pretože ak sa chcem pripojiť do DB, tak sa predtým celý FW inicializuje (povytvárajú nové konfiguraky z .yml) a následnou úpravou .yml súboru by som už nič neriešil. (musel by som pomazať konfiguraky/prípadne celú keš - čo som už niekedy robil no nie vždy mi to fungovalo správne ... alebo by som musel mať osobitný ďalší projekt s DB, kde by boli nastavenia, čo mi príde ako overkill) 25.4.2019
  • Kit : @ferkomatus: Však tu konfiguraci můžeš uložit třeba do DB SQLite, která je pro čtení velmi rychlá a nemá vliv na zbytek projektu. 25.4.2019
  • Taco : @ferkomatus: Si myslím, že to tak úplně jak popisuješ není. V těch yaml souborech je určitá množina konfigurace. Ideálně co nejmenší. Ale nic ti nebrání to potom dokonfigurovat na základě databáze. 25.4.2019

Pro zobrazení všech 7 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.