In diesem Artikel wird hauptsächlich die Verwendung von __call() in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
PHP5-Objekte verfügen über eine neue spezielle Methode __call(), die zur Überwachung anderer Methoden in einem Objekt verwendet wird. Wenn Sie versuchen, eine Methode aufzurufen, die nicht in einem Objekt vorhanden ist oder berechtigungsgesteuert ist, wird die Methode __call automatisch aufgerufen.
Beispiel 1: __call
<?php class foo { function __call($name,$arguments) { print("Did you call me? I'm $name!"); } } $x = new foo(); $x->doStuff(); $x->fancy_stuff(); ?>
Diese spezielle Methode kann verwendet werden, um die Aktion „Überladen“ in JAVA zu implementieren, sodass Sie Ihre Parameter überprüfen und Parameter übergeben können, indem Sie eine private aufrufen Verfahren.
Beispiel 2: Verwenden Sie __call, um die Aktion „Überlastung“ zu implementieren
<?php class Magic { function __call($name,$arguments) { if($name=='foo') { if(is_int($arguments[0])) $this->foo_for_int($arguments[0]); if(is_string($arguments[0])) $this->foo_for_string($arguments[0]); } } private function foo_for_int($x) { print("oh an int!"); } private function foo_for_string($x) { print("oh a string!"); } } $x = new Magic(); $x->foo(3); $x->foo("3"); ?>
Zitiert aus:
Die beiden Funktionen _call und ___callStatic sind die Standardfunktionen von PHP Klasse.
__call() Wenn im Kontext eines Objekts auf die aufgerufene Methode nicht zugegriffen werden kann, wird sie ausgelöst.
__callStatic() In einem statischen Kontext, wenn auf die aufgerufene Methode nicht zugegriffen werden kann zugänglich, Es wird ausgelöst. ) am
Das obige ist der detaillierte Inhalt vonSo verwenden Sie __call() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!