Autoload

Utilité

Inclut automatiquement toutes les classes du répertoire classes/ lors de leur premier appel.

Utilisation

  • En début de page PHP (config.php optionnel : pour la configuration globale des autres classes)
require('config.php');
require('classes/_Autoload_.php');

Code

_Autoload_.php
// Updated: 2018-02-24
 
class Autoload
{
    public static $_includePaths = array('classes/');
 
    public static function loadClass($className)
    {
        // include class file relying on include_path
        if(strpos($className, '\\')===false)  // class without namespace
        {
            foreach(self::$_includePaths as $path)
            {
                $classFile = $path.'/'.$className.'.php';
                if(is_file($classFile))
                {
                    include($classFile);
                    break;
                }
            }
        }
        else  // class name with namespace in PHP 5.3
        {
            return false;
        }
        return class_exists($className, false) || interface_exists($className, false);
    }
 
}
 
spl_autoload_register(array('Autoload', 'loadClass'));