Einzelnen Beitrag anzeigen
  #9  
Alt 28.09.2007, 08:09:15
pmneo pmneo ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 9
AW: Klassenmethoden Nachträglich definieren

Danke für deine Hilfe!

Dein Beispiel hat nur einen kleinen Fehler ;) und zwar hast du in der function das $this vergessen!

Das werde ich mir auf jedenfall im hinterkopf behalten, aber ich denke ich werde die Klasse doch umdesignen und aufteilen, hat ja letztendlich wenig sinn so ;)

Trotzdem VIELEN Dank!

p.s. das mit eval ist auch keine schlechte idee, allerdings ist das wirklich zu aufwendig!

Gruß


PHP-Code:
class DynKlasse {
    var 
$TMP "test";
    
//... //andere Funktionen
    
function exec($fn) {
      
$params func_get_args(); //Parameterliste auslesen
      
array_shift($params);  //den Funktionsnamen aus der Parameterliste streichen
      
$paramlist '$this';  //die Selbstreferenz zur Parameterliste hinzufügen
      
foreach ($params as $index => $param) {
        
$paramlist .= ', $params['.$index.']';  // alle übrigen Parameter hinzufügen
      
}
      return eval(
'return '.$fn.'('.$paramlist.');'); //eigentliche Funktion ausführen und Ergebnis zurückgeben
    
}
  }

function 
SinnloseFunktion ($this,$debug) {
  if (
$debug === 1) {
    echo 
"<pre>";var_dump($this);echo "</pre>";
    return 
true;
  }
  return 
false;
}

$dk = new DynKlasse();
$dk->exec('SinnloseFunktion',1); 
Mit Zitat antworten