Kernvraag: is het mogelijk om een class alleen te extenden als voldaan is aan bepaalde voorwaarde?
Mijn CMS bestaat uit modules. Iedere module is een class die een basale class "extend":
Nu is het zo dat Module_Common een hele grote class is. Dat maakt het enerzijds moeilijk om hem te onderhouden, anderzijds zorgt hij vermoedelijk voor flink wat overhead. De functies in Module_Common kunnen grofweg worden ingedeeld in:
Wat ik zou kunnen doen is twee versies van Module_CMS maken, waarbij de ene versie de gevulde class is en de andere versie een lege class met alleen de class-naam. De ene versie laad ik dan wanneer de CMS-omgeving actief is en de andere wanneer de website actief is.
Ik zou het alleen een mooiere oplossing vinden (en het scheelt weer een include) als ik de "extension" kan laten afhangen van een bepaalde voorwaarde.
Of heb ik hier wellicht sowieso een hele kromme benadering van de werkelijkheid?
Mijn CMS bestaat uit modules. Iedere module is een class die een basale class "extend":
PHP:
1
2
| Class Module extends Module_Common { } |
Nu is het zo dat Module_Common een hele grote class is. Dat maakt het enerzijds moeilijk om hem te onderhouden, anderzijds zorgt hij vermoedelijk voor flink wat overhead. De functies in Module_Common kunnen grofweg worden ingedeeld in:
- algemene (database) functies die altijd nodig zijn (zowel in de CMS omgeving als in de website zelf)
- functies die alleen nodig zijn in de CMS-backend
Wat ik zou kunnen doen is twee versies van Module_CMS maken, waarbij de ene versie de gevulde class is en de andere versie een lege class met alleen de class-naam. De ene versie laad ik dan wanneer de CMS-omgeving actief is en de andere wanneer de website actief is.
Ik zou het alleen een mooiere oplossing vinden (en het scheelt weer een include) als ik de "extension" kan laten afhangen van een bepaalde voorwaarde.
Of heb ik hier wellicht sowieso een hele kromme benadering van de werkelijkheid?