我正在写一个有很多吸气剂和制定者的课程,并且想知道人们对以下内容的看法:

正常的方法是编码如下:

public function setChangeSort($changeSort)
{
    self::$changeSort = $changeSort;
}

public function getChangeSort()
{
    return self::$changeSort;
}

您对以下内容有何看法:

public function setChangeSort($changeSort) { self::$changeSort = $changeSort; }
public function getChangeSort() { return self::$changeSort; }

我以原始的方式做这件事是没有问题的,因为这就是它应该如何完成的。它似乎在我的classon函数中占用了很多空间,这些空间在他们的工作中非常明显。

提前致谢。

有帮助吗?

解决方案

如果单行条件块是一致的,明显的和直观的,那么它们很好,虽然我鼓励小心地将它们隔开,这样很明显它们是函数而不是单行代码!

其他提示

我会选择“一线”电话。变异。但如果只是设置并获取值。如果您为null或任何其他验证添加检查,或者执行除了获取或设置之外的任何其他操作,我将使用第一个和更长的变体来保持代码更具可读性。

我通常以与其他方法相同的方式威胁单行方法。我不介意我的源代码是N行更长,如果它意味着它更易读和可维护。

我还建议您查看以下文件 http://framework.zend.com/manual/en/coding-standard。 HTML 恕我直言,它是迄今为止最好的PHP编码标准参考。

我认为PHP5的魔法助手/制定者在处理众多的getter / setter时非常有用。

http:// fr .php.net /手动/ EN / language.oop5.overloading.php#language.oop5.overloading.members

一个例子。

<?php
class A {
  private $properties = array();

  public function __set($key, $value) {
    if (is_array($value)) {
      $this->$key = $value;
    } else {
      $this->properties[$key] = $value;
    }
  }

  public function __get($key) {
    if (array_key_exists($key, $this->properties)) {
      return $this->properties[$key];
    }

    return null;
  }
}
?> 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top