Contributed by
Sanpi
in #22382.

Symfony 项目遵循 semantic versioning 语义化版本策略,以及 backward compatibility promise 向下兼容承诺,以确保你的项目平滑升级。此一策略主要部分是 deprecation messages(“不建议使用”的信息),它在你使用即将移除的功能或在下一个主要 Symfony 版本中将会改变的功能时,对你进行警告。

Deprecations 不只对代码的改变很重要。当你在项目中使用 semantic configuration 语义化配置时,它同样重要,可警告用户关于配置选项中的任何功能改变。 这就是为何在 Symfony 3.4 中我们添加了一个简化 config nodes(配置信息之节点)中的“不建议使用之提示信息”的功能:

1
2
3
4
5
6
7
8
9
10
11
12
// ...
->scalarNode('config_option_1')
    // this outputs the following generic deprecation message:
    // 这可输出下列通用 deprecation message:
    // The child node "config_option_1" at path "acme_root" is deprecated.
    ->setDeprecated()
->end()
->scalarNode('config_option_2')
    // you can also pass a custom deprecation message (%node% and %path% placeholders are available):
    // 你也可以传入自定义的 deprecation message (%node% 和 %path% 点位符都是可用的)
    ->setDeprecated('The "%node%" option is deprecated. Use "new_config_option" instead.')
->end()