来自博客:神的尾巴,原文链接
安装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"
}
}
详细介绍看文档, 这里只介绍常用的。
常用块介绍
require
:表示你需要的包。require-dev
: 表示在开发环境需要的包,例如PHPUnit
。默认npm install安装
, 在线上环境使用composer install --no-dev
,不安装开发所需要的组件。-
autodload
: 定义该组件的自动加载方式-
PSR-4
,PSR-0
:使用PSR-4
或PSR-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速度慢的话,可以使用国内的全量镜像
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。