约定

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.4,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

约定

编码标准文档描述了Symfony项目以及内部和第三方包的编码标准。ob娱乐下载本文档描述了核心框架中使用的编码标准和约定,以使其更加一致和可预测。我们鼓励您在自己的代码中遵循它们,但您不需要这样做。

方法名称

当一个对象与相关的“事物”(对象,参数,…)有一个“main”many关系时,方法名被规范化:

  • get ()
  • 设置()
  • 有()
  • 所有()
  • 替换()
  • remove ()
  • clear ()
  • isEmpty ()
  • add ()
  • 注册()
  • count ()
  • 键()

只有在明确存在以下主要关系时才允许使用这些方法:

  • 一个CookieJar有很多饼干对象;
  • 一个服务容器有许多服务和许多参数(由于服务是主要关系,命名约定用于此关系);
  • 一个控制台输入有许多参数和许多选项。没有“main”关系,因此命名约定不适用。

对于许多不适用该约定的关系,必须使用以下方法(其中XXX是相关事物的名称):

主要的关系 其他关系
get () getXXX ()
设置() setXXX ()
N/A replaceXXX ()
有() hasXXX ()
所有() getxxx ()
替换() setxxx ()
remove () removeXXX ()
clear () clearXXX ()
isEmpty () isEmptyXXX ()
add () addXXX ()
注册() registerXXX ()
count () countXXX ()
键() N/A

请注意

虽然“setXXX”和“replacxxx”非常相似,但有一个显著的区别:“setXXX”可以替换或向关系中添加新元素。另一方面,"replaceXXX"不能添加新元素。如果将一个无法识别的键传递给“replaceXXX”,则必须抛出异常。

的用法

时不时地,框架中的一些类和/或方法会被弃用;当一个特性实现因为向后兼容性问题而无法更改时,就会发生这种情况,但我们仍然想提出一个“更好的”替代方案。在这种情况下,旧的实现可以简单地为弃用

属性将某个特性标记为已弃用@deprecatedPhpdoc到相关类,方法,属性,…

1 2 3
/ * * *@deprecated版本2后已移除。X,将在2.Y中删除。请改用XXX。* /

弃用消息应该指出类/方法被弃用的版本,将被移除的版本,以及在可能的情况下,该特性是如何被替换的。

一个PHPE_USER_DEPRECATED错误还必须触发,以帮助迁移的人开始一个或两个次要版本之前的版本,该功能将被删除(取决于删除的重要性):

1 2 3 4
trigger_error ('XXX()自版本2以来已弃用。X和将在2.Y中删除。请改用XXX。', e_user_deprecated);
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。