日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
PHP函數(shù)參數(shù)傳遞方法的具體改進(jìn)技巧分享

當(dāng)我們?cè)趯?xiě)PHP代碼的時(shí)候,經(jīng)常會(huì)需要對(duì)代碼進(jìn)行多次的升級(jí)更改等,這樣來(lái)回不斷的重復(fù)修改參數(shù),會(huì)使我們的整個(gè)程序性能降低,并增加了不少的工作量。我們今天就為大家介紹一下是使用數(shù)組進(jìn)行PHP函數(shù)參數(shù)傳遞方法的趕緊。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出岳麓免費(fèi)做網(wǎng)站回饋大家。

#t#本人在經(jīng)歷了多次重復(fù)操作之后決定改進(jìn)一下傳統(tǒng)PHP函數(shù)參數(shù)傳遞方法,使用數(shù)組作為參數(shù),請(qǐng)看下面的例子.

先看一個(gè)傳統(tǒng)的自定義函數(shù)

 
 
 
  1. /**  
  2. * @Purpose:     插入文本域  
  3. * @Method Name: addInput()  
  4. * @Parameter:    str $title        表單項(xiàng)標(biāo)題  
  5. * @Parameter:    str $name        元素名稱  
  6. * @Parameter:    str $value        默認(rèn)值  
  7. * @Parameter:    str $type        類型,默認(rèn)為text,可選password  
  8. * @Parameter:    str $maxlength        最長(zhǎng)輸入  
  9. * @Parameter:    str $readonly        只讀  
  10. * @Parameter:    str $required        是否必填,默認(rèn)為false,true為必填  
  11. * @Parameter:    str $check        表單驗(yàn)證function(js)名稱  
  12. * @Parameter:    str $id            元素id,無(wú)特殊需要時(shí)省略  
  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 .".$title.":\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";  

這是我寫(xiě)的表單類中一個(gè)插入文本框的函數(shù).

PHP函數(shù)參數(shù)傳遞方法的調(diào)用方法為

 
 
 
  1. $form->addInput("編碼","field0","","text",3,""); 

在開(kāi)始的時(shí)候只預(yù)留了$title,$name,$value,$type,$maxlength,$readonly等參數(shù),經(jīng)過(guò)一段時(shí)間的使用,發(fā)現(xiàn)這些基本參數(shù)無(wú)法滿足需求,文本框需要有js驗(yàn)證,需要定義CSS樣式,需要增加提示信息等...

增加了$required,$check,$id,$width,$tip等參數(shù)之后發(fā)現(xiàn)以前所有調(diào)用此函數(shù)的地方都需要修改,增加了很多工作量.

PHP函數(shù)參數(shù)傳遞方法的調(diào)用方法變成

 
 
 
  1. $form->addInput("編碼","field0","","text",3,"","true",""
    ,"",100,"提示:編號(hào)為必填項(xiàng),只能填寫(xiě)3位");  

如果使用這個(gè)函數(shù)的地方很多的話一個(gè)一個(gè)改確實(shí)需要很長(zhǎng)時(shí)間.

下面是我改進(jìn)之后的函數(shù)

 
 
 
  1. function addInput($a)  
  2. {  
  3.     if(is_array($a))  
  4.     {  
  5.         $title        = $a['title'];  
  6.         $name        = $a['name'];  
  7.         $value        = $a['value'] ? $a['value'] : "";  
  8.         $type        = $a['type'] ? $a['type'] : "text";  
  9.         $maxlength    = $a['maxlength'] ? $a['maxlength'] : "255";  
  10.         $readonly    = $a['readonly'] ? $a['readonly'] : "";  
  11.         $required    = $a['required'] ? $a['required'] : "false";  
  12.         $check        = $a['check'];  
  13.         $id        = $a['id'];  
  14.         $width        = $a['width'];  
  15.         $tip        = $a['tip'];  
  16.     }  
  17.     $title,$name,$value="",$type="text",$maxlength="255",$readonly,$required="false",$check,$id,$width,$tip  
  18.     $this->form ."
  19. \n";  
  20.     $this->form .".$title.":\n";  
  21.     $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."\" /> ";  
  22.     $this->form .= " class=\"tip\">".$tip."\n";  
  23.     $this->form ."
  24. \n";  

調(diào)用方法變?yōu)?/strong>

 
 
 
  1. $form->addInput(  
  2.     array(  
  3.         'title' = "編碼",  
  4.         'name' = "field0",  
  5.         'maxlength' = 3,  
  6.         'required' = "true",  
  7.         'width' = 100,  
  8.         'tip' = "提示:編號(hào)為必填項(xiàng),只能填寫(xiě)3位",  
  9.     )  
  10. );  

經(jīng)過(guò)前后PHP函數(shù)參數(shù)傳遞方法的對(duì)比可以發(fā)現(xiàn):

傳統(tǒng)的函數(shù)在需要擴(kuò)展的時(shí)候改動(dòng)量大,使用的時(shí)候必須按參數(shù)的順序?qū)?很容易出錯(cuò).

改進(jìn)后的函數(shù)擴(kuò)展的時(shí)候可以隨時(shí)增加新參數(shù),只需要在調(diào)用時(shí)增加對(duì)應(yīng)的數(shù)組鍵值,每個(gè)參數(shù)都一目了然,無(wú)需考慮順序,代碼可讀性增強(qiáng).

不過(guò)PHP函數(shù)參數(shù)傳遞方法的改進(jìn)還是有缺點(diǎn)的,代碼量增大了,需要程序員多寫(xiě)很多鍵值,還有就是函數(shù)中判斷語(yǔ)句和三元運(yùn)算語(yǔ)句可能會(huì)影響效率.


網(wǎng)站欄目:PHP函數(shù)參數(shù)傳遞方法的具體改進(jìn)技巧分享
網(wǎng)站鏈接:http://www.5511xx.com/article/dpdedsi.html