ThinkPHP框架完全解析三

第三步:Think类的实现之类的自动加载

上回讲到调用Think类中的start函数,这个函数是一个静态函数,因此,不需要初始化便能够被调用。这次,就来分析一下这个start函数有什么功能。

第一行代码是:

spl_autoload_register('Think\Think::autoload');

这行代码的功能是自动加载类功能。传递的是Think名字空间下的Think类中autoload这个函数。

默认呢的自动加载函数是_autoload,这个函数有一个参数,用来接送类名。

我们现在Think中的代码是这样子的:


未来演示自动加载类函数的功能,我们再在index.php中修改成这个样子:


运行下,便会发现,网站输出了abc这三个字,而这三个字,正是我们在index.php中所调用到的类名。因为从运行到现在,还没有加载过一个名为abc的类,因此,当php检测到没有这个类,他就会autoload这个函数。而我们在autoload函数中,所要做的事情,无非就是检测类文件在哪个地方,然后把这个类文件给include或者是require进来。

综合下来,autoload这个函数大体就是这个模样:

 

因为在这个函数中需要使用到APP_PATH这个常量,本来,应该在我们的ThinkPHP.php这个文件中导如这个常量的,但是为了让用户能够自定义应用目录名,这个就需要用户自己定义了:


当然,为了防止用户忘记输入错误,我们也应该在我们的ThinkPHP中,添加一行代码内容,防止此类问题出现:


现在的ThinkPHP.php变成为:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值