Abstract protected constructor
Ik wil dat als je de abstracte class extend; dat de constructor alleen protected mag zijn en niet public of private. Om wat duidelijker te zijn geef ik even een voorbeeldje:
Kortom: Hoe zorg ik ervoor dat de constructor alleen protected kan zijn?
PS : Het is voor een Singleton class.
Take care,
Pherion
Ik wil dat als je de abstracte class extend; dat de constructor alleen protected mag zijn en niet public of private. Om wat duidelijker te zijn geef ik even een voorbeeldje:
PHP:
Het voorbeeld geeft geen error. Maar als je de constructor van 'Raspberry' private maakt dan krijg ik de output:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <?php // PHP 5 abstract class Pattern { abstract protected function __construct(); } class Raspberry extends Pattern { /* * De constructor is public terwijl in * de abstracte class `Pattern` staat * dat het een protected methode moet * zijn. */ public function __construct() { echo "Trapt inside this Octavarium!"; } } ?> |
Dit is goed want ik wil niet dat de constructor private toegankelijk is maar ik wil ook niet dat hij public (weaker) toegankelijk is.Fatal error: Access level to Raspberry::__construct() must be protected (as in class Pattern) or weaker
Kortom: Hoe zorg ik ervoor dat de constructor alleen protected kan zijn?
PS : Het is voor een Singleton class.
Take care,
Pherion