![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Hi,
ich habe nie darüber nachgedacht bis ich auf diesen Artikel hier gestoßen bin. Fazit: Subclasses oder "innere Klassen" werden nicht benötigt. Ich habe mal anonyme innere Klassen in Java verwendet, aber das war ein komplett anderer Anwendungsbereich. Der Autor sagt ja aus, dass innere Klassen in PHP nicht nötig und sogar "schlecht" sind. Würde gerne ein paar Meinungen von unseren PHP-Theorie-Spezis hören. Nicht, dass mir letztlich noch etwas "Tolles" entgeht oder so (auch wenn ich das eher nicht glaube). Man soll ja nicht alles so hinnehmen, was man so liest. Grüße, Ben. |
|
|
|
|
|
Nach oben #2 |
|
Gast
Beiträge: n/a
|
das ist geschmackssache und liegt in der entscheidungsgewalt des entwicklers. genau wie die sexuelle präferenz einem menschen freigestellt wird, ist es auch dem geschmack des entwicklers zu überlassen, ob er mit unterklassen arbeitet oder nicht. wozu gedanken daran verschwenden? die welt ist frei...
btw ist der artikel nicht gerade ernst zu nehmen grüße axo Geändert von axo (11.08.2006 um 09:43 Uhr). |
|
|
|
Nach oben #3 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
|
Also den Sinn einer solchen Anwendung habe ich a) noch nie gebraucht und b) noch nicht erkannt. Was soll es einem bitte bringen direkt in eine Klasse eine weitere einzufriemeln? Ich greife wenn dann überhaupt auf in der Klasse zur Laufzeit erstellte Instanzen anderer Klassen zu, ja, aber Klassen zu verschachteln, dazu fehlt mir die nötige abstrakte Sicht bzw. ein sinnvoller Anwendungsbereich!?
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #4 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Zitat:
@axo: Jou, genau was du sagst .. der Artikel ist .. solala Grüße, Ben. |
|
|
|
|
|
|
Nach oben #5 | |
|
Gast
Beiträge: n/a
|
Zitat:
allerdings verliert man leicht mal die übersicht (viele klassen-dateien, viele packages und subpackages), und es gibt extrem viele klassen, die eh nur in einem bestimmten kontext verwendbar sind. nichtsdestotrotz macht es oft sinn, diese winzigen objekte auch als objekte zu behalten und nicht aufzulösen. aber man kann sie erstmal aus dem "öffentlichen" namensraum befreien, indem man sie zur inneren klasse des klienten macht. es ist daher hilfreich, eine weitere kapselungs-ebene einzuführen, um 1. die anzahl an files im projekt zu reduzieren und um 2. hilfsklassen auch als solche kenntlich zu machen. nein, nötig ist es nicht. aber man kann die anzahl an nötigen packages und klassen reduzieren, und damit etwas mehr übersicht schaffen. wie gesagt - religiös darüber zu werden macht keinen sinn. wer's mag, verwendet es, wer nicht, nicht. inner classes haben meiner meinung nach vorteile (kapselung, weniger files im projekt, evtl. bessere übersicht für den klienten, leichteres refactoring für den autor, und laufzeitunterschiede sind mir dabei reichlich egal), aber ich drehe keinem einen strick daraus, wenn er/sie inner classes nicht braucht. grüße axo |
|
|
|
|
Nach oben #6 |
|
Erfahrener Benutzer
Registriert seit: 18.08.2005
Beiträge: 108
|
Das Problem bei PHP ist, dass es die Engine im Moment nicht schafft, irgend etwas anderes als einfache Variablen lokal zu halten, alles andere wird sofort globalisiert (Klassen, Funktionen...).
Und da selbst die Referenz-Magie der Variablen nur gerade so funktioniert, wäre es wohl wirklich ein Fehler, auf die schnelle lokal begrenzte Klassen einzuführen. Die sollen irgendwann mal die Namespaces hinbekommen, lokale Klassen sind mir sowieso relativ egal, da wären mir closures in PHP wichtiger. |
|
|
|
|
|
Nach oben #7 |
|
Gast
Beiträge: n/a
|
jo, das mit den referenzen ist so ziemlich das übelste an php. macht mich auch immer wieder wahnsinnig.
daher bleibt als quintessenz übrig: sollte ein php-projekt so groß werden, dass innere klassen vorteilhaft wären, sollte man aufhören, php zu benutzen. grüße axo |
|
|
|
Nach oben #8 | ||
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Zitat:
Allerdings nehme ich als persönliches Fazit diese Aussage hier Zitat:
|
||
|
|
|
|
|
Nach oben #9 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
|
@axo: Danke für die Erklärung, es ist doch schon recht einleuchtend. Aber: Ich verstehe jetzt auch, warum ich diese Sichtweise nicht bedacht habe. Ich schreibe nämlich nicht für jeden kleinen Furz eine Klasse, da ich es unvorteilhaft finde, die OOP bis ins kleinste Byte zu vollziehen, denn weniger ist manchmal einfach mehr. Für diejenigen, die unbedingt eine Klasse schreiben wollen, die nur einen String enthält, bitteschön, für die macht es sicher Sinn, ich behalte dann doch lieber meinen etwas weniger OOP-lastigen Programmierstil bei und freue mich dennoch, dass ich bisher alles hinbekommen habe, was ich wollte
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP 5.2 Kompilierung schlägt fehl | Byrel | Tools, Server, Betriebssysteme | 0 | 03.11.2006 21:09 |
| [Rezension] PHP 5 Kochbuch | Artemis | Literatur | 2 | 07.09.2006 19:15 |
| PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht | Ben | Nachrichten | 2 | 01.09.2006 16:05 |
| PHP 5.1 ist drausen | robo47 | Nachrichten | 5 | 28.11.2005 20:30 |
| Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 | Ben | Nachrichten | 1 | 21.11.2005 20:48 |