Jusqu’à présent, ma connaissance et mes compétences face à l’héritage était due à la programmation Java, et son application au php n’était que pure théorie (rappelez-vous)… Or, je viens de sauter le pas sous php4 (Version utilisée à mon stage).
Tout d’abord, même si le modèle objet de php4 (Différents de celui de php5) a ses limites, il n’en demeure pas moi « assez » puissant, facile à mettre en oeuvre et proche de celui du Java.
Cependant, on pourra déplorer certaines limitations :
- Pas d’héritage multiple : Tout comme Java, mais est ce bien nécessaire ?
- Pas de surcharge : Plus gênant, php choisis de rendre des paramètres d’une fonction facultatifs en leur donnant une valeur initial par défaut. Ainsi en lieu et place de :
function toto () {}
function toto ( paramètre ) {}On aura :
function toto ( paramètre = null ) {}Bien sur, la redéfinition, essence même de l’héritage est possible.
- L’appel des fonctions de la sur-classe : php n’adopte pas l’appel super.fonction() comme Java mais une syntaxe moins simple :
super_classe::fonction()Je vous tiendrais bien sûr au courant de l’avancé de ma découverte en tenant à jour ce billet ou en le déclinant en Part II. Rappelons pour finir que nous parlons ici de php 4.





Commentaires
3 réponses à “php4 et l’héritage”
pourrais je utiliser UML pour la modelisation et la conception d’une application web ecrite en php4, perl et CGI?
Oui, avec UML tu peux presque tout modéliser 🙂
En PHP, on peut utiliser parent::fonctionDefinieDanslaClasseParente() au lieu de définir explicitement le nom de la classe parente, tout comme super. de Java.
Étienne.