Manuel PHP
Précédent | Chapitre 19. Les classes et les objets (PHP 5) | Suivant

# Auto-chargement de classes

De nombreux développeurs qui créent des applications orientées objet, créent un fichier source par définition de classe. L'inconvénient majeur de cette méthode est d'avoir à écrire une longue liste d'inclusions de fichier classes au début de chaque script : une inclusion par classe.

En PHP 5, ce n'est plus nécessaire. Vous pouvez définir la fonction __autoload() qui va automatiquement être appelée si une classe n'est pas encore définie au moment de son utilisation. Grâce à elle, vous avez une dernière chance pour inclure une définition de classe, avant que PHP ne déclare une erreur.

> Note : Les exceptions lancées depuis la fonction __autoload() ne peuvent être interceptées par un bloc catch : elles provoqueront une erreur fatale.

Exemple 19-7. Exemple avec __autoload()

Cet exemple tente de charger les classes MaClasse1 et MaClasse2, dans les fichiers `MaClasse1.php` et `MaClasse2.php` respectivement.

`<?php function __autoload($class_name) { require_once $class_name . '.php'; } $obj = new MaClasse1(); $obj2 = new MaClasse2(); ?>`

Précédent | Sommaire | Suivant
Syntaxe de base | Niveau supérieur | Constructeurs et destructeurs