上一节中我们已经创建了相应的目录,但是我们发现我们创建的类并不能成功的跑起来,这是为什么呢?这主要是因为我们载入的类文件的位置不对造成的,我们之前是根据类名载入的是控制器,所以这里需要进行一下判断:
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方法
是不是能够正常显示了呢........
时间: 2024-12-22 01:49:38