一、安装
【comoser.phar】
comoser.phar是 composer的可执行文件,当前目录安装composer实际是【LINUX/WIN】curl(下载)命令 下载了composer.phar文件并且以php composer.phar [command] 的形式使用composer。
【首选-全局安装】
如果需要全局安装composer
WIN:
下载并使用composer-setup.exe安装程序或者crul命令手动安装(手动安装并不会检查该系统是否满足composer的安装先决条件)
curl -s https://getcomposer.org/composer.phar -o $HOME/local/bin/composer
chmod +x $HOME/local/bin/composer
路径 $HOME/local/bin
(或是你选择的路径) 应该在你的 $PATH
环境变量中。这将会影响 composer
这个命令是否可用.
当你遇到文档指出执行 Composer 的命令是 php composer.phar install
时,你可以使用下面命令替代:
composer install
LINUX:
先crul命令下载composer.phar,然后把可执行文件复制到**/usr/local/bin**路径中:
mv composer.phar /usr/local/bin/composer
注意: 以上命令如果失败,请尝试使用sudo
来增加权限。
【使用方法】
本地 使用 Composer 的话,你可以运行 php composer.phar
,全局的话是:composer
。
【其他安装方式-参考】
要快速安装Composer到当前目录,在终端中运行以下脚本. 若要自动安装, 请使用 以编程方式安装 Composer 的指南.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
此安装脚本会简单检查一些php.ini
设置 , 警告你如果它们设置不正确,并会下载最新的composer.phar
到当前目录。上面3行将会顺序执行:
- 下载安装程序到当前目录
- 运行安装程序
- 删除安装程序
二、composer.json文件配置详解
1.配置文件
在我们开始一个项目的时候,首先会给项目取一个名字,我们暂且叫 电子商城,代号
eshop
。首先要写一个 Composer 的配置文件,来描述项目,为此,在项目的根目录下,建立文件名为 composer.json 的配置文件。内容如下:
【composer.json/json文件/键值对形式/值可对象】
{
"name": "dmlk31/eshop",
"description": "another e-commerce website",
"keywords": ["dmlk31", "online shop", "good", "eshop"],
"homepage": "http://www.xxx.com",
"time": "2014-12-30",
"license": "MIT",
"authors": [{
"name": "dmlk31",
"email": "dmlk31@xxxx.com",
"homepage": "http://www.xxxx.com",
"role": "Engineer"
}]
}
如果您熟悉 JSON 格式,那么上面这段内容不言而喻。事实上,这些键值对都是可选的。也就是说,可以都不写。但是如果要把项目打包成公共包发布,那么这些还是需要写上的,给你的包取个名字总不为过。让我们来过一下这些键值对的意义吧。
1.1【常见属性详解】
1)“name” : “dmlk31/eshop”=>“name":"作者/包名称"
name 表示包的名称。如果你经常在 Github 上混,那这个值的表达方式一定非常熟悉啦。解释下,通常包名包含两部分,并且以 / 分隔。斜杆前面部分,代表包的所有者。目前大部分的包作者都喜欢用 Github 的用户名作为这部分的值。斜杆后面部分代表包的名称。尽量保持简单和有意义些,便于记忆和传播。大部分情况下,很多人会用 Github 的代码库名称来命名,当然,这种情况下,代码要存在 Github 比较有意义。
2)"description" : “another e-commerce website”=>”descirption“:"应用简介(一般不写中文,私认为中文有可能会因为json文件的编码引起内容不可读现象)"
应用简介,这部分尽量简洁介绍下项目,别长篇大论。如果确实有很多话要说,那么可以写在 README.md 文件里。
3)"keywords" : [“dmlk31”, “online shop”, “good”, “eshop”](搜索用索引)
关键词的值是一个字符串数组,在发布成公用库的是时候,作为元数据信息,有利于包的搜索和发现。
4)"homepage" : “http://www.xxx.com”(任意网站告诉用户这个包跟这个网站有关)
主页,可以放你想放的任何页面地址。
5)"license" : “MIT”(可以设置当下php的项目的开放程度,开放程度以及标识符参照下方许可协议标准网站)
如果你决定将包公开发布,那么记得选择一个合适的许可证。这样别的程序员在引用包的时候,通过查看许可证,确保没有法律上的问题。可选,但强烈建议提供此内容。更多许可协议的标识符请参见 SPDX Open Source License Registry。
6)"authors" : [{}](作者)
**作者**字段可以包含一个对象数组,也就是说可以提供多个作者信息。
7)version(版本信息设定)
version**不是必须的,并且建议忽略**(见下文)。
它应该符合 ‘X.Y.Z’ 或者 ‘vX.Y.Z’ 的形式, -dev
、-patch
、-alpha
、-beta
或 -RC
这些后缀是可选的。在后缀之后也可以再跟上一个数字。
例:
- 1.0.0
- 1.0.2
- 1.1.0
- 0.2