<?php class AutoLoader { public function __construct() { spl_autoload_register(array($this, 'load')); // spl_autoload_register(array($this, 'loadComplete')); } // This method will be automatically executed by PHP whenever it encounters an unknown class name in the source code private function load($className) { if (in_array($className.'.class.php', scandir("model"))) { require_once "model/$className.class.php"; if (is_readable("sql/$className.sql.php")) { require_once "sql/$className.sql.php"; } } if (in_array($className.'.class.php', scandir("classes"))) { require_once "classes/$className.class.php"; } if (in_array($className.'.class.php', scandir("controller"))) { require_once "controller/$className.class.php"; } // TODO : compute path of the file to load (cf. PHP function is_readable) // it is in one of these subdirectory '/classes/', '/model/', '/controller/' // if it is a model, load its sql queries file too in sql/ directory } } $__LOADER = new AutoLoader();