composer的自动加载机制

本文介绍了Composer的四种自动加载方式:Files、Classmap、PSR-0和PSR-4,重点讲解了按需加载的PSR-4规范。PSR-4是目前推荐的自动加载标准,它规定了命名空间与目录结构的对应关系,优化了加载效率。通过修改composer.json文件并执行`composer dump-autoload`来实现。

Composer支持四种自动加载方式:

Files,Classmap,PSR-0,PSR-4

释义PS:

PSR是PHP Standards Recommendations(PHP 标准建议)的缩写,这是一个叫做PHP Framework Interop Group的组织所推出的关于PHP编程方面的一些标准建议,这个组织推出的知名框架和项目有Composer,CakePHP,Drupal,Magento,Symfony,Yii framework,Zend Framework 2等,还推出了一系列的PSR,具体有哪些请参考http://www.php-fig.org/psr/ ,其中PSR-0PSR-4是关于自动加载方面做出的一些规范

下面详讲四种自动加载方式:

1. Files是最简单的加载方式,这种方式不管加载的文件是否用到始终都会加载,而不是按需加载。

修改composer.json文件

"autoload": {
    "files": [
        "文件路径(文件路径从composer.json同级写起)"
    ]
}

然后执行composer dump-autoload

2. Classmap 加载方式也很简单。

修改composer.json文件

"autoload": {
    "classmap": [
        "文件夹路径(文件夹路径从composer.json同级写起)"
    ]
}

然后执行composer dump-autoload

3. PSR-0,这种加载方式已经过时,所以不推荐在新项目中使用,请用 PSR-4 来代替它。

修改composer.json文件

"autoload": {
    "psr-0": [
        "App\\": ""
    ]
}

代码释义PS:

app命名空间所在的父级目录,由于app命名空间所在的父级目录就是项目根目录, 所以配置值用 "" 。

然后执行composer dump-autoload

4. PSR-4是PSR-0的升级版,是目前推荐的自动加载方式,这种方式使用的是按需加载。

修改composer.json文件

"autoload": {
    "psr-4": [
        "App\\": "app/"
    ]
}

PSR-4和PSR-0的主要区别释义PS:

PSR-4和PSR-0的主要区别是,PSR-4指定的是当前命名空间的目录,而PSR-0指定的是当前命名空间的父目录。

然后执行composer dump-autoload

好文分享:

Composer自动加载机制学习——File

Composer自动加载机制学习——classmap

Composer自动加载机制学习——PSR-0及PSR-4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值