Het Configuratie Bestand

Een website heeft vaak configuratie variabelen die ergens opgeslagen moeten worden.

Maar wat is nu de juiste manier om dit te doen ?

De meest gebruikte manier is een .php bestand.

config.php :

$config = array
(
  'database' = array(
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => 'root'
  )
);

Voordelen

  • Met php kan een configuratie variabele dynamisch worden gewijzigd (e.g. om de website in een testomgeving te zetten);

Nadelen

  • Wijzigingen aanbrengen is niet gebruiksvriendelijk.

Een andere mogelijkheid is een .ini bestand (php.ini is daar een goed voorbeeld van).

config.ini :

[database]
server = localhost
username = root
password = root

Met de php functie parse_ini_file wordt de inhoud geparst naar php variabele(n) :

parse_ini_file($filename);

$config = parse_ini_file("config.ini", 1);

$server = $config['database']['server'];

Voordelen

  • Wijzigingen aanbrengen is gebruiksvriendelijk. (het is begrijpbaar aanpassen, zonder syntax e.d.)

Nadelen

  • Het is een plain tekst bestand, leesbaar en dus niet veilig *.

* = Het is aanbevolen het .ini bestand buiten de document root te plaatsen, of .ini bestanden te beveiligen met een .htaccess :


    order allow,deny
    deny from all


Een andere mogelijkheid is een .xml bestand :




localhost
username
password

Met de php functie simplexml_load_file wordt de inhoud geparst naar php variabele(n) :

$xml = simplexml_load_file('config.xml');

$server = $xml->database->server;

Voordelen

  • In php is het eenvoudig om object georiĆ«nteerd de variabelen te raadplegen. (e.g. $xml->database->server)

Nadelen

  • Wijzigingen aanbrengen is niet gebruiksvriendelijk.

De laatste mogelijkheid is het opslaan in een database.

Voordelen

  • De configuratie variabelen zijn toegankelijker voor een content management systeem.

Nadelen

  • Database gegevens kan je niet opslaan in een database; je hebt een tweede methode nodig.
  • Wijzigingen aanbrengen is niet gebruiksvriendelijk.