PHP での 2 つのマジック メソッド __call と __callStatic の使用方法の詳細な説明

黄舟
リリース: 2023-03-14 12:38:01
オリジナル
1162 人が閲覧しました

この記事では主にPHPマジックメソッドの__callメソッドと__callStaticメソッドを紹介していますので、必要な方は参考にしてください

コアコード


//魔术方法__call 
/* 
$method 获得方法名 
$arg 获得方法的参数集合 
*/
class Human {
 private function t(){

 }

 public function __call($method,$arg){
  echo &#39;你想调用我不存在的方法&#39;,$method,&#39;方法<br/>&#39;; 
  echo &#39;还传了一个参数<br/>&#39;; 
  echo print_r($arg),&#39;<br/>&#39;; 
 }

 public static function __callStatic($method,$arg){
  echo &#39;你想调用我不存在的&#39;,$method,&#39;静态方法<br/>&#39;; 
  echo &#39;还传了一个参数<br/>&#39;; 
  echo print_r($arg),&#39;<br/>&#39;; 
 }
}


$ha = new Human();

//example1
$ha->t(1,2,3);

echo &#39;<br>&#39;;
//example2
$ha->say(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;);

echo &#39;<br>&#39;;
//example3
$ha::run(&#39;d&#39;,&#39;e&#39;,&#39;f&#39;);
ログイン後にコピー

存在しないメソッドtメソッドを呼び出したい
パラメータも渡しました。

Array ( [0] => 1 [1] => 2 [2] => 3 )
ログイン後にコピー

あなたは私の存在しないメソッドsayメソッドを呼び出したいです
あなたはパラメータも渡しました

Array ( [0] => a [1] => b [2] => c )
ログイン後にコピー

あなたは私の存在しない run staticメソッドを呼び出したいです
あなたはパラメータも渡しました

Array ( [0] => d [1] => e [2] => f )
ログイン後にコピー

以上がPHP での 2 つのマジック メソッド __call と __callStatic の使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!