Jak trzymacie pliki konfiguracyjne?

0

Cześć,
Piszę projekt w którym dla bibliotek potrzebuję plików konfiguracyjnych.
Moje podejście polegało na zrobieniu pliku w którym jest:

$config['test_data'] = 'test_data';
...

I spotkałem się ze stwierdzeniem że lepiej to zrobić przez singletona z getterami i setterami. Jednak według mnie jest to zdecydowany przerost formy nad treścią. Tym bardziej że configów będzie całkiem sporo.
Myślałem nad plikami .ini, ale nigdy ich nie używałem więc się nie wypowiem. xml odpada ze swoją ślamazarnością. Zostaje jeszcze trzymanie w json'ie, ale nie wiem czy jest sens o tym myśleć skoro od pierwotnego zamysłu będzie różnił się jedynie użyciem dodatkowej funkcji aby zrobić tablicę.
A wy jak trzymacie configi do swoich aplikacji? Jakie, według was, są plusy i minusy używania konkretnych rozwiązań?

0

Coś podobnego jak Ty masz, tylko dodatkowo podzielone na moduły np.

$config['db']['database'] = '';
$config['session']['blablabla'] = '';

Lub jeżeli jest możliwość dynamicznej zmiany, to część rekordów trzymać np w bazie danych. Np. nazwa projektu.

0

Wszelkie frameworki to stosują więc jest to poprawne rozwiązanie. Oczywiście frameworki idą krok dalej i korzystają z plików .ENV dla tych wartości które są zależne od środowiska, jak baza danych, key googla itp.

0

Co do podziału na moduły to dziele po prostu pliki. Np w katalogu config jest plik router.php który odpowiada za config klasy router. A co myślicie o tych getterach i setterach?

0

Gettery i settery mają ten plus, że można dołączyć PHPDoce opisujące daną wartość oraz jej typ, przez co środowisko może lepiej podpowiadać składnię - atoli sam preferuję tablicę $config podzieloną na moduły, tak jak @CeKa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1