You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.2 KiB

<?php
class Autoload
{
private static $_instance = null;
public static function charger()
{
if (null !== self::$_instance) {
throw new RuntimeException(sprintf('%s is already started', __CLASS__));
}
self::$_instance = new self();
if (!spl_autoload_register(array(self::$_instance, '_autoload'), false)) {
throw new RuntimeException(sprintf('%s : Could not start the autoload', __CLASS__));
}
}
public static function shutDown()
{
if (null !== self::$_instance) {
if (!spl_autoload_unregister(array(self::$_instance, '_autoload'))) {
throw new RuntimeException('Could not stop the autoload');
}
self::$_instance = null;
}
}
private static function _autoload($class)
{
global $rep;
$filename = $class . '.php';
$dir = array('models/', './', 'usages/', 'controllers/', 'gateways/', 'update/', 'vues/');
foreach ($dir as $d) {
$file = $rep . $d . $filename;
//echo $file;
if (file_exists($file)) {
include $file;
}
}
}
}