Ik ben bezig met een modulair opgeboud CMS.
Hierin include ik verschillende bestanden (modules)
Om modules makkelijk uitbreidbaar te maken heeft iedere module een eigen directory (a la PHP-Nuke)
Via bepaalde vars in de URL wordt het juiste bestand ge-include
Iedere module heeft 2 standaard functies.
mcpannel(); en main(); Deze staan in /$module/index.php
Dit zijn functies die altijd wordt uit gevoerd door de zgn. `moduleLoader`
Als de var $file wordt mee gegeven wordt een extra bestand, met extra functies, ge-include.
Via de var $op moeten deze functies worden uitgevoerd.
Dus als ik http://someDomain.tld/mod...=SomeFile&op=SomeFunction aanroep, moet de functie ` SomeFunction` uit het bestand ` SomeFile` worden uitgevoerd.
bv.
De funtie naam staat dus in de var $op die met de URL wordt mee gegeven.
Dus eigenlijk wil ik iets als
Omdat deze functies allen constructors zijn (genereren alleen output) vragen ze geen extra argumenten.
Bovenstaande werkt natuurlijk niet, ik wil weten hoe ik dit het beste kan aanpakken.
Hierin include ik verschillende bestanden (modules)
Om modules makkelijk uitbreidbaar te maken heeft iedere module een eigen directory (a la PHP-Nuke)
Via bepaalde vars in de URL wordt het juiste bestand ge-include
Iedere module heeft 2 standaard functies.
mcpannel(); en main(); Deze staan in /$module/index.php
Dit zijn functies die altijd wordt uit gevoerd door de zgn. `moduleLoader`
Als de var $file wordt mee gegeven wordt een extra bestand, met extra functies, ge-include.
Via de var $op moeten deze functies worden uitgevoerd.
Dus als ik http://someDomain.tld/mod...=SomeFile&op=SomeFunction aanroep, moet de functie ` SomeFunction` uit het bestand ` SomeFile` worden uitgevoerd.
bv.
PHP:
1
2
3
4
5
6
7
8
9
10
11
| include("modules/".$module"/index.php"); mcpannel(); main(); if(!empty($_GET['file'])) { include("modules/".$module"/".$file.".php"); // Nu worden extra functies beschikbaar if(function_exist($op)) // functie uitvoeren } |
De funtie naam staat dus in de var $op die met de URL wordt mee gegeven.
Dus eigenlijk wil ik iets als
PHP:
1
2
| // Psuedo functie function_execute($_GET['op']); |
Omdat deze functies allen constructors zijn (genereren alleen output) vragen ze geen extra argumenten.
Bovenstaande werkt natuurlijk niet, ik wil weten hoe ik dit het beste kan aanpakken.