Moderator |
|
Ik loop op dit moment tegen iets aan, waarbij ik even wil vragen of jullie mee willen denken.
Ik ben bezig om een framework in elkaar te zetten. Ik heb allerlei ideeën verzameld en hij is nu in ontwikkeling.
Maar er zit één functionaliteit die wat hoofdpijn oplevert. Dat zijn plugins.
Ik heb in de controller bijvoorbeeld (is een voorbeeld, dus niet echt) een mail method. Die wordt in het hele framework gebruikt. Stel dat ik nu in een plugin deze method wil overschrijven, zodat de nieuwe method (plugin-method) wordt gebruikt in de hele website, hoe zouden jullie dat doen.
Dus:
// dit is de controller
class Controller {
public function mail() {
// code
}
}
// dit is de plugin-overwrite
class Plugin_test {
public function mail() {
// code
}
}
// dit is de controller class Controller { // code } } // dit is de plugin-overwrite class Plugin_test { // code } }
Wat ik tot nu toe heb gedaan/bedacht/afgekeurd:
1. Een functie loadMethod($class,$method,$args) gemaakt die dit regelt. Maar dit vind ik niet mooi en handig. Je moet dan elke keer loadMethod gebruiken als je een method wil aanroepen van een core-class.
2. In de mail-method in controller de controle doen. En dan eventueel de plugin-code inladen in de method. Dit zorgt ervoor dat ik werk extra moet doen en grotere classes kan krijgen, en het is niet echt netjes.
Dus hebben mensen nog ideeën?
|