TP的自动加载

做法:自动注册的前提是命名空间?首先命名空间可以防止冲突,让系统知道同一个东西是我们自己定义的,还是系统的,或者是引用的其他类库的,这是显然的。最简单的做法是:定义一个类,开头第一句话<? php 之后,加上namespace xx\yy\zz,保证路径与实际文件目录一致。这样能保证自动注册成功。

省事:这样,自动,就不用每次 require或者include了。也实现了惰性加载,就是需要时去检测和加载,不需要时不考虑。

原理:PHP5引入标准PHP库函数,spl_autoload_require(),TP在哪里使用的呢?去看think/base.php吧,里面有一句语句 \think\Loader::register(),从这一句开始,自动开始了加载,后面就是错误和异常的处理加载, \think\Error::register();没有引入Error类。 Loader类仔细研究吧。

本质:自动加载,实际就是告诉系统自动查找,找到了加载,找不到报错。

特别:TP本身的源码是手动注册的,用addNamespace()方法。参考: http://www.tuicool.com/articles/JFNVz2

转载于:https://my.oschina.net/zhmsong/blog/890198

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值