Jak korzystać z plików konfiguracyjnych w stylu php.ini?
Z PHPEdia.pl
Stosowanie plików ini do przechowywania konfiguracji jest znacznie lepszym rozwiązaniem, niż używanie funkcji define z co najmniej kilku powodów. Najważniejszym z nich jest niezaśmiecanie pamięci stałymi, które i tak nie zostaną użyte. Kolejną zaletą jest to, że można grupować różne dane w sekcje.
Pliki ini w akcji
Do parsowania plików ini służy jedna funkcja. Jest nią parse_ini_file. Funkcja przyjmuje dwa parametry. Pierwszym z nich jest nazwa pliku (wraz ze ścieżką), drugim - true lub false, w zależności, czy chcemy by wynikowa tablica zawierała pod-tablice odzwierciedlające sekcje, czy też nie.
Najlepiej to zilustruje przykład.
Zawartość pliku config.ini
; opis pierwszej sekcji [sekcja1] stala1 = wartosc1 stala2 = wartosc2 ; opis drugiej sekcji [sekcja2] const1 = value1 const2 = value2 stala2 = inna_wartosc
Parsowanie pliku ini sprowadza się do jednego wiersza:
$a = parse_ini_file('config.ini'); print_r($a);
W wyniku uzyskamy następującą tablicę:
Array
(
[stala1] => wartosc1
[stala2] => inna_wartosc
[const1] => value1
[const2] => value2
)Jak widać zawartość pliku config.ini została zapisana w postaci tablicy. Jednak uzyskany efekt nie jest zadowalający, ponieważ w naszej konfiguracji wystąpiła dwa razy stała o nazwie stala2, przez co w tablicy ostatnia wartość stałej nadpisała wszystkie poprzednie. By temu zaradzić należy użyć drugie parametru.
$a = parse_ini_file('config.ini', true); print_r($a);
Co w efekcie spowoduje utworzenie następującej tablicy
Array
(
[sekcja1] => Array
(
[stala1] => wartosc1
[stala2] => wartosc2
)
[sekcja2] => Array
(
[const1] => value1
[const2] => value2
[stala2] => inna_wartosc
)
)Składnia plików ini
Składnia plików ini jest bardzo prosta i sprowadza się do kilku podstawowych elementów.
- Sekcje. Zapisywane w nawiasach kwadratowych, umożliwiają grupowanie podobnych danych.
- Parametry. Zapisywane jako para klucz = wartość.
- Komentarze. Komentarze rozpoczynają się średnikiem. Komentarze nie są wielowierszowe. Jeśli chcemy zapisać jakiś komentarz w kilku wierszach, należy na początku każdego wiersza napisać znak średnika.
Warto zapoznać się z dokumentacją dotyczącą funkcji parse_ini_file, ponieważ co jakiś czas wprowadzane są niewielkie, ale bardzo znaczące zmiany w działaniu tej funkcji.
Jest to element FAQ, czyli zestawienia odpowiedzi na najczęściej zadawane pytania.
Zestawienie: Informacje | Podstawy PHP | Porady praktyczne | Pytania z forum | Bezpieczeństwo
