1
回答
php自定义框架类文件载入的疑问
华为云实践训练营,热门技术免费实践!>>>   

学习视频写了一个php的框架,有一个问题一直不是很清楚,想咨询一下.

app(应用)类中:
//定义了一个自动载入类函数
spl_autoload_register(array(__CLASS__,'auto'));

//
载入用户自定义扩展文件(用于载入App/Common/Lib下的文件)
self::_use_import();
这个函数读取配置文件中的AUTO_LOAD_FILE文件数组('AUTO_LOAD_FILE'=>array('func.php','upload.class.php'),),然后使用foreach循环载入文件.

然后我在控制器IndexController.php中的index方法中,新建了upload.class.php中的upload类,并执行方法$obj=new upload;
$obj->up();

这里有一个问题:我app类中的spl_autoload_register(array(__CLASS__,'auto'));在self::_use_import();之前了.按这个顺序,应该先到auto方法中尝试载入类文件.但实际是从_use_import()载入的.

是不是可以理解为新建类时,先查找类文件是不是被其他函数载入了,如果没有任何其他函数载入该类文件,再调用自动载入类文件函数auto,和本身的顺序并没有关系.自动载入类函数auto是最后载入的.请高人指点,谢谢


PHP
举报
manbudezhu
发帖于1年前 1回/204阅
顶部