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