Ik ben bezig met een module systeem voor een project. Vroeger (in de wat oudere functies) gebruikte ik het volgende systeem.
Dat icm de volgende directory structuur
Hierdoor is de modulenaam eigenlijk gelijk aan de directorynaam (behalve dat er module_ voor staat). Nou wil ik echter een andere manier bedenken om "ongeveer" het zelfde te kunnen doen.
Een module maakt, adhv verschillende opdrachten, een array:
Nou wil ik een nettere manier hebben dan per module een functie te maken, die ik dan weer aanroep met veel vieze code. Dus ik zat te denken om iets simpels op te zetten met classes. Enkel kan ik geen "nette" manier bedenken hoe ik dit in een module kan verwerken "zonder" dat de gebruiker (het persoon dat de module maakt) rekening moet houden met functienamen (wat in het oude systeem wel het geval was). Dus ik probeer iets op te zetten wat dus altijd goed werkt. Ik heb alleen geen idee hoe ik dat moet aanpakken.
Ik kan iets doen als:
Dat werkt natuurlijk niet, dus ik zat meer te denken om een functie te gaan extenden binnen een class. Maarja wat zijn de voordelen en wat zijn de nadelen. Hoe kan ik dit het beste aanpakken?
Ik zou de modules zo kunnen opbouwen dat hij het zonder functies/classes doet, maarja mischien zitten daar ook weer nadelen aan. Ik heb in ieder geval geen idee hoe ik dit het "beste" kan aanpakken.
Het doel is (simpel gezecht): Ik heb 1 bestand, zodra ik dat include dan moet hij (op een of andere manier) iets toevoegen aan een array (ongeacht de oproep methode). Wat kan ik het beste doen?
PHP:
1
| function module_eenofanderemodulename() { .. } |
Dat icm de volgende directory structuur
code:
1
2
3
| /modules /modules/modulename/index.php /modules/blaat/index.php |
Hierdoor is de modulenaam eigenlijk gelijk aan de directorynaam (behalve dat er module_ voor staat). Nou wil ik echter een andere manier bedenken om "ongeveer" het zelfde te kunnen doen.
Een module maakt, adhv verschillende opdrachten, een array:
code:
1
2
3
| $module['return_data'] = array(); $module['return_data']['naampje'] = 'waardetje'; $module['return_data']['muhaha'] = '100000'; |
Nou wil ik een nettere manier hebben dan per module een functie te maken, die ik dan weer aanroep met veel vieze code. Dus ik zat te denken om iets simpels op te zetten met classes. Enkel kan ik geen "nette" manier bedenken hoe ik dit in een module kan verwerken "zonder" dat de gebruiker (het persoon dat de module maakt) rekening moet houden met functienamen (wat in het oude systeem wel het geval was). Dus ik probeer iets op te zetten wat dus altijd goed werkt. Ik heb alleen geen idee hoe ik dat moet aanpakken.
Ik kan iets doen als:
PHP:
1
2
3
4
5
| $func = array(); $func[] = "function a() { echo 'blaat'; }"; $func[] = "function a() { echo '1234'; }"; eval($func[0]); eval($func[1]); |
Dat werkt natuurlijk niet, dus ik zat meer te denken om een functie te gaan extenden binnen een class. Maarja wat zijn de voordelen en wat zijn de nadelen. Hoe kan ik dit het beste aanpakken?
Ik zou de modules zo kunnen opbouwen dat hij het zonder functies/classes doet, maarja mischien zitten daar ook weer nadelen aan. Ik heb in ieder geval geen idee hoe ik dit het "beste" kan aanpakken.
Het doel is (simpel gezecht): Ik heb 1 bestand, zodra ik dat include dan moet hij (op een of andere manier) iets toevoegen aan een array (ongeacht de oproep methode). Wat kan ik het beste doen?