In PHP wird die Funktion call_user_method () verwendet, um die Methoden der Objekte dynamisch aufzurufen. Normalerweise rufen wir Methoden direkt über Objekte auf, zum Beispiel:
$obj->method();
In einigen Szenarien müssen Methoden jedoch basierend auf Variablen dynamisch aufgerufen werden, und diesmal können Sie CALL_USER_METHOD () verwenden, um es zu implementieren.
CALL_USER_METHOD (String $ method_name, Objekt $ obj, gemischt $ parameter [, gemischt $ ...]): gemischt
Parameterbeschreibung:
class MyClass {
public function myMethod($arg1, $arg2) {
echo "arg1=$arg1, arg2=$arg2";
}
}
$obj = new MyClass();
call_user_method('myMethod', $obj, 'value1', 'value2'); // arg1=value1, arg2=value2
Im obigen Code definieren wir die MyClass -Klasse und ihre Methode myMethod, rufen die Methode dynamisch über call_user_method auf und übergeben zwei Parameter und geben schließlich das entsprechende Ergebnis aus.
class MyClass {
public function myMethod($arg1, $arg2) {
echo "arg1=$arg1, arg2=$arg2";
}
}
$obj = new MyClass();
call_user_func([$obj, 'myMethod'], 'value1', 'value2'); // arg1=value1, arg2=value2
Hier wird CALL_USER_FUNC () verwendet, um Objekt- und Methodennamen in Array -Form zu übergeben. Die Funktion entspricht CALL_USER_METHOD () und ist mit PHP7 und höher kompatibel.
In diesem Artikel wird die Funktion der Funktion call_user_method () in PHP und ihr grundlegendes Konzept dynamischer Aufrufmethoden eingeführt. Da diese Funktion nach PHP7 veraltet wurde, wird Entwicklern empfohlen, moderne Alternativen wie CALL_USER_FUNC () zu verwenden, um die Codekompatibilität und -wartbarkeit sicherzustellen.