Mailinglisten-Archive |
On Saturday 31 July 2004 10:14, Thomas Richter wrote: > ich weiss nicht, in wiefern jemand hier die internals mailingliste von > php.net verfolgt... dort laufen seit gestern abend eine interessante > diskussion bzgl. goto statements... > > was haltet ihr davon? sinnvoll, oder schwachsinn... ? Nachdem Du die Liste verfolgst wirst Du ja wohl die Argumente kennen: - Goto ist sehr schön für's Error-Handling (so wird es in C auch immer mal wieder, auch in "modernen" Sachen, eingesetzt), PHP5 hat zwar Exceptions, mit denen sich das gleiche Ergebnis erzielen lässt, abergerade wenn man ein Skript als kurzes Werkzeug hinschreibt (Shell-Script-like) finde ich sowas äußerst praktisch und "do { ... } while(0)" dafür zu missbrauchen ist ja wohl ein Witz. - Goto ist praktisch, wenn man automatisch Code generiert. - Goto kann dazu führen, dass ein unerfahrener Anwender Spaghetti-Code erzeugt, da bin ich der Meinung, dass es schon genügend andere Wege gibt unwartbaren Code zu schreiben - in anderen Sprachen (C, C++, Pascal, Basic, Python, Perl, ...) funktioniert es ja auch mit goto. Das einzige Problem mit PHP ist, dass die Einstiegskurve zu flach ist, ein "<b>Heute ist der <?=date('d.M.Y');?>!</b>" ist einfach zu schnell hingeschrieben und schon ist man "PHP-Profi". Ein Goto, das nur innerhalb des aktuellen Scopes (also der aktuellen Funktion/Methode bzw. im globalen Bereich) hin und her springt macht auch keinen besonderen Schaden mehr. Ich selbst hätte es mal gebraucht, habe mich abgefunden, dass PHP es nicht hat, hätte jetzt nichts dagegen wenn es kommt, aber hier wird es nicht entschieden sondern auf der internals-Liste. Wer sich für den Patch interessiert und sein eigenes PHP entsprechend patchen will kann mal auf http://www.pecl.org vorbei schauen, allerdings hat der Patch noch ein paar Probleme (z.B. verhinderter er nicht, das man in Blöcke hineinspringt, was dann aber nicht umbedingt zuverlässig läuft, etc.) johannes -- Johannes Schlüter php::bar | Der Treffpunkt für Einsteiger und Profis http://www.phpbar.de
php::bar PHP Wiki - Listenarchive