テスト(1, "2", 3.4, true)"。"/> テスト(1, "2", 3.4, true)"。">

ホームページ >バックエンド開発 >PHPの問題 >phpの__callメソッドの使い方

phpの__callメソッドの使い方

藏色散人
藏色散人オリジナル
2020-08-28 09:57:482533ブラウズ

php __call メソッドは、未定義のメソッドを呼び出すときに、「$foo->__call('test', array(1, "2", 3.4, true))」のような構文を使用して呼び出されます。 「$foo->test(1, "2", 3.4, true)」と同等です。

phpの__callメソッドの使い方

推奨: 「PHP ビデオ チュートリアル

php マジック メソッド __call の使用法

__call は、未定義のメソッドを呼び出すときに呼び出されます。

言い換えると、テスト メソッドが定義されていない場合、メソッド名 test が __call の最初のパラメータとして渡され、test のパラメータが __call の最初のパラメータとして配列にロードされます。 __call。2 つのパラメータが渡されます。

したがって、$foo->test(1, "2", 3.4, true) を呼び出すと、実際には $foo->__call('test', array(1, ") を呼び出すのと同じになります。 2"、3.4、真))。

__call メソッドは、クラス メソッドを呼び出すときにトリガーされます。例:

<?php
class google{
    public function search(){
        //TODO
    }
    public function __call($method, $parameters){
        //这里的method便是对应的方法,即"->"后面的字符串,$parameters是通过这个方法传过来的参数
    }
}
 
$google = new google();
$keyword = &#39;VR&#39;;
$google->search($keyword);
//当调用当前对象不存在的方法时,会转向__call
$google->operate();

__call を使用すると、カプセル化を行って他のオブジェクトやメソッドを呼び出すことができます。

以上がphpの__callメソッドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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