思考:
有哪些类文件需要加载?
回答:
一共有三种:
1.核心框架类(已经确定好了);
2.控制器类(可以增加)‘
3.模型类(可以增加)
对于所有的类,可以分成两个方面来考虑
1.对于已经确定好了的类,最好采用最简洁的方式进行直接加载
2.对于不确定的可以增加类,需要通过类名的规律,完成其位置的判断,然后再进行自动的加载
基本规律是:
对于Controller结尾的类,说明是控制器类,应该在当前对应的平台下的Controller目录进行加载
对于Model结尾的类,说明是模型类,应该在当前对应的平台下的Mdel目录进行加载
function autoload($class_name){ //先把已经确定的核心类放到一个数组中 $frame_class=array( "Controller"=>"./framework/Controller.class.PHP", "Factory"=>"./framework/Factory.class.PHP", "Model"=>"./framework/Model.class.PHP", "MyPDO"=>"./framework/MyPDO.class.PHP", ); //判断是否是核心类, if(isset($frame_class[$class_name])){ //说明是核心类 include $frame_class[$class_name]; //如果不是核心类,我们截取后10个字符等于Controller说明是控制器类 }elseif (substr($class_name,-10)=="Controller"){ //在当前平台的Controller目录下进行加载 include './application/'.PLATFORM.'/Controller/'.$class_name.'.class.PHP'; }elseif(substr($class_name,-5)=="Model"){ //如果截取后5个字符==Model 说明是Model模型类 //在当前平台下的Model目录下进行加载 include './application/'.PLATFORM.'/Model/'.$class_name.'.class.PHP'; } } //执行自动加载类 spl_autoload_register('autoload');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。