【25】工具类实现自动载入与类

上一节中我们已经创建了相应的目录,但是我们发现我们创建的类并不能成功的跑起来,这是为什么呢?这主要是因为我们载入的类文件的位置不对造成的,我们之前是根据类名载入的是控制器,所以这里需要进行一下判断:

private static function _autoload($className){
        switch (true) {
        //判断是控制器
        //Controller
            case strlen($className)>10 && substr($className, -10)=='Controller':
                $path = APP_CONTROLLER_PATH.'/'.$className.'.class.php';
                if(!is_file($path)) halt($path.'控制器未找到');
                include $path;
                break;
            
            default:
                $path = TOOL_PATH.'/'.$className.'.class.php';
                if(!is_file($path)) halt($path.'类未找到');
                include $path;
                break;
        }
    }

//这里简单讲解一下,首先根据传入的类的名称来判断当前载入的类型,若类的长度大于10并且最后十位等于‘Controller’,那么就说明当前载入的是控制器类,我们组合控制器的路径即可,当然载入之前要判断一下它是否为文件;如不满足上面的条件,则走默认的(也就是加载自定义类了),这里后期可能还会有其他的类型,之后再加上判断即可。

3.到这里,工具类实现自动载入与类就完成了,试一试:

 $Code=new Code();//实例化类
 $Code->show();//调用类中的show方法

是不是能够正常显示了呢........

原文地址:https://www.cnblogs.com/wangjinhua/p/6120159.html