__call('test', array(1, "2", 3.4, true))", qui est équivalente à "$foo- >test(1, "2", 3.4, vrai)"."/> __call('test', array(1, "2", 3.4, true))", qui est équivalente à "$foo- >test(1, "2", 3.4, vrai)".">
Maison > Article > développement back-end > Comment utiliser la méthode php __call
La méthode php __call est appelée lors de l'appel d'une méthode non définie, en utilisant une syntaxe telle que "$foo->__call('test', array(1, "2", 3.4, true))", également est équivalent à "$foo->test(1, "2", 3.4, true)".
Recommandé : "Tutoriel vidéo PHP"
Utilisation de la méthode magique php __call
__call est appelé lors de l'appel d'une méthode non définie.
En d'autres termes, votre méthode de test n'est pas définie, alors le nom de la méthode test sera transmis comme premier paramètre de __call, et les paramètres de test seront chargés dans le tableau comme premier paramètre de __call Deux paramètres sont transmis.
Donc, lorsque vous appelez $foo->test(1, "2", 3.4, true), cela équivaut en fait à appeler $foo->__call('test', array(1, " 2", 3.4, vrai)).
La méthode __call est déclenchée lors de l'appel d'une méthode de classe, telle que :
<?php class google{ public function search(){ //TODO } public function __call($method, $parameters){ //这里的method便是对应的方法,即"->"后面的字符串,$parameters是通过这个方法传过来的参数 } } $google = new google(); $keyword = 'VR'; $google->search($keyword); //当调用当前对象不存在的方法时,会转向__call $google->operate();
En utilisant __call, vous pouvez effectuer une encapsulation pour appeler d'autres objets et méthodes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!