Einzelnen Beitrag anzeigen
  #8  
Alt 28.09.2007, 03:20:10
Benutzerbild von z0iD
z0iD z0iD ist offline
Junior Member
 
Registriert seit: Mar 2006
Beiträge: 415
z0iD eine Nachricht über ICQ schicken
AW: Klassenmethoden Nachträglich definieren

Mir fällt grade noch was ein. Wenn Du unbedingt die Methoden im herkömmlichen Stil aufrufen möchtest (also $instanz->methode($parameter);), dann solltest Du eventuell die gesammte Klasse durch ein eval jagen. Also, anstatt dass Du die Datei mit der eigentlichen Klasse mit include oder require einbindest, lädst Du einfach den gesamten Klassenquelltext in eine Variable (etwa mit file_get_contents()) und führst diese mit eval aus. Die Klasse ist dann genauso definiert, als hättest Du sie mit include oder require eingebunden.

Vorteil ist aber, dass Du die Zeichenkette erweitern kannst. Du könntest etwa an eine bestimmte Stelle eine Markierung in die Klasse setzen und diese dann zur Laufzeit mit weiteren Methodendeklarationen ersetzen. Dann hast Du wirklich eine dynamische Klasse gebaut.

ABER: Das Ganze dürfte wohl aufwendiger/teurer sein, als die Klasse statisch einzubinden, also überlegs Dir gut ob das wirklich sein muss, oder ob Du vielleicht zu viel Funktionalitäten in eine Klasse stopfst die Du besser auf mehrere Klassen umlegen solltest.
__________________
Bitte sprich entweder deutsch oder englisch mit mir, aber nicht beides gleichzeitig.

----------
Bitte vor dem Fragen lesen: Wie man Fragen richtig stellt.
Mit Zitat antworten