|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Bonjour,
Je viens de tomber sur un petit problème. J'ai une classe AbstractService qui me défini un certain nombre de méthodes (du genre "findAll"), et des services (ex : UtilisateurService) qui étendent cette classe. Je voudrai forcer le fait que quand on étendent AbstractService, on implémente le pattern singleton. Pour ca, j'aimerai définir dans ma classe AbstractService un truc du genre : Code :
abstract static function getInstance(); En enlevant le Abstract, ca fonctionne, mais du coup, les classes filles ne sont plus obligées de redéfinir la méthode. Ca marche, mais c'est moins propre. Merci d'avance ;-)
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
un méthode abstact c'est pour pour partager la méthode au niveau de l’héritage, si ta méthode est vide ca n'a pas trop de sens c'est plus du ressort de l'interface,
Ensuite pour c'est pas possible de faire ca ? parce que c'est pas logique, une méthode statique appartient à la classe où elle est définis Donc sois utilise interface, sois si vraiment c'est partagé (mais la visiblement c'est pas le cas) enlève le abstract et utilise static:: ou get_called_class pour avoir la classe enfant
__________________
http://blog.stealth35.com/ |
|
|
10
|
|
|
#3 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Hummm, oui je vois.
Effectivement, je me suis fait une interface OSingleton qui défini "getInstance". Ma classe abstraite implements OSingleton et du coup, toutes les filles doivent le redéfinir. La fonction get_called_class est également assez interessante, je ne la connaissait pas, mais je m'en souviendrai. Merci beaucoup ;-)
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
|
00
|
Copyright © 2000-2012 - www.developpez.com