【发布时间】:2019-01-16 12:10:17
【问题描述】:
这里有一些代码示例
class A {
public $attribute1;
public $attribute2;
public $attribute3;
........
public $attributeN;
}
我需要知道我可以在课堂上拥有多少个属性。
对此PSR 或phpmd 或其他标准有何看法?
以芽为例,我可以有“我想要多少”,但我需要用PSR 和phpmd 编写它。
我正在搜索这个,但仍然找不到。
感谢您的帮助。
【问题讨论】:
-
严格意义上没有技术限制,但是如果您生成的代码使用数十亿个属性然后实例化数百万个这样的元素,您显然会给任何系统带来麻烦。
-
这里我想问的是:为什么你需要大量的属性(“不正常”或“如预期”或“被处理和理解的”意义上的“巨大”由人类”)。如果您正在寻找一组动态 属性,那是另外一回事,那么您应该不 将它们编码为静态属性,而应编码为自定义类型的单个属性。例如,该自定义类型可以实现 ArrayAccess 接口以根据需要透明地映射事物。
-
据我所知,PSR 中没有描述限制。甚至扩展的 PSR12 也没有描述一个类应该有多少属性。然而,类应该是小而实用的。如果你有一个拥有这么多属性的类,我猜肯定出了点问题。
-
我认为您的问题只会吸引意见,而不是基于确凿事实的答案。例如,您自己的答案。为什么限制为 15 个字段?为什么不是16?如果我有一个包含 15 个字段的类,并且我再添加一个字段,我的性能会严重下降吗?如果我有一个包含 16 个字段的类并且我删除了一个字段,我的性能会大幅提升吗?
-
你能提供一个示例代码,显示15个字段是好的,16个字段是坏的吗?如果其他人认为限制为 16 个字段,则该示例代码将有助于确定谁是正确的。如果你不能,你已经证明你自己的答案只是一个意见。在检查了您作为来源提供的链接之后,它似乎没有任何研究来支持自己的观点。您的来源似乎只是基于其他人的意见。