php实现重载——参数个数、变量类型的不同

浏览:302 发布日期:2018/01/20 分类:技术分享 关键字: php 重载
        
//根据变量名、变量的个数、变量的类型实现函数的重载
        function __call($name, $args )
        {
            if($name=='insert')
            {
                $i=count($args);
                if (method_exists($this,$f='insert'.$i))
                { //检查类中是否存在该函数,this指调用该函数的对象
                    call_user_func_array(array($this,$f),$args);
                    //调用函数,array($this,$f)为要调用的函数名,$args为参数数组
                }
            }
            
            //根据变量的类型重载
            if($name=='delete')
            {
                $type = gettype($args[0]);print_r($type);
                if ($type = "string")
                {
                    $f = 'delete0';
                    call_user_func_array(array($this,$f),$args);
                }
                else if ($type = "integer")
                            {
                    $f = 'delete1';
                    call_user_func_array(array($this,$f),$args);
                }
                else 
                {
                    $f = 'delete2';
                    call_user_func_array(array($this,$f),$args);
                }
            }
        }
最佳答案
评论( 相关
后面还有条评论,点击查看>>