【问题标题】:What's the point of using getters and setters if they will always stay default/"empty"? [duplicate]如果 getter 和 setter 始终保持默认/“空”,那么使用它们有什么意义? [复制]
【发布时间】:2014-04-14 19:41:39
【问题描述】:

如果 getter 和 setter 始终保持默认/空,那么使用它们有什么意义?

我的意思是默认/空的getter和setter:

public function __get($property)
{
    return $this->$property;
}

public function __set($propertyName, $value)
{
    $this->$propertyName = $value;
}

【问题讨论】:

  • 我认为这个问题略有不同。他在问魔法方法的利弊。

标签: php oop setter getter getter-setter


【解决方案1】:

@j08691的链接很好理解getter和setter背后的理论。魔术方法很棒,但也有很多缺点。

  • 您的 IDE 可以自动完成文档。
  • 您还可以验证数据的类型:

    公共函数 getProduct(Product $product)

【讨论】:

    【解决方案2】:

    很多时候你是对的,如果你从不期望使用它们,它们是毫无意义的,但是它们的重点是确保只使用这些设置和返回类属性,所以即使你的参数是从在课堂上你应该使用它们。这样你就可以保证它们只有一个接口。为什么你想要一个你问的地方?好吧,如果您决定更改有关参数的任何内容,例如限制存储在其中的值或使用数据库更改其存储方式,那么您就可以从直接访问它的抽象和一个需要更改的地方,而不是搜索整个类(以及从它继承的任何类),而是查找使用该参数的所有位置。

    这有意义吗?

    【讨论】:

      猜你喜欢
      • 2010-11-30
      • 1970-01-01
      • 2014-04-18
      • 1970-01-01
      • 2012-08-25
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 2014-12-20
      相关资源
      最近更新 更多