config: hoe organiseren?
Parameters kan ik op verschillende manieren opslaan.
1/ in een config.php bestand met code zoals : $config['debug'] = true;
2/ in een xml bestand met code zoals : <var><key>debug</key><value>1</value></var>
3/ in een database
4/ tekstbestand met lijnen zoals : debug = true
5/ ...
Ik wil deze gegevens via een admin beheren. Wat zou de snelste manier zijn en toch nog praktisch genoeg om dit te realiseren?
Mvg,
Marc
1/ in een config.php bestand met code zoals : $config['debug'] = true;
2/ in een xml bestand met code zoals : <var><key>debug</key><value>1</value></var>
3/ in een database
4/ tekstbestand met lijnen zoals : debug = true
5/ ...
Ik wil deze gegevens via een admin beheren. Wat zou de snelste manier zijn en toch nog praktisch genoeg om dit te realiseren?
Mvg,
Marc
Gesponsorde koppelingen:
Als je ze via een admin wilt beheren; een database. Als ze alleen handmatig aangepast mogen worden; een config.php.
en de snelheid?
Gewoon in bestand is sneller, mits je het 1 keer instelt en nooit aanpast. Wil je het eenvoudig/ snel aan kunnen passen, dan is een db misschien meer wat voor je.
Qua snelheid is in bestand sneller, de variabelen zijn meteen beschikbaar, je bent echter de dynamiek kwijt.
Qua snelheid is in bestand sneller, de variabelen zijn meteen beschikbaar, je bent echter de dynamiek kwijt.
Als je af en toe wat wijzigt zou je het eventueel ook nog in een database kunnen zetten en bij elke wijziging het config bestand overnieuw maken en opslaan. Dan heb je de snelheid van een bestand en de dynamiek van een database.
Een database is handig, als je het goed aanpakt qua inladen. Sowieso dus niet voor elke aanroep van een config value een database request.
Een XML is via PHP goed aan te passen, en met de hand ook. Maar voor beginners al wat lastiger.
Een .ini file is ook met PHP goed te gebruiken (parse-ini-file), en heel makkelijk met de hand aan te passen.
Bij config in bestanden zie ik het aanpassen via een admin altijd als extraatje. Als het echt om de admin gaat, is de database oplossing denk ik wel het handigste. Nadeel daarvan vind ik altijd, is dat database gegevens toch nog altijd in een bestand moeten komen. En je dus op 2 plekken configuratie data hebt.
Een XML is via PHP goed aan te passen, en met de hand ook. Maar voor beginners al wat lastiger.
Een .ini file is ook met PHP goed te gebruiken (parse-ini-file), en heel makkelijk met de hand aan te passen.
Bij config in bestanden zie ik het aanpassen via een admin altijd als extraatje. Als het echt om de admin gaat, is de database oplossing denk ik wel het handigste. Nadeel daarvan vind ik altijd, is dat database gegevens toch nog altijd in een bestand moeten komen. En je dus op 2 plekken configuratie data hebt.
Met behulp van XML en PHP hoeft het niet percee moeilijk te zijn. Je maakt een XML bestand met je configuratiedata en je kan het bestand dan vervolgens op de volgende manier uitlezen of editen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
//Laadt het xml bestand in een simplexml object.
$xml = simplexml_load_file("bestand.xml");
//Zo toon je data uit het xml bestand:
echo $xml->rootTag[0]->nogEenTag->jouwParameterTag;
//Zo pas je data in het xml bestand aan:
$xml->rootTag[0]->nogEenTag->jouwParameterTag = "mijnString";
?>
//Laadt het xml bestand in een simplexml object.
$xml = simplexml_load_file("bestand.xml");
//Zo toon je data uit het xml bestand:
echo $xml->rootTag[0]->nogEenTag->jouwParameterTag;
//Zo pas je data in het xml bestand aan:
$xml->rootTag[0]->nogEenTag->jouwParameterTag = "mijnString";
?>
Gewijzigd op 01/01/1970 01:00:00 door graviton
De admin hoeft niet supersnel te zijn. Ik denk door met twee bestandjes te werken en niet met een database ik het best af ben. Het eerste bestandje bevat dan alle parameters. De admin doet dan de nodige testjes zodat die parameters correct zijn. Normaal dient dit niet dikwijls te gebeuren en eens alles juist staat blijf je daar af. Het tweede bestandje bevat alleen de modus van de applicatie. Dit is iets dat wel dikwijls zou kunnen veranderen. Door dat bestand te kunnen benaderen via een webbrouwser vereenvoudig ik dit merkelijk.
Het bestand zou in één keer ingelezen worden. Wat zou dan het snelst werken: een xml bestand lezen en parsen; een txt bestand lezen en parsen; of een php bestand includen? Ik vermoed includen maar ik weet het niet zeker.
Het bestand zou in één keer ingelezen worden. Wat zou dan het snelst werken: een xml bestand lezen en parsen; een txt bestand lezen en parsen; of een php bestand includen? Ik vermoed includen maar ik weet het niet zeker.
Gewijzigd op 01/01/1970 01:00:00 door Marc Cools
In theorie het txt bestand, omdat XML waarschijnlijk meer tekens zou bevatten, maar denk niet dat de snelheid in dit gevalt opweegt tegen het gemak van XML.
@graviton: Ik bedoelde ook meer het met de hand bewerken, wist niet of een programmeur het bestand zou moeten bewerken of een klant die nog net een aanknopje van zijn computer kan vinden :)
@graviton: Ik bedoelde ook meer het met de hand bewerken, wist niet of een programmeur het bestand zou moeten bewerken of een klant die nog net een aanknopje van zijn computer kan vinden :)



