飘逸

飘逸

这家伙有点懒,还没写个性签名!

  • 财富值4408
  • 威望值280
  • 总积分8178

个人信息

  • 2016-12-16 已签到
    连续签到90天,获得了20个金钱
  • 我也没有研究过Yii和composer各自的自动加载实现的过程,但他们必定遵循着一种规范,他就是 psr-4,这个链接会给你很大的帮助的。

    另外,composer其实更准确来说称其为依赖管理工具较好,你所敲下的Yii代码实际上是依赖于 /vendor/yiisoft/ 下的各种包的。而当然,他们会依赖于其他各种包。为妥善管理这些依赖关系,composer就诞生了。
    所以说,composer其实是比yii “大” 的,因为在composer的眼中,yii仅仅只是万千包中的一个。更别说其下的一个小小的extension.php文件了。那个文件应该是为了yii本身某些特别的需要,和composer自动加载没有关系的。

    当你引入一个第三方包的时候,如果它提供了composer安装的方式,那他在被composer正确安装的时候,便已实现了自动加载而无需你做任何事的。

  • 2016-12-15 已签到
    连续签到89天,获得了20个金钱
  • 首先声明一下,我不是冲着你特意写在标题中的(10分赏金)来的。O(∩_∩)O哈哈~

    在composer管理的项目里面,代码应该被分成两部分。一部分是自己写的,包括安装Yii高级或者基础版所默认提供的应用脚手架。另一部分就是那些第三方的包,说白了就是vendor目录。然后依靠composer提供的自动加载机制去使用那些包,于是你在index.php里发现了这么一句话

    require(__DIR__ . '/../vendor/autoload.php');  
    

    所以如果你想用composer管理你的项目依赖,包便不可以安装到你指定的APP下,因为那会再造就一个项目,而且是和原有项目毫不相关的一堆文件。
    其实在composer眼里,一个composer.json就是一个包,就是一个项目。而你项目的composer.json已经在项目根目录下存在了。

    其实composer 中文文档会解决你所有的疑惑,并且这是唯一正统的光明之道。

  • 2016-12-14 已签到
    连续签到88天,获得了20个金钱
  • 2016-12-13 已签到
    连续签到87天,获得了20个金钱
  • 2016-12-12 已签到
    连续签到86天,获得了20个金钱
  • 2016-12-11 已签到
    连续签到85天,获得了20个金钱
  • 2016-12-10 已签到
    连续签到84天,获得了20个金钱
副总裁 等级规则
8178/10000
资料完整度
10/100
用户活跃度
0/100

Ta的关注

15

Ta的粉丝

22

Ta的访客

68