博客列表 >Composer配置及使用详解

Composer配置及使用详解

吴长清
吴长清原创
2022年08月24日 10:21:122942浏览

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命令,使之注册并生效

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议