Frage

Ich schreibe eine Klasse, die viele Getter und Setter und frage mich, was die Leute dachten über Folgendes:

Der normale Weg ist wie folgt zu codieren:

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

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

Was sind Ihre Meinungen zu tun wie folgt vor:

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

Ich habe kein Problem ihm die ursprüngliche Art und Weise zu tun, wie das ist, wie es getan werden shoul. Es scheint nur viel Platz in meinem Classon Funktionen zu übernehmen, die wirklich offensichtlich sind in dem, was sie tun.

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Ein-Zeile-bedingte Blöcke sind in Ordnung, wenn sie sind konsistent, klar und intuitiv, obwohl ich sie sorgfältig Abstand fördern würde, so dass es sofort offensichtlich ist, dass sie Funktionen, anstatt einige Zeilen Code!

Andere Tipps

würde ich mit der "one-line" Variation gehen. Aber nur , wenn alle es tut, ist Einstellung und Wert zu bekommen. wenn Sie einen Scheck für null addieren oder jede andere Validierung oder etwas zu tun, die nicht immer oder Einstellung ich mit der ersten und mehr Variation gehen würde, um den Code zu halten besser lesbar.

ich in der Regel Bedrohung einzeilige Methoden in der gleichen Weise wie die anderen Methoden. Ich weiß nicht Quellcode dagegen N-Zeilen länger sein, wenn es heißt, es besser lesbar und wartbar ist.

Ich würde suggesto auch das folgende Dokument zur Kasse http://framework.zend.com/manual/en/coding-standard. html IMHO ist es die beste PHP-Programmierung Standard-Referenz zur Verfügung, so weit.

Ich denke, Magie Getter / Setter von PHP5 ist wirklich nützlich, wenn sie mit zahlreichen Getter / Setter tun.

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

Und ein Beispiel.

<?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;
  }
}
?> 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top