Hallo,
ich suche eine Möglichkeit (mit PHP 5.3.x) Methoden nachträglich zu einer Klasse hinzufügen, ohne dass ich am Code der Klasse schrauben muss (und wenn es so nicht geht, dann will ich so wenig wie möglich ändern).
Also meine Idee war folgende:
Funktioniert aber nicht, und ich weiß auch warum, da diese anonymen Funktionen Objekte sind, die __invoke benutzen. Nun sieht PHP aber nach einer Methode und versucht nicht eine Eigenschaft mitteils __invoke auszuführen.
Kennt jemand eine Idee wie man das umgehen kann ?
Eine Idee wäre __call zu benutzen und dann zu sehen ob es eine Eigenschaft mit dem Namen gibt die eine anynyme Funktion ist, und wenn ja diese auszuführen.
Grüße
ich suche eine Möglichkeit (mit PHP 5.3.x) Methoden nachträglich zu einer Klasse hinzufügen, ohne dass ich am Code der Klasse schrauben muss (und wenn es so nicht geht, dann will ich so wenig wie möglich ändern).
Also meine Idee war folgende:
PHP-Code:
class emptyClass{}
$class = new emptyClass();
$class->test = function (){
echo 'hallo';
};
$test = $class->test(); //Fails
Kennt jemand eine Idee wie man das umgehen kann ?
Eine Idee wäre __call zu benutzen und dann zu sehen ob es eine Eigenschaft mit dem Namen gibt die eine anynyme Funktion ist, und wenn ja diese auszuführen.
Grüße
Kommentar