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.
- Database gegevens kan je niet opslaan in een database; je hebt een tweede methode nodig.
- Wijzigingen aanbrengen is niet gebruiksvriendelijk.