通过阅读下文,您将获得以下知识点
1、Composer是什么
2、如何使用composer ?
3、如何编写composer.json文件?
Composer是什么?
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
Composer拉取composer.json中的声明的依赖到本地的vendor目录中,并提供了加载该文件的入口。
Composer 将这样为你解决问题:
a) 你有一个项目依赖于若干个库。
b) 其中一些库依赖于其他库。
c) 你声明你所依赖的东西。
d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中
Composer的简单使用
我们声明一个依赖管理文件composer.json, 内容如下
{
"require": {
"predis/predis": "v1.1.1"
}
}
声明依赖predis及其版本,在composer.json目录运行php composer.phar install 命令安装依赖,同级目录会出现一个vendor文件夹,其包含所有的依赖。
require 'vendor/autoload.php';
//然后你就可以随心所欲的用predis的类进行操作了
//注意必需声明使用命名空间
use Predis\Client;
如果没有安装composer, 可以使用以下命令
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
或者到官网下载包到指定路径下可以
如何编写composer.json
要开始在你的项目中使用 Composer,你只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。
注意必须是json格式的。
1、require 包名称 由供应商和项目名称组成,通常在包的库中可以找到。
2、包版本:支持大于或者逻辑指定,比如>=1.0 >=1.0,<2.0 >=1.0, <1.1|>=1.2
注意波浪线~1.2指的是>=1.2,<2.0版本:使用 ~ 指定最低版本,但允许版本号的最后一位数字上升。
3、description: 一个包的简短描述。通常这个最长只有一行。对于需要发布的包(库),这是必须填写的。
4、type: library: 这是默认类型,它会简单的将文件复制到 vendor 目录。
5、keywords:该包相关的关键词的数组。这些可用于搜索和过滤。
6、homepage:主页地址
7、time:版本发布时间。
必须符合 YYYY-MM-DD 或 YYYY-MM-DD HH:MM:SS 格式。
8、license:包的许可协议
9、authors:作者
10、support: 获取项目支持的向相关信息对象。
11、autoload : PHP autoloader 的自动加载映射。
Classmap
classmap 引用的所有组合,都会在 install/update 过程中生成,并存储到 vendor/composer/autoload_classmap.php 文件中。这个 map 是经过扫描指定目录(同样支持直接精确到文件)中所有的 .php 和 .inc 文件里内置的类而得到的。
{
"name": "haodf/sparta",
"description": "aliyun framework",
"authors": [
{
"name": "Nils Adermann",
"email": "naderman@naderman.de",
"homepage": "http://www.naderman.de",
"role": "Developer"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
"homepage": "http://seld.be",
"role": "Developer"
}
],
"support": {
"email": "support@example.org",
"irc": "irc://irc.freenode.org/composer"
},
"repositories": [
{
"packagist.org": false
},
{
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
],
"autoload": {
"psr-4": {
"Aliyun\\Foundation\\": "Aliyun/src/",
"Aliyun\\Framework\\": "Aliyun/src/"
},
"files": ["Framework/src/functions_include.php"]
},
"minimum-stability": "dev"
}
文章来源:https://docs.phpcomposer.com
来源:CSDN
作者:平头一哥
链接:https://blog.csdn.net/William0318/article/details/89242149