PHP 4 & 5

php4 et l’héritage

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.

Avatar de Guillaume Kulakowski

À propos de l’auteur

Commentaires

3 réponses à « php4 et l’héritage »

  1. Avatar de yossra
    yossra

    pourrais je utiliser UML pour la modelisation et la conception d’une application web ecrite en php4, perl et CGI?

  2. Avatar de LLaumgui
    LLaumgui

    Oui, avec UML tu peux presque tout modéliser 🙂

  3. Avatar de bersace
    bersace

    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.

Derniers articles sur le journal

  • SeedboxSync v4.1 : Authentification OIDC, Gravatar et refonte de l’administration
    Découvrez les nouveautés de SeedboxSync v4.1 : intégration d’un système d’authentification natif et OIDC (SSO), support de Gravatar, gestion des utilisateurs en CLI, formulaires Flask-WTForm et transition vers Peewee-Migrate.
  • De Jellystat à Jellydash : moderniser le suivi de mon serveur Jellyfin
    Pourquoi et comment j’ai remplacé Jellystat par Jellydash pour le suivi des statistiques de mon serveur Jellyfin. Retour d’expérience sur la découverte de cet outil moderne, léger et prometteur repéré dans la newsletter selfh.st.
  • SeedboxSync 4.0 : Fusion de l’IHM et du CLI
    La v4.0.0 de SeedboxSync marque un tournant majeur : fusion du CLI et du frontend en une seule application, migration de la configuration en base de données, planificateur Python natif et passage à SQLite WAL. Tour d’horizon des nouveautés et des changements d’architecture.
  • Modernisation du tooling dev sur SeedboxSync : Just, pnpm, uv & Ruff
    SeedboxSync fait peau neuve côté tooling ! Retour sur la modernisation de mon environnement de dev : abandon du bon vieux Makefile au profit de Just, transition vers pnpm pour un gain de temps spectaculaire côté frontend, et adoption de uv et Ruff pour booster l’écosystème Python. Moins de friction, plus de vitesse : découvrez le détail de cette mise à jour.

Articles à la une