PHPは__callオーバーロードを使用します

不言
リリース: 2023-03-25 09:04:02
オリジナル
1446 人が閲覧しました

这篇文章主要介绍了关于php 使用 __call重载,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

<?php  
  
/** 
 * Created by PhpStorm. 
 * User: funco 
 * Date: 17-6-9 
 * Time: 下午1:39 
 */  
class MulStat  
{  
    // showClass 可以接受0个参数  
    private function showClass() {  
        echo "this is class ".__CLASS__;  
    }  
  
    // showString 可以接受一个参数  
    private function showString($str) {  
        echo "string is ".$str;  
    }  
  
    // __call方法 可以获取实例化对象调用的成员函数名和向该被调函数传递的参数个数  
    public function __call($name, $args) {  
        // 先判断要调用的函数名$name  
        if($name == "showInfo"){  
            // 然后可以根据参数($args)数量判断调用哪个成员函数  
            switch(count($args)) {                      // count可以计算数组元素个数  
                case 0:  
                    $this->showClass();break;  
                case 1:  
                    $this->showString($args[0]);break;  
            }// switch  
        }// if  
    }  
}  
  
//实例化MulStat类  
$mulStat = new MulStat();  
  
echo "\$mulStat->showInfo(\"funco 小风\"):\n";  
$mulStat->showInfo("funco 小风");  
  
// 两次换行 便于观察结果  
echo "\n\n";  
  
echo "\$mulStat->showInfo():\n";  
$mulStat->showInfo();
ログイン後にコピー

相关推荐:

PHP使用curl_multi实现并发请求的方法示例

PHP使用file_get_contents发送http请求功能简单



以上がPHPは__callオーバーロードを使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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