1-介绍
composer:php管理项目依赖的工具会自动下载并设置项目依赖
安装前提:php5.3以上
开启openssl扩展(php.ini中查看)
地址:http://getcomposer.org
http://www.phpcomposer.com
依赖关系:指项目中需要使用的外部工具库或者组件
(组件:一组打包的代码,是一系列相关的类或接口,用于帮助我们解决php应用中某个具体问题)
composer的执行流程:
获取某个产品,
读取产品的依赖配置,
根据依赖配置逐一安装所需的依赖产品. 如果所依赖的产品还有依赖, 继续安装(递归)
2-安装
下载Manual download—composer.phar 放到htdocs目录下
php composer.phar
启动
自己更新, 获取最新版本
composer self-update
ps:找到指定文件夹,路径地址栏直接cmd可直接跳转至命令行
安装依赖关系
方法一: 修改 composer 的全局配置文件
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
ps:非Windows安装composer.exe,需要将composer改为php composer.phar
php composer.phar config -g repo.packagist composer https://packagist.phpcomposer.com
3-autoload类的自动加载
项目根目录下建立composer.json文件
(用来声明组件依赖关系、类的自动加载来协助composer管理)
3-1、建立composer.json文件
- 键名autoload是为自动加载
- 键是require时会下载或者更新对应的组件
- 文件内都用双引号
{
"autoload":{
"psr-4":{"":"目录"}
}
}
3-2、建立依赖关系
(1)启动composer(安装目录下,配置环境后所有目录都可以)
php omposer.phar
(2)安装依赖关系
方法二: 修改当前项目的 composer.json 配置文件:(切换国内镜像)
(2-1)打开命令行窗口(windows用户),进入项目的根目录(也就是 composer.json 文件所在目录)
执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
ps:非Windows安装composer.exe,需要将composer改为php composer.phar
php composer.phar config -g repo.packagist composer https://packagist.phpcomposer.com
上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息
(2-2)(也可以自己手工添加):
{
"autoload":{
"psr-4":{"":"目录"}
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}
}
(2-3)、安装
php composer.phar install
产生vender目录
(3)将vendor目录中autoload.php引入主文件
ps:如果根目录下面有文件夹嵌套需要对嵌套文件增加命名空间
4-packagist:官方的composer兼容仓库
提供项目组件依赖管理并提供下载(require)和共享外部组件与类的自动加载(autoload)
地址:https://packagist.org/
require
多个组件用逗号隔开
{"require": {
"php": ">=5.5.9",
"库的完整名称": "版本号",
"库的完整名称": "版本号"
}
}
demo:
{"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*"
}
}
修改composer.json
安装
php composer.phar install
5-composer创建自己的包
1.1、本地化实现组件功能
建立文件、目录
phpcomposer—src—json.php(处理类)
—composer.json(用来声明组件依赖关系、类的自动加载来协助composer管理)
—json_encode_decode.php(测试文件)
composer.json
json.php
json_encode_decode.php
1.2、上传至GitHub
上传src文件夹+composer.json+README(demo)
创建空仓库,上传文件提交
1.3、提交至composer仓库packagis中
URL提交