PHP: Definiere Funktionen mit Variablennamen

8

Ich habe ein Array von Strings und möchte Funktionen definieren, deren Namen diese Strings sind. Gibt es eine Möglichkeit, das in PHP zu tun?

%Vor%

Wie programmiere ich programmatisch xxx() , yyy() und zzz() ?

Vielen Dank

    
julien_c 07.09.2011, 17:17
quelle

3 Antworten

8

Wenn Sie wirklich hatten, könnten Sie die Funktion innerhalb eines eval Blocks deklarieren:

%Vor%

Aber das kostet zusätzliche Parsing-Zeit Geschwindigkeit Strafe über nur die Funktionen in einer Datei deklarieren.

    
mario 07.09.2011, 17:23
quelle
2

Sie nicht, es ist nicht möglich.

Mit einem magischen Methodentrick können Sie dies an einem Instanzobjekt erreichen (so funktioniert $ obj- & gt; xxx ()), siehe: __ Aufruf ), aber Sie können keine globale Funktion basierend auf einem Variablennamen erstellen.

Hinweis: Mir ist bewusst, dass Sie $ var () haben können, aber das hat das OP nicht gefragt.

    
Karoly Horvath 07.09.2011 17:19
quelle
1
%Vor%

Aber bitte nicht, dass Eval nicht ratsam ist, verwendet zu werden, sollten Sie einen anderen Ansatz finden.

    
Pheonix 07.09.2011 17:22
quelle

Tags und Links