【问题标题】:How to set default array property values in class如何在类中设置默认数组属性值
【发布时间】:2017-06-20 13:14:09
【问题描述】:

我想知道最好的方法是设置一个数组属性,其中一些默认值已知,但以后可以扩展更多值。

你可以通过这样定义属性来设置值吗:

class demoClass {

   protected $_config = [
      'key1' => 'value',
      'key2' => 'value'
   ];

}

或者你需要一个构造函数来设置这样的默认值:

class demoClass {

   protected $_config = [];

   public function __construct() {

      $this->_config = [
         'key1' => 'value',
         'key2' => 'value'
      ];

   }
}

【问题讨论】:

  • 很容易让您检查第一个选项是否有效;是否有任何值取决于运行时信息?
  • 我更喜欢第一选择,因为您正在研究 OOP 哲学
  • 如果初始化时不需要在数组中添加值,那么我更喜欢第一个选项。
  • @MarkBaker 这两个选项都适合我,但我想知道什么是“最好”的方法。在我目前的情况下,这些值不依赖于运行时信息。
  • @ÁlvaroTouzón 感谢您的评论。您能结合我的问题解释一下您对 OOP 哲学的确切含义吗?

标签: php arrays class oop properties


【解决方案1】:

为了清楚起见,我觉得构造方法是要走的路。当它们被这样定义时,您将更好地了解可用变量。不利的一面是,如果要更改变量的名称,则必须在两个地方进行更改。但是,两者都会完成工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    相关资源
    最近更新 更多