|
|
1
27
在表面之下,这两种方法是等效的。但是,在使用类时,您可以获得大多数标准的OO好处:封装、继承等。 另外,请看以下示例:
是完全有效的,可能是很难找到的错误。 另一方面,
永远不会工作。 |
|
|
2
28
像这样的简单类:
与阵列相比没有什么优势。
唯一的缺点似乎是速度。创建一个数组并对其进行操作更快。然而,我们都知道,在许多情况下,CPU时间比程序员时间便宜得多。;) |
|
|
3
8
经过一段时间的思考,我有了自己的答案。 最重要的是 首选值对象 数组是 清晰 . 考虑这个函数:
对战
目的更加明确。函数作者可以执行他的要求。
更重要的是,作为用户,我可以轻松地查找
有效弗雷德的构成
. 我只需要打开
呼叫者和被呼叫者之间有合同。使用值对象,可以将此约定编写为语法检查代码:
如果我使用数组,我只能希望我的用户阅读注释或文档:
|
|
4
5
根据使用情况,我可能使用或。这个类的优点是,我可以像使用类型一样使用它,并在方法或任何自省方法上使用类型提示。如果我只想从一个查询或其他东西传递一些随机数据集,我可能会使用数组。所以我想只要 弗莱德 在我的模型中有特殊的意义,我会使用一个类。
旁白:
|
|
|
5
3
让我向您提出这个问题:
做错字有什么不同?
我喜欢用 吻 (保持简单,愚蠢)当我编程的时候。
如果要用作返回值,则可以轻松创建标准类,而不是数组。在这种情况下,您可能不太关心严格的打字。
|
|
|
6
2
哈希的专家:它能够处理在设计时未知的名称-值组合。 |
|
|
7
1
当返回值表示应用程序中的实体时,应该使用对象,因为这是OOP的目的。如果您只想返回一组不相关的值,那么就不那么清楚了。但是,如果它是公共API的一部分,那么声明的类仍然是最好的方法。 |
|
|
8
1
说实话,我都喜欢。
但真正糟糕的是想用得太多。就像我说的,JSON不喜欢哈希。哎呀,我用了一个数组。我现在要修改几千行代码。 我不喜欢,但看来上课更安全。 |
|
|
9
1
正确的值对象的好处在于,没有办法实际地创建一个无效的对象,也没有办法更改一个存在的对象(完整性和“不变性”)。只使用getter和类型提示参数,就没有办法在可编译的代码中把它弄乱,这显然可以很容易地用可扩展数组做到。 或者,您可以在公共构造函数中验证并抛出异常,但这提供了一个更温和的工厂方法。
|
|
|
10
1
我用OOP语言工作了10多年。 如果你理解物体的工作方式,你会喜欢它的。 继承、多态、封装、重载是OOP的关键优势。 另一方面,当我们谈论PHP时,我们必须考虑到PHP不是一种功能齐全的面向对象语言。 例如,我们不能使用方法重载或构造函数重载(直接)。 PHP中的关联数组是一个非常好的特性,但我认为这会损害PHP企业应用程序。 当您编写代码时,您希望获得干净和可维护的应用程序。 另一种观点认为,您不必使用关联数组,因为您不能使用IntelliSense。 因此,我认为如果您想编写更干净、更可维护的代码,那么在提供OOP功能时必须使用它。 |
|
|
11
0
我更喜欢硬编码的属性,就像在第二个示例中那样。我觉得它更清楚地定义了预期的类结构(以及类上所有可能的属性)。与第一个示例相反,它归结为总是记住使用相同的键名。使用第二种方法,您可以返回并查看类,只需查看文件的顶部就可以了解属性。
你最好知道第二个是你做错了什么——如果你试着去做的话。
|