启用S​​ymfony注释实际上有什么作用?

时间:2019-02-10 23:22:17

标签: php symfony composer-php

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", 实际如何工作,它使启用路由注释有什么变化?

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文件