在 PHPcomposer.json
文件中,该require
字段包含许多键/值对。
"require": {
"php": ">=5.3.3",
"symfony/console": "~2.3@dev",
"symfony/finder": "2.2.1",
"symfony/yaml": "2.2.1",
"symfony/process": "2.2.1",
"symfony/validator": "2.2.1",
"n98/junit-xml": "dev-master",
"fzaninotto/faker": "1.1.0",
"composer/composer": "dev-master"
},
确切地说,每个键/值对的值是用来做什么的?
我知道从概念上讲这些只是版本号。例如,以下
"symfony/finder": "2.2.1"
告诉作曲家2.2.1
该symfony/finder
软件包的版本是必需的。
我不清楚的是
版本控制允许的语法(即是什么
~2.3@dev
意思)为什么有些版本只是文本 (
dev-master
)
我的假设是这些在某种程度上与版本控制系统中的分支或标签有关,或者可能与包composer.json
文件中定义的显式版本有关,但我无法确切地了解它是如何工作的。
如果有人知道,或者可以将我指向手册中解释这一点的正确部分,我将不胜感激。