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-6. 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(); ?>
|
|