thinkPHP5.0框架自动加载机制分析
ThinkPHP  /  管理员 发布于 8年前   150
本文实例讲述了thinkPHP5.0框架自动加载机制。分享给大家供大家参考,具体如下: 概述 ThinkPHP5.0 真正实现了按需加载,所有类库采用自动加载机制,并且支持类库映射和composer类库的自动加载。 自动加载的实现由think\Loader类库完成,自动加载规范符合PHP的PSR-4。 自动加载 由于新版ThinkPHP完全采用了命名空间的特性,因此只需要给类库正确定义所在的命名空间,而命名空间的路径与类库文件的目录一致,那么就可以实现类的自动加载。 类库的自动加载检测顺序如下: 1、类库映射检测; 系统会按顺序检测,一旦检测生效的话,就会自动载入对应的类库文件。 类库映射 遵循我们上面的命名空间定义规范的话,基本上可以完成类库的自动加载了,但是如果定义了较多的命名空间的话,效率会有所下降,所以,我们可以给常用的类库定义类库映射。命名类库映射相当于给类文件定义了一个别名,效率会比命名空间定位更高效,例如: 也可以利用addClassMap方法批量导入类库映射定义,例如: 虽然通过类库映射的方式注册的类可以不强制要求对应命名空间目录,但是仍然建议遵循PSR-4规范定义类库和目录。 类库导入 如果你不需要系统的自动加载功能,又或者没有使用命名空间的话,那么也可以使用think\Loader类的import方法手动加载类库文件,例如: 示例 类库导入也采用类似命名空间的概念(但不需要实际的命名空间支持),支持的“根命名空间”包括: 如果完全遵从系统的命名空间定义的话,一般来说无需手动加载类库文件,直接实例化即可。 Composer自动加载 5.0版本支持Composer安装的类库的自动加载,你可以直接按照Composer依赖库中的命名空间直接调用。 更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
2、PSR-4自动加载检测;
3、PSR-0自动加载检测;Loader::addClassMap('think\Log',LIB_PATH.'think\Log.php');Loader::addClassMap('org\util\Array',LIB_PATH.'org\util\Array.php');
$map = [ 'think\Log' => LIB_PATH.'think\Log.php', 'org\util\array'=> LIB_PATH.'org\util\Array.php'];Loader::addClassMap($map);
Loader::import('org.util.array');Loader::import('@.util.upload');
// 引入 extends/qrcode.phpLoader::import('qrcode', EXTEND_PATH);// 助手函数import('qrcode', EXTEND_PATH);// 引入 extends/wechat-sdk/wechat.class.phpLoader::import('wechat-sdk.wechat', EXTEND_PATH, '.class.php');// 助手函数import('wechat-sdk.wechat', EXTEND_PATH, '.class.php');
目录 说明 behavior 系统行为类库 think 核心基类库 traits 系统Traits类库 app 应用类库 @ 表示当前模块类库包 您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号