php魔术方法call,php用魔术方法__call实现类函数重载

因为php是弱类型语言,不喜欢c++通过改变函数返回相同的值键入的参数的数目和功能将过载!但在需求函数的实际发展可能过载。开发需求,我们能够通过魔术方法__call()来实现函数重载。

class Templates {

function __call($fun,$argv){

if($fun=="assign"){

if(count($argv)==1){

$this->assign1($argv[0]);

}

elseif(count($argv)==2){

$this->assign2($argv[0],$argv[1]);

}

}

}

//assign函数接受參数

function assign2($key,$value){

if(isset($key)&&!empty($value)){

$this->val["$key"]=$value;

}else{

exit("ERROR:请设置变量");

}

}

//重载assign函数接受数组

function assign1($array){

if(!empty($array)){

foreach($array as $key => $value){

$this->val["$key"]=$value;

}

}else{

exit("ERROR:请设置数组");

}

}

}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值