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

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

青灯夜游
リリース: 2023-03-12 11:04:01
オリジナル
2185 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート