Zitat:
Zitat von nikosch 3/ Ich würde auf jeden Fall Negativargumente mit in den Artikel nehmen:
- es wird ständig eine Objekt herumgereicht. |
Das ist wohl richtig, erhöht doch enorm die Lesbarkeit. Jetzt mal ne Frage von meiner Seite aus, macht dass denn soviel aus, wenn ein Objekt herumgereicht wird? Jetzt mal rein performancetechnisch und allgemein.
Zitat:
Zitat von nikosch - Fehlerbehandlung ist schwierig, da die Methoden nicht vorzeitig abgebrochen werden können sondern immer $this zurückgeben müssen |
Finde ich eigentich nicht. IMHO sollte Method chaining nur bei Settern verwendet werden, bzw. bei Funktionen, die im Normalfall keinen Wert zurückliefern.
Um das näher zu erläutern, ein kleines Bsp. wie in meinem Code in der Regel aussieht:
PHP-Code:
$valid = $obj->setValue($val1)
->setValueTwo($val2)
->setValueThree($val3)
->setValueFour($val4)
->save();
PHP-Code:
public function setValue($val)
{
$this->_value = $val;
return $this;
}
PHP-Code:
public function save()
{
if ($this->_isValid()) {
return $this->_save();
}
return false;
}
Gerade beim verarbeiten von Formulareingaben, muss man IMHO erst alle Werte setzen, dann validieren und und am Ende je nachdem zu welchem Ergebnis die Validierung geführt hat, die Daten speichern/weiterverarbeiten oder einen Fehler ausgeben und die Werte ins Formular setzen.
Hoffe ich rede jetzt nicht am Thema vorbei...