ホームページ  >  記事  >  バックエンド開発  >  PHP呼び出しマジックメソッドの機能は何ですか

PHP呼び出しマジックメソッドの機能は何ですか

青灯夜游
青灯夜游オリジナル
2021-09-03 11:44:372146ブラウズ

php "__call()" マジック メソッドは、存在しない、またはアクセスできないメソッドを呼び出すときに呼び出されます。その機能は、プログラムの実行を継続できるようにし、呼び出されたメソッドが存在しない場合や、呼び出されたメソッドが存在しない場合やアクセスできない場合を回避することです。エラーが発生してプログラムが終了します。

PHP呼び出しマジックメソッドの機能は何ですか

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

オブジェクト指向プログラミングでは、PHP が提供します。一連のマジック メソッド。これらのマジック メソッドはプログラミングに非常に便利であり、PHP におけるその役割は非常に重要です。 PHP のマジック メソッドは通常、__ (2 つのアンダースコア) で始まり、明示的に呼び出す必要はありませんが、特定の条件下で自動的に呼び出されます。

このうち、__call() または __callStatic() メソッドはオーバーロードを実現するために設計されているので、__call メソッドを紹介しましょう。

php __call マジック メソッド

クラス内にアクセスできないメソッドまたは存在しないメソッドが呼び出された場合、__call() メソッドが呼び出されます。このメソッドの構文形式は次のとおりです。

public function __call($name, $arguments){
    ... ... ;
}

$name は呼び出されるメソッドの名前で、$arguments は $name に渡されるパラメータの配列です。

呼び出されたメソッドが存在しない場合、__call() メソッドが自動的に呼び出され、プログラムの実行が継続されるため、呼び出しメソッドが存在しない場合のエラーによるプログラムの終了が回避されます。

[例] 以下では、簡単な例を使用して、__call() メソッドの使用法を示します。

<?php
header("Content-type:text/html;charset=utf-8");
class Website{
    public function say(){
        echo &#39;Welcome PHP中文网!<br>&#39;;
    }
    public function __call($name, $arguments){
        echo &#39;你所调用的方法:&#39;.$name;
        if(!empty($arguments)){
            echo &#39;【以及参数:&#39;;
            print_r($arguments);
            echo &#39;】&#39;;
        }
        echo &#39; 不存在!<br>&#39;;
    }
}
$obj = new Website();
$obj -> say();
$obj -> url(&#39;https://www.php.cn/&#39;);
$obj -> title();
?>

実行結果は次のとおりです:

PHP呼び出しマジックメソッドの機能は何ですか

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

以上がPHP呼び出しマジックメソッドの機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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