Pergunta

Eu estou escrevendo uma classe que tem lotes de getters e setters e estava me perguntando sobre o que as pessoas pensavam sobre o seguinte:

O caminho normal é um código como o seguinte:

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

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

Quais são as suas opiniões sobre fazendo o seguinte:

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

Não tenho nenhum problema fazendo isso da maneira original, como é assim que shoul ser feito. Parece apenas para pegar um monte de espaço nas minhas funções Classon que são realmente óbvio no que fazem.

Agradecemos antecipadamente.

Foi útil?

Solução

blocos condicionais Simplificadas são muito bem se eles são consistentes, óbvio e intuitivo, embora eu incentivar espaçando-as cuidadosamente por isso é imediatamente óbvio que eles são funções ao invés de algum única linha de código!

Outras dicas

Eu iria com a variação "one-line". Mas única se tudo que faz é configurar e obter um valor. se você adicionar uma verificação para nulo ou qualquer outra validação, ou fazer qualquer coisa que não seja obter ou definir eu iria com o primeiro e maior variação para manter o código mais legível.

Eu costumo ameaça métodos de uma linha da mesma forma que os outros métodos. Eu não me importo o meu código fonte para ser N-linhas mais tempo se isso significa que é mais legível e de fácil manutenção.

Eu também suggesto à verificação geral o seguinte documento http://framework.zend.com/manual/en/coding-standard. html IMHO é o melhor PHP codificação padrão de referência disponíveis até agora.

Eu acho que getters magia / setters de PHP5 são realmente úteis quando se lida com vários getters / setters.

http: // fr .php.net / manual / en / language.oop5.overloading.php # language.oop5.overloading.members

E um exemplo.

<?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;
  }
}
?> 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top