__call() マジック メソッドとは何ですか?
__call はマジックメソッドの 1 つで、プログラムが現在のクラスで宣言されていないメソッド、または呼び出し権限を持たないメソッドを呼び出すと、__call メソッドが呼び出されます。 __call() メソッドには、メソッド名とメソッド パラメーターという 2 つのパラメーターが含まれています。このうち、メソッドのパラメータは配列の形で存在します。
誰もが理解できるように簡単な例を示しましょう:
<?php header("content-type:text/html;charset=utf-8"); class Sport{ public function run(){ echo '方法存在直接调用我'; } function __call($name, $arguments) { echo '方法不存在调用我'; echo '<br/>'; echo '方法名为:'. $name; echo '<br/>'; echo '参数为:<pre class="brush:php;toolbar:false">'; var_dump($arguments); } } $sport = new Sport(); $sport ->run(); echo '<br/>'; $sport ->football('贝克汉姆',30);
クラスを作成し、クラス内に run メソッドとマジック メソッド __call() を作成します。次に、オブジェクト $sport をインスタンス化し、2 つのメソッドを呼び出します。1 つはクラス内に存在する run() メソッドで、もう 1 つは存在しない Football() メソッドです。コードを実行して結果を確認できます。
以上がマジックメソッド __call() インスタンスの詳細な説明 (PHP 上級オブジェクト指向チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。