Symfony docs说要启用注释,您应该运行以下命令。
$ composer require annotations
使用此命令启用注释的幕后实际发生了什么?
这让我感到困惑,因为通常我会使用类似的东西
composer require foo/baz
要安装foo/baz
软件包-但annotations
不是软件包-或至少对我来说看起来不像。软件包通常具有namespace/packagename
结构,annotations
是一个单词。
此外,我在运行此命令和onyl不同的apepars前后比较了composer.json文件,以使sensio/framework-extra-bundle
上的次要版本号增加-(自{{1}起,这甚至都没有关系} SemVer转换为5.latestst-对吗?)
^5.1
那么$ diff composer.json composer.json.orig
8c8
< "sensio/framework-extra-bundle": "^5.2",
---
> "sensio/framework-extra-bundle": "^5.1",
实际如何工作,它使启用路由注释有什么变化?
答案 0 :(得分:1)
“注释”是 Symfony食谱的别名。
转到Symfony食谱网站:https://flex.symfony.com/并搜索“注释”。您可能会发现两个软件包,而您感兴趣的是第二个软件包: sensio / framework-extra-bundle
运行composer require annotations
时,composer会安装程序包(就像您进行过composer require sensio/framework-extra-bundle
一样,或者如果您已经拥有它,则进行更新),并且它还会运行与其关联的配方(取决于您的版本,它在这里:https://github.com/symfony/recipes/tree/master/sensio/framework-extra-bundle )
实际上,配方的作用是将一堆文件复制到您的工作目录中,这样配置便会自动完成,而您不必打扰。有些食谱添加了新的控制台命令,配置文件或二进制文件……功能非常强大。
所有这些更改都被写入到相对新的symfony.lock
配置文件中,您可以在其中找到带有某些信息的配方。
NB:如果您使用VCS,则应该提交
symfony.lock
文件