Php 魔法函数\uuu调用函数不工作
我正在尝试使用magic函数重载 这是我的密码: 类文件1Php 魔法函数\uuu调用函数不工作,php,overloading,Php,Overloading,我正在尝试使用magic函数重载 这是我的密码: 类文件1 class vLiteUser{ public function __call($methodname,$arguments) { if($methodname=='UserLogin'){ switch(count($arguments)){ case 1:
class vLiteUser{
public function __call($methodname,$arguments)
{
if($methodname=='UserLogin'){
switch(count($arguments)){
case 1:
$this->UserLogin($arguments[0]);
break;
case 2:
$this->UserLogin($arguments[0],$arguments[1]);
break;
default: echo "string";
break
}
}
}
public function UserLogin($data0='')
{
echo $data0;
}
public function UserLogin($data0='',$data2='')
{
echo $pass
}
} ?>
我已在另一个文件中创建对象
$userObj = new vLiteUser();
$userObj->UserLogin(data0,data1);
$userObj->UserLogin(data0);
我的名字可能是我丢失的东西,但我无法找到它的确切含义
我还想问,重载中是否也包含私有函数。同一类中的方法不能有多个定义 这是错误的,并且无论您为这些方法设置了什么可见性(公共/私有),都不会起作用:
public function UserLogin($data0='')
{
echo $data0;
}
public function UserLogin($data0='',$data2='')
{
echo $pass
}
此外,magic方法\uuu call()
仅适用于未定义的方法,或在当前范围内不可见的方法
因此,您要么同时删除函数UserLogin
,要么只删除其中一个,将另一个设为私有
在一个类中不能有两个同名的方法。这不是\u调用
函数的工作方式。它用于处理未在给定对象中定义的方法的方法调用