本篇內(nèi)容介紹了“PHP函數(shù)參數(shù)傳遞方法怎么改進”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站是專業(yè)的韶關(guān)網(wǎng)站建設(shè)公司,韶關(guān)接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行韶關(guān)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
當(dāng)我們在寫PHP代碼的時候,經(jīng)常會需要對代碼進行多次的升級更改等,這樣來回不斷的重復(fù)修改參數(shù),會使我們的整個程序性能降低,并增加了不少的工作量。我們今天就為大家介紹一下是使用數(shù)組進行PHP函數(shù)參數(shù)傳遞方法的趕緊。
本人在經(jīng)歷了多次重復(fù)操作之后決定改進一下傳統(tǒng)PHP函數(shù)參數(shù)傳遞方法,使用數(shù)組作為參數(shù),請看下面的例子.
先看一個傳統(tǒng)的自定義函數(shù)
/**
* @Purpose: 插入文本域
* @Method Name: addInput()
* @Parameter: str $title 表單項標(biāo)題
* @Parameter: str $name 元素名稱
* @Parameter: str $value 默認(rèn)值
* @Parameter: str $type 類型,默認(rèn)為text,可選password
* @Parameter: str $maxlength 最長輸入
* @Parameter: str $readonly 只讀
* @Parameter: str $required 是否必填,默認(rèn)為false,true為必填
* @Parameter: str $check 表單驗證function(js)名稱
* @Parameter: str $id 元素id,無特殊需要時省略
* @Parameter: int $width 元素寬度,單位:象素
* @Parameter: str $tip 元素提示信息
* @Return:
*/
function addInput($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";
}
這是我寫的表單類中一個插入文本框的函數(shù).
PHP函數(shù)參數(shù)傳遞方法的調(diào)用方法為
$form->addInput("編碼","field0","","text",3,"");
在開始的時候只預(yù)留了$title,$name,$value,$type,$maxlength,$readonly等參數(shù),經(jīng)過一段時間的使用,發(fā)現(xiàn)這些基本參數(shù)無法滿足需求,文本框需要有js驗證,需要定義CSS樣式,需要增加提示信息等...
增加了$required,$check,$id,$width,$tip等參數(shù)之后發(fā)現(xiàn)以前所有調(diào)用此函數(shù)的地方都需要修改,增加了很多工作量.
PHP函數(shù)參數(shù)傳遞方法的調(diào)用方法變成
$form->addInput("編碼","field0","","text",3,"","true",""
,"",100,"提示:編號為必填項,只能填寫3位");
如果使用這個函數(shù)的地方很多的話一個一個改確實需要很長時間.
下面是我改進之后的函數(shù)
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"; }
調(diào)用方法變?yōu)?/strong>
$form->addInput( array( 'title' = "編碼", 'name' = "field0", 'maxlength' = 3, 'required' = "true", 'width' = 100, 'tip' = "提示:編號為必填項,只能填寫3位", ) );
經(jīng)過前后PHP函數(shù)參數(shù)傳遞方法的對比可以發(fā)現(xiàn):
傳統(tǒng)的函數(shù)在需要擴展的時候改動量大,使用的時候必須按參數(shù)的順序?qū)?很容易出錯.
改進后的函數(shù)擴展的時候可以隨時增加新參數(shù),只需要在調(diào)用時增加對應(yīng)的數(shù)組鍵值,每個參數(shù)都一目了然,無需考慮順序,代碼可讀性增強.
不過PHP函數(shù)參數(shù)傳遞方法的改進還是有缺點的,代碼量增大了,需要程序員多寫很多鍵值,還有就是函數(shù)中判斷語句和三元運算語句可能會影響效率.
“PHP函數(shù)參數(shù)傳遞方法怎么改進”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
分享名稱:PHP函數(shù)參數(shù)傳遞方法怎么改進
標(biāo)題URL:http://aaarwkj.com/article34/igoope.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、面包屑導(dǎo)航、手機網(wǎng)站建設(shè)、外貿(mào)建站、電子商務(wù)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)