문제

나는 많은 게터와 세터가있는 수업을 작성하고 있으며 사람들이 다음에 대해 어떻게 생각하는지 궁금해하고 있습니다.

일반적인 방법은 다음과 같이 코딩하는 것입니다.

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; }

나는 그것을 행하는 방법이기 때문에 원래 방식으로하는 데 아무런 문제가 없습니다. 그것은 단지 그들이하는 일에서 정말 명백한 내 클래스 론 기능에서 많은 공간을 차지하는 것 같습니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

일관성 있고 명백하며 직관적 인 경우 한 줄의 조건부 블록은 괜찮습니다. 그러나 조심스럽게 간격을 두는 것이 좋습니다. 따라서 일부 코드 라인이 아닌 함수임을 즉시 분명합니다!

다른 팁

나는 "일선"변형과 함께 갈 것입니다. 하지만 그것이하는 모든 것이 설정하고 가치를 얻는 것입니다. NULL 또는 기타 유효성 검사에 대한 수표를 추가하거나 얻거나 설정하는 것 이외의 작업을 수행하는 경우 코드를 더 읽기 쉽게 유지하기 위해 첫 번째 및 더 긴 변형으로 이동합니다.

나는 보통 다른 방법과 같은 방식으로 한 줄 방법을 위협합니다. 내 소스 코드가 N-Lines가 더 오래 읽을 수 있고 유지 관리 가능하다는 것을 의미하는 경우에도 신경 쓰지 않습니다.

또한 다음 문서를 체크 아웃 할 것을 제안합니다http://framework.zend.com/manual/en/coding-standard.htmlIMHO 지금까지 사용할 수있는 최고의 PHP 코딩 표준 참조입니다.

PHP5의 Magic Getters/Setters는 수많은 게터/세터를 다룰 때 정말 도움이된다고 생각합니다.

http://fr.php.net/manual/en/language.oop5.overloading.php#language.op5.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