Jak korzystać z plików konfiguracyjnych w stylu php.ini?

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania

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.

  1. Sekcje. Zapisywane w nawiasach kwadratowych, umożliwiają grupowanie podobnych danych.
  2. Parametry. Zapisywane jako para klucz = wartość.
  3. 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