简介
- Composer 是 PHP 的一个依赖管理工具。就像node的npm,CentOs的yum一样,通过它我们可以简单快速的安装使用各种功能组件。
- Packagist:是Composer的组件仓库,在里面我们能找到各种我们所需要的组件库。
- 学习直通车
官方网址
中文网站
仓库地址
注意事项
- PHP版本5.3.2+
- 开启openssl扩展
一、下载Composer
- 下载网址:https://getcomposer.org/download/
- 下载完成后,在composer.phar所在文件夹打开cmd,输入指令:php composer.phar,出现如下图,代表composer已经安装好了
- 注意事项
3.1 如果提示php非内部指令,请设置PHP环境变量。
二、Composer优化
- 优化指令
1. 经常需要使用php composer.phar 指令 有点繁琐,可以直接设置为使用Composer指令。 2. 进入composer.phar所在文件夹打开cmd,输入指令:echo @php "%~dp0composer.phar" %*>composer.bat 回车后会发现当前文件夹会多出一个composer.bat文件,然后将该文件所在文件夹的路径加入环境变量,以后即可使用composer代替php composer.phar命令。
- 更换组件的下载地址,下载组件速度更快,目前常用有三个,推荐使用阿里云的composer源
1. 阿里composer源:https://mirrors.aliyun.com/composer/ 2. Laravel-china: https://packagist.laravel-china.org 3. phpcomposer: https://packagist.phpcomposer.com 4. 从上述三个常用composer源选择一个,在dos命令窗口输入如下指令进行替换源(此处使用阿里的,其他的替换对应源地址即可): composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
三、Composer常用指令
1. 在当前文件夹新建composer.json文件(注意:json文件中必须使用"",不要使用''),写入以下代码
{
"autoload" :
{
"psr-4" :
{
"命名空间" : "需要管理的目录相对路径"
}
}
}
2. 假设当前目录为data,里面有一个子文件为app,命名空间为app,那么应该如下图所示编写
3. composer install 包名
功能:首先读取文件夹下面的composer.lock文件,composer.lock文件不存在会读取文件夹下
的composer.json文件,将指定的包命令后指定的包下载下来,没有指定包名,会将其中的require
里面所有的依赖下载下来,需要先在composer.json文件写好require内容再使用这个指令.
(一般在下载多个依赖或者进行项目初始化下载所需依赖采用这个命令)
3.1 如下图所示,例如需要下载topthink/framework(这是在packagist搜索到的包名)这个包,
需要现在composer.json中的require里面写好,如下图所示:
3.2 再执行composer install topthink/framework,在当前目录下的vendor目录中就下载好了
4. composer require 包名
功能: 直接下载某个包,不用手动在composer.json文件的require代码块里面添加包,直接使用
此命令即可快速下载某个包,此命令执行后会自动在composer.json文件中的require代码块中
添加相应的包的信息。
5. composer update
功能: 按照文件夹下的composer.json文件,直接更新对应包的版本到最新,一般一个已经成型的项目很少使用,
推荐使用composer install。