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.
De yossra le 24 mai 2006
pourrais je utiliser UML pour la modelisation et la conception d'une application web ecrite en php4, perl et CGI?