PHP-überladene Methode __call()
Die Methode __call() wird verwendet, um fehlerhafte Methodenaufrufe zu überwachen.
__call() (Methodenüberladung)
Um Fehler zu vermeiden, wenn die aufgerufene Methode nicht existiert, können Sie die Methode __call() verwenden. Diese Methode wird automatisch aufgerufen, wenn die aufgerufene Methode nicht vorhanden ist, und das Programm wird weiterhin ausgeführt.
Syntax:
function __call(string $function_name, array $arguments)
{
...
}
Diese Methode verfügt über zwei Parameter. Der erste Parameter $function_name erhält automatisch den nicht vorhandenen Methodennamen und der zweite $args erhält mehrere Parameter der nicht vorhandenen Methode in Form eines Arrays.
Zur Klasse hinzufügen:
function __call($function_name, $args)
{
echo "Die Funktion, die Sie aufgerufen haben: $function_name( Parameters :
";
var_dump($args);
echo ") existiert nicht! ";
}
Verdammt Beim Aufrufen einer Methode, die nicht existiert (z. B. die test()-Methode):
$p1=new Person();
$p1->test(2,"test" );
Das Ausgabeergebnis ist wie folgt:
Die Funktion, die Sie aufgerufen haben: test(parameter:
array(2) {
[0] =>int (2)
[1]=>string(4) "test"
}
) existiert nicht!