Blogger Information
Blog 48
fans 3
comment 1
visits 30340
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Composer配置及使用详解
吴长清
Original
2952 people have browsed it

1.Composer是什么?

是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。简单来说,就是依赖管理自动加载

官网:https://www.phpcomposer.com/

2.下载安装

安装包: https://getcomposer.org/Composer-Setup.exe>

傻瓜式安装即可

验证安装: win+R => 打开控制台 => 输入composer指令

设置国内镜像

composer 是从源址下载,而非 zip,而国外网站下载很慢且可能失败,所以推荐将下载源切到国内镜像地址

  1. # 直接在终端中输入以下命令即可,不会有任何输出,就对了
  2. composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  3. # 查看composer 所有全局配置项,可以查看镜像源
  4. composer config -gl

3.composer的配置文件

  • composer.json 是 composer 的配置文件,也是 composer 的核心
  • 主要功能

    • 自动下载或加载第三方组件包以及依赖管理
    • 自动加载用户自定义包或函数库
  • composer.json两种创建方式

    • 交互式创建:使用命令composer init,创建的composer.json如下:

      1. {
      2. "name": "zhupeter/0505-1",
      3. "authors": [
      4. {
      5. "name": "zhupeter",
      6. "email": "zhuyuseng@qq.com"
      7. }
      8. ],
      9. "require": {}
      10. }
    • 手工创建:啥也不写,再执行 composer dumpautoload 生成vendor目录

      1. {
      2. }
  • vendor目录 如下:

配置composer.json文件

  1. {
  2. "autoload": {
  3. "classmap": [
  4. // 将目录的inc下所有类自动加载
  5. "inc/",
  6. // 指定自动加载一个类
  7. "MyClass.php"
  8. ],
  9. "files": [
  10. // 自动加载指定目录下的分类文件
  11. "config/connect.php",
  12. "lib/helper.php"
  13. ],
  14. "psr-4": {
  15. // 类命名空间与类文件映射
  16. "phpcn\\": "admin/"
  17. }
  18. },
  19. "require": {
  20. // 包名 版本号
  21. "gregwar/captcha": "^1.1",
  22. "catfan/medoo": "^2.1"
  23. }
  24. }
  • autoload: 是设置自定义类的自动加载和自定义的其他非类文件的加载等

    • classmap: 设置自定义类的自动加载类的目录或类的文件
    • files: 设置自定义其他非类文件的文件
    • psr-4: 是PHP Standards Recommendation的简称,制定的代码规范,简称PSR,是代码开发的事实标准。
      • 专用于的自加加载
      • 类空间类路径存在映射关系
      • 类名类文件名相同
      • 支持空间分级
  • requeire: 自动加载第三方组件库/包

    • 使用命令composer require 包名自动添加,执行完成后可以在composer.json中查看,其中符号^是锁定包的版本号,会自动生成一个composer.lock文件
    • 可在此网站搜索查看第三方的包名 https://packagist.org/

以上设置完成后都必须执行composer dumpautoload命令,使之注册并生效

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post