Tijdens het programmeren kom ik steeds vaker complexe situaties tegen. Die situaties wil ik dan graag door middel van een extern configuratiebestand kunnen laten instellen zodat het voor mijn klant doodsimpel blijft om zijn product te configureren, echter niet op basis van mysql. (altijd lastig de mysql configuratie binnen mysql te plaatsen).
Nu is voor een mysqlcommunicatie laag bijvoorbeeld singleton gebruikelijk. Maar voor de configuratie zijn er talloze mogelijkheden, en ik heb er al talloze ook gebruikt. Even een opsomming:
- plaintext configuratie (in php comments zodat het niet via de http uit te lezen is)
- defines
- globals
- configuration object
- php function die een configuratie uitleest
- 1 vast include bestand
Echter heeft iedere handige methode een nadeel. Defines kunnen bijvoorbeeld geen arrays aan, globals zijn enorm veel typwerk en gehannes, en als ik een php function gebruik dan moet overal alvorens de config gelezen wordt ook de locatie van het configbestand bekend zijn (dus geconfigureerd in iedere index). Een configuratie object is het meest wendbaar, maar een instantie daarvan is bijvoorbeeld in een andere klasse weer niet gedefinieerd als hij in de index.php aangemaakt wordt, en andersom. Dan kom je al snel op singleton uit, maar dan is mij onduidelijk of je nog wel de wendbaarheid hebt van de voordelen van het object? Wat is de ideale oplossing voor de op zet van een configuratiebestand/object/iets?

Likes:


).
Quote