
Heute habe ich in PhpStorm eine private Variable erstellt und festgestellt, dass die IDE mir zwei Arten von Setzern bietet: den regulären Setter und den fließenden Setter.
Den Begriff "fließender Setter" habe ich bisher noch nicht kennengelernt, daher habe ich beide Optionen erstellt.
class Foo { private $var;
Ja, der
fließende Setter ist also der Setter, der das Objekt selbst zurückgibt .
Was für eine dumme Sache. Wer braucht vielleicht ein Ansichtsdesign
$object = $object->setVar(1);
Dies ist auf den ersten Blick.
Wenig später vermutete ich. Dies wird als jQuery-Verkettung bezeichnet. Dank des zurückgegebenen Objekts können wir sofort den nächsten Setter anwenden.
$('#elementId').val(13).css('font-size', '20px').appendTo(element2);
Fließende Setter sollen den Code klarer und sauberer machen.
Ja, in Javascript fällt dies auf. Auch in Java und PHP. Darüber hinaus gibt es bereits aktiv verwendete Setter-Funktionen. Warum also nicht in der fließenden Version?
$car->setColor('#f00')->setWeight('1200')->setPower(55000); $car ->setColor('#f00') ->setWeight('1200') ->setPower(55000);
In Python können Sie natürlich Setter-Funktionen schreiben, aber die Vorteile liegen nicht auf der Hand. Für mich persönlich ist es bequemer, den üblichen Python-Setter zu verwenden, der nicht wie eine Funktion aussieht, sondern als Zuweisungsoperator. Setter der Form set_var () in Python zu machen, widerspricht meiner Meinung nach den Python-Ideen der Einfachheit.
Später fand ich
einen Artikel über das Fluent Interface, in dem ich
auf ein auffälligeres Python-Beispiel stieß .
Die Minute der Selbstbildung ist vorbei.