php 使用 __call重载

2020年10月13日00:34:10
评论

这篇文章主要介绍了关于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教程网其它相关文章!

企鹅博客
  • 本文由 发表于 2020年10月13日00:34:10
  • 转载请务必保留本文链接:https://www.qieseo.com/248100.html

发表评论