Maison  >  Article  >  développement back-end  >  Explication détaillée de l'instance de la méthode magique __call() (tutoriel avancé orienté objet php)

Explication détaillée de l'instance de la méthode magique __call() (tutoriel avancé orienté objet php)

巴扎黑
巴扎黑original
2017-04-18 18:16:532131parcourir

Qu'est-ce que la méthode magique __call() ?

__call est l'une des méthodes magiques. Lorsque le programme appelle une méthode qui n'est pas déclarée ou qui n'a pas la permission d'appeler dans la classe actuelle, la méthode __call sera appelée. La méthode __call() contient deux paramètres, à savoir le nom de la méthode et les paramètres de la méthode. Parmi eux, les paramètres de méthode existent sous forme de tableaux.

Donnons un exemple simple pour aider tout le monde à comprendre :

<?php
header("content-type:text/html;charset=utf-8");
class Sport{
public function run(){
echo &#39;方法存在直接调用我&#39;;
}
function __call($name, $arguments)
{
echo &#39;方法不存在调用我&#39;;
echo &#39;<br/>&#39;;
echo &#39;方法名为:&#39;. $name;
echo &#39;<br/>&#39;;
echo &#39;参数为:<pre class="brush:php;toolbar:false">&#39;;
var_dump($arguments);
}
}
$sport = new Sport();
$sport ->run();
echo &#39;<br/>&#39;;
$sport ->football(&#39;贝克汉姆&#39;,30);

Nous créons une classe et créons une méthode d'exécution et une méthode magique __call() dans la classe. Ensuite, nous instancions l'objet $sport et appelons deux méthodes, l'une est la méthode run() qui existe dans la classe et l'autre est la méthode football() qui n'existe pas. Vous pouvez exécuter le code pour voir les résultats.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn