0

对于以下两个类:

我应该使用数组作为参数还是一一使用?

class image {

    public function __construct(array $color, array $padding) {
        ...
    }
}

class image {

    public function __construct($red, $green, $blue, $paddingtop, $paddingright, $paddingbottom, $paddingleft) {
        ...
    }
}

同样对于类属性:

class image {
    protected $paddingtop;

    protected $paddingright;

    protected $paddingbottom;

    protected $paddingleft;

    protected $colorred;

    protected $colorgreen;

    protected $colorblue;
}

class image {

    protected $padding = array('top' => ..., 'right' => ..., 'bottom' => ..., 'left' => ...);

    protected $color = array('red' => ..., 'green' => ..., 'blue' => ...);

}

将它们视为数组还是单个变量更好?

也许这个问题没有固定的答案,但我只是一个 php 初学者,没有任何工作经验,我想听听你的建议,哪种方式最常用或其他编码人员易于阅读。

谢谢!

4

2 回答 2

2

你永远不会想要一个函数有那么多参数......你可以使用一个选项数组,或者你可以只使用 setter 方法来设置属性。我很难相信创建对象实例需要所有这些。

至于类属性,取决于它们的使用性质。一般来说,单独的属性更好,因为它使界面更易于阅读并有助于 IDE 代码提示。但在这种情况下,尤其是填充,我认为像在第二个示例中那样使用数组会更有意义。

于 2013-07-03T02:56:02.090 回答
1

这将是完全主观的;但是,我会把我的两分钱投入到谈话中。我的经验法则是,如果有超过 4 个参数而不是尝试将它们捆绑在一起,则它们有意义。因此,该示例的填充和颜色可以很好地组合在一起作为数组。

此外,尝试以用户不必担心每个元素位于哪个索引中的方式创建数组,例如使用关联数组。

于 2013-07-03T02:55:21.567 回答