Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] plik configuracyjny
Forum PHP.pl > Forum > PHP
wiiir
Zaczelem pisac nowy "system" i chce troszke inaczej zrobic plik konfiguracyjny, mianowicie plik z clasa. wiec mamy clase Konfiguracjai wszystkie zmienne to ustawienia (bez zadnych metod). Tylko pytanie moje jest stakie: jak zmieniac wartosc ustawienia w pliku po zapisie. Czy trzeba czyscic zawartosc pliku i robic klase ze zmiennymi?
everth
W zasadzie na szybko mógłbyś to zrobić serializując obiekt Konfiguracja i zapisując go gdzieś np.
  1. class Configuration {
  2. protected $_path; //zmienna przechowująca ścieżkę
  3.  
  4. function __construct($path) { //$path jest ścieżką do pliku konfiguracji
  5. $path = realpath($path);
  6. $this->_path= $path;
  7. if (file_exists($path)) {
  8. }
  9. }
  10.  
  11. function __destruct() { //przy niszczeniu obiektu jego zawartość jest zapisywana do pliku
  12. file_put_contents($this->_path,serialize($this));
  13. }
  14. }
Pilsener
Po co wynajdować koło na nowo? Do trzymania cfg używamy plików ini lub xml, php daje do tego funkcje byśmy nie musieli pisać własnych. A cfg bym wrzucał do jakiegoś głównego kontrolera, gdzie mam dostęp do wszystkich zmiennych. A bezpieczeństwo konfiguracji i łatwość edycji zapewni np. baza mysql, gdzie trzymamy aktualną konfigurację i na tej podstawie co jakiś czas generujemy używany przez aplikację plik cfg.ini.
everth
Wszystko ma swoje wady i zalety - on chce to zrobić na minimalistycznej klasie i jej właściwościach - czemu nie? Poza tym ten argument z wynajdywaniem koła na nowo w przypadku PHP brzmi co najmniej dwuznacznie ;D
wiiir
Cytat(Pilsener @ 29.08.2010, 20:02:04 ) *
Po co wynajdować koło na nowo? Do trzymania cfg używamy plików ini lub xml, php daje do tego funkcje byśmy nie musieli pisać własnych. A cfg bym wrzucał do jakiegoś głównego kontrolera, gdzie mam dostęp do wszystkich zmiennych. A bezpieczeństwo konfiguracji i łatwość edycji zapewni np. baza mysql, gdzie trzymamy aktualną konfigurację i na tej podstawie co jakiś czas generujemy używany przez aplikację plik cfg.ini.


Nie chce tworzyc kola tylko zapis clasy do pliku smile.gif



Najlepiej bedzie jak sobie zrobie clase obiektToString i write do pliku smile.gif, chyba ze ktos zna lepszy sposob smile.gif
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.