Bonnes pratiques PHP : utilisez un autoloader de classes !

Magazine
Marque
GNU/Linux Magazine
Numéro
160
Mois de parution
mai 2013
Spécialité(s)


Résumé
Une bonne pratique bien connue de la programmation objet est d'utiliser un fichier pour chaque nouvelle classe. Cela dit, ceci fait, vous risquez de vous retrouver rapidement avec un grand nombre de fichiers à gérer. Les charger tous au commencement de votre script PHP, alors que vous n'aurez peut-être pas besoin du quart, est naturellement contre-performant. Vous pouvez vous amuser à charger les fichiers au fur et à mesure de vos besoins, mais à l'usage, cela sera vite lourd. PHP 5 vous propose une solution bien plus élégante : l'autoloader !

L'autoloader simple existe depuis PHP 5, mais il s'est révélé insuffisant pour répondre aux besoins de développeurs ; aussi, une méthode plus élaborée a été mise en place avec PHP 5.1.2. L'autoloader simple, qui est plus facile à maîtriser, mais son utilisation n'est plus recommandée, et il se pourrait même qu'il soit déprécié et retiré dans des versions futures de PHP. Nous allons tout de même commencer par l'étudier, car il n'est pas dit que vous ne le rencontriez pas, et il est plus simple à maîtriser. Toutefois, ne l'utilisez plus, apprenez à maîtriser la méthode élaborée examinée dans la deuxième partie, qui offre des possibilités bien plus intéressantes !

1. Autoloader simple

1.1. Principe

L'idée est de permettre à votre application de ne charger que les fichiers de classe dont elle a besoin. Comme PHP n'est pas en mesure de décider par lui-même où chercher ces fichiers, vous devrez déclarer une fonction au commencement de votre script qui…

Cet article est réservé aux abonnés. Il vous reste 91% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous