PHP函数参数传递方法怎么改进

本篇内容介绍了“PHP函数参数传递方法怎么改进”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站是专业的韶关网站建设公司,韶关接单;提供成都网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行韶关网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

当我们在写PHP代码的时候,经常会需要对代码进行多次的升级更改等,这样来回不断的重复修改参数,会使我们的整个程序性能降低,并增加了不少的工作量。我们今天就为大家介绍一下是使用数组进行PHP函数参数传递方法的赶紧。

本人在经历了多次重复操作之后决定改进一下传统PHP函数参数传递方法,使用数组作为参数,请看下面的例子.

先看一个传统的自定义函数

  1. /**  

  2. * @Purpose:     插入文本域  

  3. * @Method Name: addInput()  

  4. * @Parameter:    str $title        表单项标题  

  5. * @Parameter:    str $name        元素名称  

  6. * @Parameter:    str $value        默认值  

  7. * @Parameter:    str $type        类型,默认为text,可选password  

  8. * @Parameter:    str $maxlength        最长输入  

  9. * @Parameter:    str $readonly        只读  

  10. * @Parameter:    str $required        是否必填,默认为false,true为必填  

  11. * @Parameter:    str $check        表单验证function(js)名称  

  12. * @Parameter:    str $id            元素id,无特殊需要时省略  

  13. * @Parameter:    int $width        元素宽度,单位:象素  

  14. * @Parameter:    str $tip        元素提示信息  

  15. * @Return:        

  16. */  

  17. function addInput($title,$name,$value="",$type="text",$maxlength="255",
    $readonly,$required="false",$check,$id,$width,$tip)  

  18. {  

  19.     $this->form .= "

  20. \n";  

  21.     $this->form .= "\n";  

  22.     $this->form .= " name=\"".$name."\" value=\"".$value."\" type=\""
    .$type."\" maxlength=\"".$maxlength."\" required=\"".$required."\" check=\""
    .$check."\" id=\"".$id."\" class=\"input\" ".$readonly." style=\"width:".$width.
    "px;\" showName=\"".$title."\" /> ";  

  23.     $this->form .= " class=\"tip\">".$tip."\n";  

  24.     $this->form .= "

  25. \n";  

这是我写的表单类中一个插入文本框的函数.

PHP函数参数传递方法的调用方法为

$form->addInput("编码","field0","","text",3,"");

在开始的时候只预留了$title,$name,$value,$type,$maxlength,$readonly等参数,经过一段时间的使用,发现这些基本参数无法满足需求,文本框需要有js验证,需要定义CSS样式,需要增加提示信息等...

增加了$required,$check,$id,$width,$tip等参数之后发现以前所有调用此函数的地方都需要修改,增加了很多工作量.

PHP函数参数传递方法的调用方法变成

  1. $form->addInput("编码","field0","","text",3,"","true",""
    ,"",100,"提示:编号为必填项,只能填写3位");  

如果使用这个函数的地方很多的话一个一个改确实需要很长时间.

下面是我改进之后的函数

function addInput($a)  {      if(is_array($a))      {          $title        = $a['title'];          $name        = $a['name'];          $value        = $a['value'] ? $a['value'] : "";          $type        = $a['type'] ? $a['type'] : "text";          $maxlength    = $a['maxlength'] ? $a['maxlength'] : "255";          $readonly    = $a['readonly'] ? $a['readonly'] : "";          $required    = $a['required'] ? $a['required'] : "false";          $check        = $a['check'];          $id        = $a['id'];          $width        = $a['width'];          $tip        = $a['tip'];      }      $title,$name,$value="",$type="text",$maxlength="255",$readonly,$required="false",$check,$id,$width,$tip      $this->form .= "
  • \n";      $this->form .= "\n";      $this->form .= " ";      $this->form .= "".$tip."\n";      $this->form .= "
  • \n";  }

    调用方法变为

    $form->addInput(      array(          'title' = "编码",          'name' = "field0",          'maxlength' = 3,          'required' = "true",          'width' = 100,          'tip' = "提示:编号为必填项,只能填写3位",      )  );

    经过前后PHP函数参数传递方法的对比可以发现:

    传统的函数在需要扩展的时候改动量大,使用的时候必须按参数的顺序写,很容易出错.

    改进后的函数扩展的时候可以随时增加新参数,只需要在调用时增加对应的数组键值,每个参数都一目了然,无需考虑顺序,代码可读性增强.

    不过PHP函数参数传递方法的改进还是有缺点的,代码量增大了,需要程序员多写很多键值,还有就是函数中判断语句和三元运算语句可能会影响效率.

    “PHP函数参数传递方法怎么改进”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


    文章标题:PHP函数参数传递方法怎么改进
    文章链接:http://hbruida.cn/article/igoope.html