一个令人困惑的循环或reloop几次

时间:2011-04-26 17:30:38

标签: php oop

我正在使用面向对象的php构建一个应用程序,我试图保持调用每个对象的主文件尽可能可读和线性,但我有一个需要循环并在多个类中操作的数组。

我想知道在这些情况下最佳做法是什么。我是否应该让每个类循环遍历数组并进行更改,或者首先声明我的所有对象,然后在一个大的(更令人困惑的)循环中同时操作数组。为了便于阅读,让每个对象重新循环都很棒,但这是不好的编码?

Readability? <--> Best practice?

1 个答案:

答案 0 :(得分:0)

我们需要在进行任何真正的评估之前查看代码,但总的来说,您的问题听起来并不像您在可读性和最佳实践之间存在冲突。使用单个循环,您可以实现这两个目标。

将数组(实际上只是另一个对象)从各个类中解耦是明智的选择,并且可以干净地完成,而不会产生太多的复杂性。让每个类实现一个接口来处理这个数组的元素,然后使用一个循环将动作推迟到各个类

$objectA = new ObjectA();
$objectB = new ObjectB();
$objectC = new ObjectC();

foreach ( $array as $key => $value ) {
  $objectA->doSomething($value, $key, $array);
  $objectB->doSomething($value, $key, $array);
  $objectC->doSomething($value, $key, $array);
}

在哪里处理数组的各个值。如上所示,您还可以根据需要传递当前键/索引和整个数组以供上下文使用。