Autoload classes from different folders

前端 未结 12 968
不知归路
不知归路 2020-11-28 19:35

This is how I autoload all the classes in my controllers folder,

# auto load controller classes
    function __autoload($class_name) 
    {
             


        
12条回答
  •  挽巷
    挽巷 (楼主)
    2020-11-28 20:06

    Here's what I'd do:

    function __autoload($class_name) {
        $class_name = strtolower($class_name);
        $filename = 'class_'.$class_name.'.php';
    
        if (substr($class_name, 0, 5) === 'model') {
            $file = AP_SITE.'models/'.$filename;
        } else $file = AP_SITE.'controllers/'.$filename;
    
        if (!is_file($file)) return false;
        include $file;
    }
    

    As long you name your files consistently, like class_controller_*.php and class_model_*.php, this should work fine.

提交回复
热议问题