ホームページ  >  記事  >  バックエンド開発  >  PHPは__callオーバーロードを使用します

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

不言
不言オリジナル
2018-05-03 09:23:361497ブラウズ

这篇文章主要介绍了关于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 サイトの他の関連記事を参照してください。

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