composer autoload不生效_解析composer自动加载机制

原由 这几天在网上随便找了个简洁的接口框架,没想到简洁得过头了。没有配置文件,没有数据库调取,也没有单独的控制器,模型模块。然后自己一通的封装。用着倒是没问题,只是太多的文件引用了。显得很Low。于是想到了自动加载。由于框架本身就是用composer组合的几个模块拼凑在一起的,所以首选还是用composer来配置安装自动加载。 ## 四种加载方式最开始先不说开发层面,而是普及下composer自动...
摘要由CSDN通过智能技术生成

原由
这几天在网上随便找了个简洁的接口框架,没想到简洁得过头了。没有配置文件,没有数据库调取,也没有单独的控制器,模型模块。然后自己一通的封装。用着倒是没问题,只是太多的文件引用了。显得很Low。于是想到了自动加载。由于框架本身就是用composer组合的几个模块拼凑在一起的,所以首选还是用composer来配置安装自动加载。 ## 四种加载方式最开始先不说开发层面,而是普及下composer自动加载的几种方式。

一、 files方式

这种是比较原始的方式了,跟用require其实差不多,只能加载配置好的单独文件。{ "autoload": { "files": ["src/MyLibrary/functions.php"] }}

二、Class-map方式

这种加载方式就有点升级了,可以扫描指定目录下的所有php,ini文件中的class,有点像批量加载。而且这种方式辨识度很高,使用composer执行更新自动加载后,直接能看到引用了多少个文件,在vendor/composer/autoload_classmap.php文件里也能明显看到是否引入了目标文件。 { "autoload": { "classmap": ["src/", "lib/", "Something.php"] }}

三、PSR-0

到这一步已经快跟上时代了。因为前面说的两种,都是强制加载。不管用得着用不着的类,只要配置在加载列表里就会引入文件,而现在说的呢,只有实例化的类才会触发引入,在指定目录寻找对应的引用文件从而实例化类。 { "autoload":

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值