Mailinglisten-Archive |
Sebastian Mendel schrieb: > Andreas Heigl wrote: > >>>>> Welcher Sinn steckt da dahinter? >>>> >>>> Welcher Sinn steckt darin eine Methode mal statisch, mal nicht aufzurufen? >>>> Vielleicht sehe ich den nur nicht... >>> >>> z. B.: eine Methode die selbst ein Objekt erzeugt wenn sie statisch >>> aufgerufen wurde und dann den Aufruf an diese Objekt weitergibt, >>> sparrt eine Zeile Code im Controller >>> >>> z. B. wird nur eine Methode benötigt: >>> >>> echo Date::getAsIso( $unix_timestamp ); >>> >>> >>> oder es werden mehrere benötigt oder das Objekt wird später noch gebraucht: >>> >>> >>> $date = new Date( $unix_timestamp ); >>> $date->addDays( 128 ); >>> echo $date->getAsIso(); >> >> alternativ: echo Date :: getAsIso ( $date -> timestamp ); > > ahja, da fast 90% aller Methoden dieser Klasse auch statisch aufgerufen > werden können verwende ich dann also auch alle Methoden nur noch > statisch dann sind wir wieder 2 Jahre zurück, wo Klassen nichts weiter > waren als Sammlungen von Funktionen, und die Eigenschaften werden als > Parameter von Methode zu Methode mitgeschleift? > > ganz abgesehen davon das ich bei jedem statischen Aufruf neu überprüfen > muss in welchem Format das Datum vorliegt (denn es gibt ja nicht nur > unixtimestamps). - Wow das gibt bestimmt ne Super Performance und der > Wasserkopf und der doppelte Code ... > > > Oder wie meinst du das? Hallo Sebastian. Ohne jetzt auf dass gemoser eingehen zu wollen, stellt sich für mich persönlich die Frage, was du willst: Objektorientiert Programmieren? Wo ist dann das Problem, eine Zeile mehr einzubauen? Dann wird aus > echo Date::getAsIso( $unix_timestamp ); eben > $dat = new Date ( $unixTimestamp ); > $dat -> getAsIso(); Oder willst du Zeilensparend programmieren? Dann bist du wieder 'vor zwei Jahren' und verwendest am Besten gar keine Klassen sondern nur Funktionssammlungen, die du in verschiedenen Dateien sammelst und einbindest. (Mal abgesehen davon, dass es auch vor zwei Jahren Leute gab, die echt Objekt-Orientiert Programmiert haben. Auch mit PHP. Und vor allem abgesehen davon, das eine echte Objektorientierte Programmierung auch Zeilen sparen kann. du kannst nämlich in deinem Beispiel komplett auf die Prüfung eines optionalen Parameters $unixTimestamp in der Methode getAsIso() verzichten, da kein Parameter übergeben wird. Sind auch wieder 5 Zeilen....) Grüße Andreas PS. Wenn du daran wieder etwas auszusetzen hast, rutscht das ganze eher in den OT-Bereich ab und du kannst mir deine Antwort ja direkt zukommen lassen ;-) -- wdv Medien & Kommunikation GmbH & Co. OHG Mediendatenverarbeitung Andreas Heigl Siemensstrasse 6 61352 Bad Homburg Germany Telefon +49-(0)6172-670-185 Telefax +49-(0)6172-670-181 www.wdv.de
php::bar PHP Wiki - Listenarchive