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 .= "<li>\n";  

  20.     $this->form .= "<label>".$title.":</label>\n";  

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

  22.     $this->form .= "<span class=\"tip\">".$tip."</span>\n";  

  23.     $this->form .= "</li>\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 .= "<li>\n";      $this->form .= "<label>".$title.":</label>\n";      $this->form .= "<input name=\"".$name."\" value=\"".$value."\" type=\"".$type."\" maxlength=\"".$maxlength."\" required=\"".$required."\" check=\"".$check."\" id=\"".$id."\" class=\"input\" ".$readonly." style=\"width:".$width."px;\" showName=\"".$title."\" /> ";      $this->form .= "<span class=\"tip\">".$tip."</span>\n";      $this->form .= "</li>\n";  }

调用方法变为

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

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

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

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

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

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

分享名称:PHP函数参数传递方法怎么改进
标题URL:https://www.cdcxhl.com/article34/igoope.html

成都网站建设公司_创新互联,为您提供定制网站面包屑导航手机网站建设外贸建站电子商务网站内链

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设