1. 切换资源库到国内镜像。此操作类似于NPM切换资源包到CNPM(淘宝镜像),旨在解决国外网络被墙等问题。 * 全局:composer config -g repo.packagist composer https://packagist.phpcomposer.com * 单项目(进入项目目录再执行命令): composer config repo.packagist composer https://packagist.phpcomposer.com 2. 命令列表 composer list 和composer --help 3. 初始化init ```composer init``` 初始化参数列表: * --name: 包的名称。 * --description: 包的描述。 * --author: 包的作者。 * --homepage: 包的主页。 * --require: 需要依赖的其它包,必须要有一个版本约束。并且应该遵循 foo/bar:1.0.0 这样的格式。 * --require-dev: 开发版的依赖包,内容格式与 --require 相同。 * --stability (-s): minimum-stability 字段的值。 4. 安装install ```composer install``` 安装参数列表: * --prefer-source: 下载包的方式有两种: source 和 dist。对于稳定版本 composer 将默认使用 dist 方式。而 source 表示版本控制源 。如果 --prefer-source 是被启用的,composer 将从 source 安装(如果有的话)。如果想要使用一个 bugfix 到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。 * --prefer-dist: 与 --prefer-source 相反,composer 将尽可能的从 dist 获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置。 * --dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行 --dry-run 命令,它将模拟安装并显示将会发生什么。 * --dev: 安装 require-dev 字段中列出的包(这是一个默认值)。 * --no-dev: 跳过 require-dev 字段中列出的包。 * --no-scripts: 跳过 composer.json 文件中定义的脚本。 * --no-plugins: 关闭 plugins。 * --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。 * --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。 5. 更新 update * 更新项目的所有依赖,并将确切的版本号写入 composer.lock。```composer update``` * 只更新个别包,可以列出它们: ```composer update vendor/package vendor/package2``` * 使用通配符进行批量更新:```composer update vendor/* ``` 更新-参数: * --prefer-source: 当有可用的包时,从 source 安装。 * --prefer-dist: 当有可用的包时,从 dist 安装。 * --dry-run: 模拟命令,并没有做实际的操作。 * --dev: 安装 require-dev 字段中列出的包(这是一个默认值)。 * --no-dev: 跳过 require-dev 字段中列出的包。 * --no-scripts: 跳过 composer.json 文件中定义的脚本。 * --no-plugins: 关闭 plugins。 * --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。 * --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。 * --lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。 * --with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。 6. 展示包详细内容 ```composer show monolog/monolog 1.2.2```显示monolog包1.2.2详细内容,版本号可指定特定版本活省略 展示-参数: * --installed (-i): 列出已安装的依赖包。 * --platform (-p): 仅列出平台软件包(PHP 与它的扩展)。 * --self (-s): 仅列出当前项目信息。 7.自定义软件包:示例如下: "repositories": [ { "type": "git", "url": "https://git.oschina.net/wzhec/Tongcheng_OpenAPI.git" }, { "type": "git", "url": "https://git.oschina.net/wzhec/Alidayu_sms.git" } ], 8.自动加载:支持psr-4,psr-0,classmap等方式 "autoload": { "psr-4": { "WZH\\ALIDAYU\\":"src", "WZH\\ALIDAYU\\library\\":"library" } }