Composer简介
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。
win环境composer工具安装
推荐使用exe方式安装,直接注册到path环境中。
下载地址
https://getcomposer.org/Composer-Setup.exe
配置国内镜像方法,无法突破的那堵墙。
composer config -g repo.packagist composer https://packagist.phpcomposer.com
常用命令
Composer.phar文件更新
Composer selfupdate
依赖包更新
Composer update
开发环境配置项
Require-dev
无开发依赖包部署
Composer --no-dev update
配置项
① Require
列出所有被当前包依赖的包文件,除非没有找到该依赖包,否则都会被安装。
② Require-dev
在开发环境和单页测试使用的包。Update和install 可以添加--no-dev 参数来屏蔽这些包的安装。
③ Autoload
目前支持PSR-4,PSR-0,Classmap, Files
Classmap
加载那些不支持psr-0,psr-4的目录和文件。
把需要加载的目录和文件写到classmap配置项目中,在install后会以key->value形式写到vendor/composer/autoload_classmap.php 文件中。
Laravel 中composer.json
"autoload": {
"classmap": [
"src/Illuminate/Queue/IlluminateQueueClosure.php"
],
"files": [
"src/Illuminate/Foundation/helpers.php",
"src/Illuminate/Support/helpers.php"
],
"psr-4": {
"Illuminate\\": "src/Illuminate/"
}
},
Files
加载特定的文件,比如该文件只包含函数,不能被自动加载。
④ Autoload-dev
开发环境中依赖包加载。
⑤ Config
Composer config --list 查看配置项
Composer config --global 编辑全局配置