Ik heb een webapplicatie opgedeeld in modules. Gezien deze modules bepaalde functionaliteit gemeen hebben, heb ik er voor gekozen een abstract class te maken met een constructor met daarin de gemeenschappelijke code.
Nu wil ik echter in de individuele modules ook wat code standaard uitvoeren, zonder hiervoor een extra methode aan te hoeven roepen.
Ik kwam op de volgende 2 oplossingen terecht:
Oplossing 1:
Oplossing 2:
Nu vraag ik mij af wat nou de netste methode is om dit probleem op te lossen? Of is er zelfs nog een nettere methode?
Nu wil ik echter in de individuele modules ook wat code standaard uitvoeren, zonder hiervoor een extra methode aan te hoeven roepen.
Ik kwam op de volgende 2 oplossingen terecht:
Oplossing 1:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| abstract class Module { function __construct() { // gemeenschappelijke code $this->execute(); } } class TestModule extends Module { function execute() { // individuele code } } |
Oplossing 2:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| abstract class Module { function __construct() { // gemeenschappelijke code } } class TestModule extends Module { function __construct() { parent::__construct(); // individuele code } } |
Nu vraag ik mij af wat nou de netste methode is om dit probleem op te lossen? Of is er zelfs nog een nettere methode?