Ga naar inhoud

Blog

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 :

<files *.ini> order allow,deny deny from all </files>

Een andere mogelijkheid is een .xml bestand :

<?xml version="1.0" encoding="utf-8"?> <application> <database> <server>localhost</server> <username>username</username> <password>password</password> </database>

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.
Zoeken
Een moment geduld a.u.b....