zoukankan      html  css  js  c++  java
  • php用魔术方法__call实现类函数重载

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

    class Templates {
     <span style="white-space:pre">	</span>function __call($fun,$argv){
        	<span style="white-space:pre">	</span>if($fun=="assign"){
        		<span style="white-space:pre">	</span>if(count($argv)==1){
        			<span style="white-space:pre">	</span>$this->assign1($argv[0]);
        		<span style="white-space:pre">	</span>}
        		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:请设置数组");
      			}
      }
    }

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

  • 相关阅读:
    struts2.0利用注解上传和下载图片
    hibernate @ManyToOne
    Cookie会话管理
    ServletContext
    Servlet 1
    ArrayList
    BigInteger类和BigDecimal类
    Math类
    System类
    基本类型包装类
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4690521.html
Copyright © 2011-2022 走看看