PHP fonction simple d’autoload de classes

Ceci est ma fonction simple d’autoload de class pour wordpress.

Au passage, cette version est une fonction anonyme. Ce procédé est possible uniquement à partir de la version 5.3 de php.

On par du postulat que j’utiilise un fichier par classe, que ceux-ci sont stockés dans un dossier dédié, « classes », et se nomment tous « class.<nom de la class>.php ».

/**
 * Autoload classes
 */
spl_autoload_register(function($class){ 
    $classFile = dirname(__FILE__) . '/classes/class.' .$class . '.php';
    try {
        // on vérifie si le fichier de la classe appelée existe
        if (file_exists($classFile))
            include 'classes/class.' . $class . '.php';
    } 
    catch (Exception $e) {
        echo 'Classes non chargées : ' . $e->getMessage();
    }
});

$maClass = new MaClass;
$maClass2 = new MaClass2;
$maClass3 = new MaClass3;

On peut ainsi instancier autant d’objet que l’on souhaite pour chaque classe référencée dans le dossier classes/ (si on utilise comme il se doit un fichier par classe).

Si vous pensez que cette classe peut êtrre optimisée, n’hésitez pas à poster un commentaire !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s