PHP5 overloading
iCA- 05.01.2005 - 22:20 1195 19
watchout
Legendundead
|
nicht nur "funktionen", sondern auch sprachteilen, wie eben, dem "new" statement, man kann aber nur exceptions catchen, die durch den "user" per throw geworfen werden... sicher, ich kann exceptions noch immer gut dazu benutzen um bei einem speziellen fehler eine komplette objektstruktur zu verlassen - was ja schon sehr praktisch ist, aber zum beispiel funktioniert wiederum "throw" nicht innerhalb der __autoload() function...
Bearbeitet von watchout am 14.01.2005, 19:46
|
Rektal
Here to stay
|
Verstehe. Persoenlich verwende autoload nicht, hab das Problem aber auf php-dev verfolgt. Fuer alle anderen Funktionen: im Endeffekt bin ich dazu uebergegangen, fuer alle Funktionen, die mir im Fehlerfall meine Applikation in einem unbrauchbaren Zustand hinterlassen, habe ich Wrapper-Funktionen geschrieben, die dann die Exceptions schmeissen (fopen, getimagesize, mysql_connect, etc.). Mit einem entsprechendem bytecode-cache hab ich auch noch keine Performanceprobleme gesehen und lebe ziemlich gluecklich damit.
|
watchout
Legendundead
|
Verstehe. Persoenlich verwende autoload nicht, hab das Problem aber auf php-dev verfolgt. Fuer alle anderen Funktionen: im Endeffekt bin ich dazu uebergegangen, fuer alle Funktionen, die mir im Fehlerfall meine Applikation in einem unbrauchbaren Zustand hinterlassen, habe ich Wrapper-Funktionen geschrieben, die dann die Exceptions schmeissen (fopen, getimagesize, mysql_connect, etc.). Mit einem entsprechendem bytecode-cache hab ich auch noch keine Performanceprobleme gesehen und lebe ziemlich gluecklich damit. in wirklichkeit ist das aber redundant, und das find' ich ugly - und auch mit Bytecode und wwi wirst du merklichen performanceverlust bemerken wenn du deine wrapper-funktion in oft ausgeführten schleifen verwendest: zb. eine wrapper-funktion für eine division (um division durch 0 abzufangen) übrigens müssen wir uns über die bytecode-sache mal unterhalten
|
Rektal
Here to stay
|
Ugly ist relativ. PHP selbst ist nicht Ugly? Well, ich pass natuerlich auf Loops auf. Aber so oft kommt das net vor. Aber in der Praxis hat sichs gezeigt, dass es nur vorteilhaft ist. Ich groben brauch ich mir net besonders viel Gedanken machen, wo ueberall auch nicht Fehler passieren koennen. Die werden global, ueber dem main execution path, abgefangen und entsprechend der Applikation drauf reagiert.
|
Rektal
Here to stay
|
übrigens müssen wir uns über die bytecode-sache mal unterhalten Weiss zwar net auf was du hinauswillst, aber ich bin sicher nicht so einer derjenigen, die Bytecode per Hand erstellen =)
|