Composer是 PHP 用來管理依賴的工具,提供了科學的第三方包的模塊化及更新方案。php
composer.json
聲明項目依賴composer
工具前往packagist.org
倉庫獲取包的元數據信息composer
工具根據元數據信息前往GitHub
等代碼託管平臺獲取第三方包版本要求 PHP 5.3.2+
git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer # 下載composer composer config -g repo.packagist composer https://packagist.phpcomposer.com # 全局配置composer源爲中國鏡像源 composer global require "hirak/prestissimo:^0.3" # 全局安裝 」composer並行下載插件「 export PATH=$PATH:~/.composer/vendor/bin # 全局composer庫執行路徑加入環境變量 sudo chmod a+x /usr/local/bin/composer # 增長可執行權限 #### 平常升級composer #### composer selfupdate
composer init -n
當前目錄建立空的composer.json
文件composer init --require=包名 -n
composer create-project 包名 保存路徑 版本號
composer require [--dev] 包名
composer.json
composer remove 包名
json
應用啓動入口增長 require 'vendor/autoload.php';
安全
composer install --profile --prefer-dist --optimize-autoloader
--profile
顯示時間和內存使用信息--optimize-autoloader
優化自動加載得到20%~25%提高--prefer-dist
大幅加快下載速度 ,忽略包下的.git目錄從而回避對根目錄git系統的影響composer update 包名 --prefer-dist
composer update nothing
composer update --lock
composer.lock
來管理composer dump-autoload --optimize
composer show --installed # 已安裝的依賴 composer show -p # 已安裝的平臺軟件包(包括php拓展)bash
1. git版本庫 { "type":"git", "url":"ssh://....git" } 2. path本地路徑 { "type":"path", "url":"包的相對路徑" }
{ "autoload": { "files": [ "文件路徑", ] } }
composer
源{ "type": "composer", "url": "https://packagist.phpcomposer.com" }
git
源{ "type": "git", "url": "git地址" }
path
源{ "type": "path", "url": "包的相對目錄路徑" }
Major.Minor.Patch
Major
大版本更新,不向後兼容Minor
小版本更新,向後兼容Patch
補丁修復,向後兼容1.0.0
>=1.0.0
1.0.*
~
~1.0
=> 1.0<= X < 2.0
~1.0.0
=> 1.0.0<= X < 1.1
^
^1.0
=> 1.0<= X < 2.0
^1.0.0
=> 1.0.0<= X < 2.0.0
Composer
包composer init
初始化配置packagist.org
packagist.org
提交項目地址