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
提交项目地址