ホームページ  >  記事  >  バックエンド開発  >  マジックメソッド __call() インスタンスの詳細な説明 (PHP 上級オブジェクト指向チュートリアル)

マジックメソッド __call() インスタンスの詳細な説明 (PHP 上級オブジェクト指向チュートリアル)

巴扎黑
巴扎黑オリジナル
2017-04-18 18:16:532131ブラウズ

__call() マジック メソッドとは何ですか?

__call はマジックメソッドの 1 つで、プログラムが現在のクラスで宣言されていないメソッド、または呼び出し権限を持たないメソッドを呼び出すと、__call メソッドが呼び出されます。 __call() メソッドには、メソッド名とメソッド パラメーターという 2 つのパラメーターが含まれています。このうち、メソッドのパラメータは配列の形で存在します。

誰もが理解できるように簡単な例を示しましょう:

<?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);

クラスを作成し、クラス内に run メソッドとマジック メソッド __call() を作成します。次に、オブジェクト $sport をインスタンス化し、2 つのメソッドを呼び出します。1 つはクラス内に存在する run() メソッドで、もう 1 つは存在しない Football() メソッドです。コードを実行して結果を確認できます。

以上がマジックメソッド __call() インスタンスの詳細な説明 (PHP 上級オブジェクト指向チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。