php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.05.2008, 23:11  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 1.531
Quadaptor befindet sich auf einem aufstrebenden Ast
Standard

Wie würdest du dir diese virtuellen Doc-Tags vorstellen? Denn immerhin gibt es schon ein Haufen von Tags und diese müssten dann allesamt auf die gemeinte Eigenschaft assoziert werden. Das würde auch einen zieemlich langen Doc-Comment geben. Trägt dann auch nicht so zur Übersichtlichkeit bei.

Einen langen Doc-Block bei Änderungen zu aktualisieren ist wahrscheinlich auch kein Vergnügen und ist dann für falsche Vervollständigungen verantwortlich.

isset() benötigst du eigentlich niemals, sofern du eine festdefinierte Schnittstelle hast. Dann weißt du nämlich, dass es die Eigenschaft bzw. die Methode gibt.

Ja genau, dann hätte man in dem genannten Falle wirklich 40 Methoden. Sinnvollerweise (je nach Kontext) per Interface definiert - inkl. der jeweiligen Rückgabewerte und möglichen Ausnahmen, was wiederrum per Unittest dauerhaft sichergestellt werden kann.

Verwendest du Eigenschaften anstatt Methoden läufst du außerdem noch Gefahr, dass ein internes Refactoring deutlich schwerer durchführbar ist, denn a) kannst du nicht weiterhin auf deine Unittests setzen und b) dürften sich die Namen der Eigenschaften nicht ändern, was aber durchaus mal notwendig sein kann - man weiß nie, was für neue Strukturen notwendig sind. Verwendest du Methoden hast du zwei Sicherheiten: Interfaces und Unittests, die beide bei einem Refactoring unverändert bleiben (müssen), um auch wirklich sicherzustellen, dass hinterher alles genaus funktioniert, wie vorher.
Quadaptor ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.05.2008, 13:40  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich glaube, das Thema hat nur noch bedingt etwas mit Goto in PHP 6 zu tun (beides gehört in den Bereich Programmierung. ).
Vielleicht sollte man dazu einen neuen Thread aufmachen.
Wenn man versucht, den Thread objektiv zu betrachten, so stellt man fest, dass sich jetzt alle Beteiligten (mich eingeschlossen) gegenseitig nur noch an der Frage aufhetzen, was einer objektorientierten, wartbaren, wiederverwendbaren und erweiterbaren Systemarchitektur am ehesten nahe kommt.
Aber mal ehrlich: gibt es für solche Sachen nicht UML? Wenn man vor dem Losprogrammieren das gesamte System durchmodelliert (einschließlich Klassen und Interfaces), so wird man doch wohl in den allermeisten Fällen merken, welche Methodik nun am besten zum Einsatz kommt und welche gleich ausscheidet.

Ich würde mal sagen, das Thema gleitet langsam in die Bereiche ab, in denen man sich eh nie einigen wird. Programmierer sind nunmal ein zerstrittenes Volk, das erst in einem gemeinsamen Projekt (zumindest zeitweilig) geeint werden kann.
Manko10 ist offline  
Alt 25.05.2008, 13:57  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 1.531
Quadaptor befindet sich auf einem aufstrebenden Ast
Standard

Stimmt, UML und Magic Methods ist kaum zu vereinbaren. Ich kenn zumindest kein UML-Tool das irgendwelche Magic-Sachen unterstüzt, geschweige denn auch Magic-Code erzeugt.
Quadaptor ist offline  
Alt 25.05.2008, 14:17  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ob ein UML-Tool das unterstützt, ist weniger relevant.
Wichtiger ist, dass die UML-Spezifikation das Magic-Gedöns unterstützen muss.
Ich denke, dass eine Magic Method letztendlich als ganz normale Methode modelliert würde (evtl. mit Kommentaren versehen). Ob sie ihren Zweck erfüllt oder ob es nicht vielleicht auch auf andere Weise ginge, wird man dann sehen.
Manko10 ist offline  
Alt 25.05.2008, 16:45  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 1.531
Quadaptor befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Ob ein UML-Tool das unterstützt, ist weniger relevant.
Wichtiger ist, dass die UML-Spezifikation das Magic-Gedöns unterstützen muss.
Ich denke, dass eine Magic Method letztendlich als ganz normale Methode modelliert würde (evtl. mit Kommentaren versehen). Ob sie ihren Zweck erfüllt oder ob es nicht vielleicht auch auf andere Weise ginge, wird man dann sehen.
Ich denke und hoffe, dass es niemals so weit kommen wird, da aus genannten Gründen, Magic Methods die API verhunzen.

Mit einem ordentlichen Schnittstellendesign steht und fällt eine Applikation, das *sollte eigentlich* jedem bewusst sein.
Quadaptor ist offline  
Alt 25.05.2008, 18:17  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Super, dann bist du ja zu einem Punkt gekommen, ich gebe dir einen Keks und wir alle wissen, dass wir __get(), __set() und __call() weiterhin nicht verwenden sollten.
Nee, im Ernst: modellierbar wäre es, aber sinnvoll wohl nicht.
Manko10 ist offline  
Alt 25.05.2008, 20:28  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Amen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online  
Thema geschlossen


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP6: kann einer was mit dieser fehlermeldung anfangen? brian johnson PHP Tipps 2008 8 29.05.2008 14:25
Fehler missing parameter: goto - phpmyadmin Lindwyrm Datenbanken 1 01.08.2007 16:15
php6 ~ eure vorstellungen/wünsche notyyy Off-Topic Diskussionen 16 26.06.2006 11:38
goto funktion??? PHP Tipps 2005 8 27.04.2005 14:37
Goto Befehl bei PHP ? PHP Tipps 2004 5 17.09.2004 15:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php6 goto, isset php6, php 6 goto, php magic methods in php6, php6, nachteile goto, php6 magic methods, goto php 6, goto php6

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:54 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum