來自博客:神的尾巴,原文連接php
Composer中文文檔html
#下載什麼的,我比較喜歡wget,官方是用的curl wget https://getcomposer.org/installer | php
例子,
ThinkPHP5
的composer以下:git
{ "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" } }
詳細介紹看文檔, 這裏只介紹經常使用的。thinkphp
require
:表示你須要的包。json
require-dev
: 表示在開發環境須要的包,例如PHPUnit
。默認npm install安裝
, 在線上環境使用composer install --no-dev
,不安裝開發所須要的組件。app
autodload
: 定義該組件的自動加載方式composer
PSR-4
, PSR-0
:使用PSR-4
或PSR-0
規範加載,PSR-4規範文檔,目前主要使用PSR-4
。curl
#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
: 指定分支和提交編號。
在每次npm install
完成後會生成,composer.lock
,裏面存儲着所安裝依賴的具體版本。在npm update
的時候,會根據composer.json
的設置從新更新,並更新composer.lock
文件。在git版本庫,有時爲了保證版本的絕對統一,能夠把composer.lock
提交到版本庫,確保安裝的都是同一個版本。
使用composer help 命令名稱:能夠查看具體命令的幫助,包括支持參數和做用。
composer install
composer update
composer dump-autoload
composer show
若是composer install速度慢的話,能夠使用國內的全量鏡像