来自博客:神的尾巴,原文链接

Composer中文文档

安装Composer

#下载什么的,我比较喜欢wget,官方是用的curl
wget https://getcomposer.org/installer | php

配置文件composer.json

例子,ThinkPHP5的composer如下:

{
    "name": "topthink/think",
    "description": "the new thinkphp framework",
    "type": "project",
    "keywords": [
        "framework",
        "thinkphp",
        "ORM"
    ],
    "homepage": "http://thinkphp.cn/",
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "liu21st",
            "email": "liu21st@gmail.com"
        }
    ],
    "require": {
        "php": ">=5.4.0",
        "topthink/framework": "^5.0",
        "topthink/think-captcha": "^1.0",
        "topthink/think-mongo": "^1.0",
        "topthink/think-image": "^1.0",
        "topthink/think-testing": "^1.0",
        "topthink/think-sae": "^1.0",
        "topthink/think-queue": "^1.0",
        "topthink/think-migration": "^1.0",
        "endroid/qrcode": "^1.7",
        "nmred/kafka-php": "^0.1.5",
        "mobiledetect/mobiledetectlib": "^2.8"
    },
    "extra": {
        "think-path": "thinkphp"
    },
    "config": {
        "preferred-install": "dist"
    }
}

详细介绍看文档, 这里只介绍常用的。

composer.json文件详细介绍

常用块介绍

  • require:表示你需要的包。

  • require-dev: 表示在开发环境需要的包,例如PHPUnit。默认npm install安装, 在线上环境使用composer install --no-dev,不安装开发所需要的组件。

  • autodload: 定义该组件的自动加载方式

    • PSR-4, PSR-0:使用PSR-4PSR-0规范加载,PSR-4规范文档,目前主要使用PSR-4

      #PSR-4例子
      {
          "autoload": {
              "psr-4": {
                  "Monolog\\": "src/",
                  "Vendor\\Namespace\\": ""
              }
          }
      }
    • Classmap: 会扫描指定目录,生成文件与类的mapping。在install和update的时候会自动生成,也可以使用composer dump-autoload自动生成。

    • Files: 每次请求都会载入,可以用来加载一些工具函数库。

关于版本

  • 1.0.2: 指定版本。

  • >=1.0, >=1.0,<2.0, <1.1|>=1.2: 指定范围,,用来代表and,|代表or。

  • 1.0.*: 通配符。

  • ~1.2: 相当如>=1.2,<2.0

  • dev-master#2eb0c0978d290a1c45346a1955188929cb4e5db7: 指定分支和提交编号。

composer.lock

在每次npm install完成后会生成,composer.lock,里面存储着所安装依赖的具体版本。在npm update的时候,会根据composer.json的设置重新更新,并更新composer.lock文件。在git版本库,有时为了保证版本的绝对统一,可以把composer.lock提交到版本库,确保安装的都是同一个版本。

composer命令

使用composer help 命令名称:可以查看具体命令的帮助,包括支持参数和作用。

  • composer install

  • composer update

  • composer dump-autoload

  • composer show

如果composer install速度慢的话,可以使用国内的全量镜像


神的尾巴
2.2k 声望15 粉丝