Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Własna konfiguracja
Forum PHP.pl > Forum > PHP > Frameworki
masterix
Witam,

Potrzebuję zrobic edytowalną konfigurację w projekcie: takie rzeczy jak mail do admina, ilość komentarzy na stronę itd.
Teraz mam to ustawione w app.yml, ale czy jak chcę mieć wiele takich "wpisów" to nie lepiej jest użyć bazę danych?

Jak to najlepiej rozwiązać?

pzdr.
janek9
Cytat(masterix @ 8.12.2009, 11:20:50 ) *
Witam,

Potrzebuję zrobic edytowalną konfigurację w projekcie: takie rzeczy jak mail do admina, ilość komentarzy na stronę itd.
Teraz mam to ustawione w app.yml, ale czy jak chcę mieć wiele takich "wpisów" to nie lepiej jest użyć bazę danych?

Jak to najlepiej rozwiązać?

pzdr.


jeżeli masz sporo takich opcji to mysle, ze najlepiej bedzie wrzucac konfiguracje do bazy danych. Tak jest np. w darmowym oprogramowaniu dla sklepow: Prestashop.
baniczek
ja mam w projektach zrobione tak:
mam tabele settings z polami name i value i mam napisany filtr, ktory jest oczywiscie wlaczony, ktory pobiera wszystkie dane z tej tabeli i robi w petli define($setting->getName(), $setting->getValue);
Crozin
Kilka dni temu robiłem coś takiego. Masz dwa rozwiązania, które sam wskazałeś:
1) Pliki YAML, które się łatwo generuje (w końcu Symfony umożliwia nie tylko ich odczyt, ale i zapis). Ma to jednak jeden minus - tracisz całe formatowanie takiego pliku.
2) Baza danych - przy czym ja to zrobiłem tak, że nadpisałem sobie domyślny parser dla plików /apps/.../modules/.../config/module.yml tak by dodatkowo pobierał konf. z bazy danych, dzięki temu w prosty sposób uzyskuje się dostęp do konf. z bazy danych.
masterix
Szczerze mówiąc to define jakoś mi nie leży smile.gif
A jakby tak w filtrze dodawać do kontrolera tablicę asocjacyjną z takimi wartościami pobranymi z bazy? Wydaje mi się to ładniejsze niż define, ale jeśli ma to jakieś zasadnicze wady to chętnie się o tym dowiem.

pzdr.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.