EDIT: Ich habe gerade ausgearbeitet, was Sie zu fragen versuchten ... ah gut .. wird meine Kommentare sowieso verlassen. Sie können Namen von Klassen und Methoden mit Variablen ersetzen, wenn Sie gerne .. (aber Sie sind verrückt) - nick
Um eine Funktion aus innerhalb einer Klasse nennen Sie es eine von zwei Arten tun kann ...
Entweder Sie können eine Instanz der Klasse erstellen und sie dann aufrufen. z.B .:
$bla = new Blahh_class();
$bla->do_something();
oder ... können Sie die Funktion statisch nennen .. das heißt ohne Instanz der Klasse. z.B.:
Blahh_class::do_something()
natürlich brauchen Sie zu erklären, dass Ihre Funktion statisch ist:
class Blahh_class {
public static function do_something(){
echo 'I am doing something';
}
}
Wenn eine Klasse nicht als statisch definiert ist, dann müssen Sie eine Instanz des Objekts erstellen .. (so das Objekt muss einen Konstruktor) zB:
class Blahh_class {
$some_value;
public function __construct($data) {
$this->$some_value = $data;
}
public function do_something() {
echo $this->some_value;
}
}
die wichtige Sache zu erinnern ist, dass statische Klasse Funktionen nicht $this
verwenden können, da es keine Instanz des cla ist s. (Dies ist einer der Gründe, warum sie viel schneller gehen.)
Und diese: http://stackoverflow.com/questions/251485/dynamic-class-method-invocation-in-php –