1.Composer是什么?
是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。简单来说,就是
依赖管理
和自动加载
2.下载安装
安装包: https://getcomposer.org/Composer-Setup.exe>
傻瓜式安装即可
验证安装: win+R => 打开控制台 => 输入
composer
指令
设置国内镜像
composer 是从源址下载,而非 zip,而国外网站下载很慢且可能失败,所以推荐将下载源切到国内镜像地址
# 直接在终端中输入以下命令即可,不会有任何输出,就对了
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 查看composer 所有全局配置项,可以查看镜像源
composer config -gl
3.composer的配置文件
- composer.json 是 composer 的配置文件,也是 composer 的核心
主要功能
- 自动下载或加载第三方组件包以及依赖管理
- 自动加载用户自定义包或函数库
composer.json两种创建方式
交互式创建:使用命令
composer init
,创建的composer.json
如下:{
"name": "zhupeter/0505-1",
"authors": [
{
"name": "zhupeter",
"email": "zhuyuseng@qq.com"
}
],
"require": {}
}
手工创建:啥也不写,再执行
composer dumpautoload
生成vendor
目录{
}
vendor
目录 如下:
配置composer.json文件
{
"autoload": {
"classmap": [
// 将目录的inc下所有类自动加载
"inc/",
// 指定自动加载一个类
"MyClass.php"
],
"files": [
// 自动加载指定目录下的分类文件
"config/connect.php",
"lib/helper.php"
],
"psr-4": {
// 类命名空间与类文件映射
"phpcn\\": "admin/"
}
},
"require": {
// 包名 版本号
"gregwar/captcha": "^1.1",
"catfan/medoo": "^2.1"
}
}
autoload: 是设置自定义类的自动加载和自定义的其他非类文件的加载等
- classmap: 设置自定义类的自动加载类的目录或类的文件
- files: 设置自定义其他非类文件的文件
- psr-4: 是
PHP Standards Recommendation
的简称,制定的代码规范,简称PSR,是代码开发的事实标准。- 专用于
类
的自加加载 类空间
与类路径
存在映射关系类名
与类文件
名相同- 支持
空间分级
- 专用于
requeire: 自动加载第三方组件库/包
- 使用命令
composer require 包名
自动添加,执行完成后可以在composer.json
中查看,其中符号^
是锁定包的版本号,会自动生成一个composer.lock
文件 - 可在此网站搜索查看第三方的包名 https://packagist.org/
- 使用命令
以上设置完成后都必须执行composer dumpautoload
命令,使之注册并生效