Heim >Backend-Entwicklung >PHP-Tutorial >PHP-objektorientiertes OOP – __call behandelt Aufruffehler

PHP-objektorientiertes OOP – __call behandelt Aufruffehler

WBOY
WBOYOriginal
2016-08-08 09:23:06950Durchsuche

Wenn bei der Programmentwicklung ein Objekt zum Aufrufen einer internen Methode des Objekts verwendet wird und die aufgerufene Methode nicht vorhanden ist, tritt im Programm ein Fehler auf, das Programm wird beendet und kann die Ausführung nicht fortsetzen. Wenn das Programm also eine Methode aufruft, die im Objekt nicht vorhanden ist, werden wir möglicherweise darauf hingewiesen, dass die aufgerufene Methode und die verwendeten Parameter nicht vorhanden sind, das Programm jedoch weiterhin ausgeführt werden kann. Zu diesem Zeitpunkt müssen wir die Methode verwenden wird automatisch aufgerufen, wenn die Methode aufgerufen wird, die nicht existiert. Methode „__call()“.

//Dies ist eine Testklasse, es gibt keine Attribute und Methoden darin
Klasse Test
{
}
/ /Ein Objekt der Testklasse generieren
$test = new Test();
//Methoden aufrufen, die im Objekt nicht vorhanden sind
$test->demo("one", "two ", "drei ");
//Das Programm wird hier nicht ausgeführt
echo „das ist ein Test
";
?>

Der folgende Fehler tritt im obigen Beispiel auf und das Programm kann normalerweise nicht weiter ausgeführt werden

Schwerwiegend Fehler: Aufruf der undefinierten Methode Test::demo()

Als nächstes fügen wir die Methode „__call()“ hinzu, die diese Methode hat 2 Parameter. Der erste Parameter ist der Prozess des Aufrufs einer nicht vorhandenen Methode. Wenn die Methode __call() automatisch aufgerufen wird, wird der Methodenname der nicht vorhandenen Methode an den ersten Parameter übergeben Der zweite Parameter Ein Parameter besteht darin, mehrere Parameter dieser Methode in Form eines Arrays zu übergeben.

//Dies ist eine Testklasse, sie enthält keine Attribute und Methoden Klassentest
{


//Methode, die automatisch aufgerufen wird, wenn eine nicht vorhandene Methode aufgerufen wird. Der erste Parameter ist der Methodenname und der zweite Parameter ist der Array-Parameter
function __call($function_name, $args) {
print "Die Funktion, die Sie aufgerufen haben: $function_name(parameters: ";
print_r($args );
echo ") existiert nicht!
";

}}// Generieren Sie ein Testklassenobjekt
$test=new Test();
//Rufen Sie Methoden auf, die im Objekt nicht vorhanden sind
$test->demo("one", "two", " three ");
//Das Programm wird nicht beendet und kann hier ausgeführt werden
echo „das ist ein Test
";
?>


Das Ausgabeergebnis des obigen Beispiels ist:

Die Funktion, die Sie aufgerufen haben: Demo (Parameter: Array ( [0] = > one [1] => two [2] => three )) existiert nicht! das ist ein Test

Der obige Inhalt ist zitiert aus „Fried Peanuts“ Bruder, danke, Bruderanteil.
Das Obige stellt den PHP-objektorientierten OOP-__call zur Behandlung von Aufruffehlern vor, einschließlich des Inhalts. Ich hoffe, er wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn