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.
David van der Tuijn
"Mijn naam is David van der Tuijn, als senior php developer bij Floro Webdevelopment B.V. werk ik samen met een projectleider, back-end developers, front-end developers en designers, op basis van een functioneel- (FO) en technisch ontwerp (TO), bouw ik webapplicaties die voldoen aan de nieuwste ontwikkelingen op internet gebied. Ik werk zelfstandig, weet hoe een architectuur opgezet moet worden en kan deze uitdragen in een multidisciplinair team. binnen een project adviseer ik over de juiste methoden en technieken. Ik ontwikkel en bewaak de kwaliteit van de development werkzaamheden in projecten en kan projecten binnen een afgegeven planning afronden."