Bonnes pratiques PHP : utilisez un autoloader de classes !

Magazine
Marque
GNU/Linux Magazine
Numéro
160
Mois de parution
mai 2013
Domaines


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.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Gestion de système de fichiers

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

À l’origine, Python était un langage spécifiquement écrit pour répondre à des problématiques système, dont la gestion du système de fichiers est une part importante. Depuis, il n’a eu de cesse de s’améliorer, y compris dans les toutes dernières versions.

Comment arrêter un ordinateur sans crise de nerfs ?

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines
Résumé

Quoi de plus normal qu'un enfant qui joue ? Le problème n'est pas pendant qu'il joue, c'est plutôt au moment de l'arrêt : que l'on ait accordé 1 h ou 2 h, cela se termine toujours par des cris « J'ai à peine fait 2 parties ! Ça fait même pas 10 mn que je joue ! ». La solution : ne plus intervenir directement !

Les 10 modules à connaître !

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Il est certains modules dont on ne peut se passer une fois qu’on les a découverts, des modules qui changent à jamais notre façon de coder, des modules dont on ne revient pas...

Zéro SQLi malgré les développeurs

Magazine
Marque
MISC
Numéro
111
Mois de parution
septembre 2020
Domaines
Résumé

Nous proposons une méthode pour effectuer des requêtes SQL qui garantit l'invulnérabilité aux injections SQL, y compris lorsqu'elle est utilisée par un développeur pressé ou incompétent, contrairement aux requêtes paramétrées. Basée sur l'utilisation d'arbres de syntaxe abstraite, elle permet facilement de construire des requêtes dynamiques et est plus facile à mettre en œuvre qu'un ORM. Nous proposons une bibliothèque Java implémentant nos idées, mais la méthode peut s'appliquer à d'autres langages de programmation et d'autres types de requêtes.

Les environnements virtuels : pourquoi et comment les utiliser

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Si vous êtes un Pythoniste débutant, vous en avez probablement entendu parler et si vous êtes confirmés, ils sont forcément tout le temps dans votre boite à outils.Aujourd’hui, ils sont faciles à utiliser, intégrés aux IDE et permettent une économie de temps considérable dans la gestion et la maîtrise de l’environnement de nos applications.