Heim  >  Artikel  >  Backend-Entwicklung  >  Praktische Tipps zur Optimierung der Übergabe von PHP-Funktionsparametern

Praktische Tipps zur Optimierung der Übergabe von PHP-Funktionsparametern

伊谢尔伦
伊谢尔伦Original
2017-06-26 14:13:351308Durchsuche

Wenn wir PHP-Code schreiben, müssen wir häufig mehrere Upgrades und Änderungen am Code vornehmen. Eine solche ständige und wiederholte Änderung der Parameter verringert die Leistung unseres gesamten Programms und erhöht die Arbeitsbelastung. Heute stellen wir Ihnen vor, wie Sie Arrays verwenden, um PHP-Funktionsparameter zu übergeben:

Schauen wir uns zunächst eine traditionelle benutzerdefinierte Funktion

/**  
* @Purpose:     插入文本域  
* @Method Name: addInput()  
* @Parameter:    str $title        表单项标题  
* @Parameter:    str $name        元素名称  
* @Parameter:    str $value        默认值  
* @Parameter:    str $type        类型,默认为text,可选password  
* @Parameter:    str $maxlength        最长输入  
* @Parameter:    str $readonly        只读  
* @Parameter:    str $required        是否必填,默认为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";  
}
Die aufrufende Methode der PHP-Funktionsparameterübergabe ist

$form->addInput("编码","field0","","text",3,"");
. Zu Beginn sind nur $title, $name, $value, $type, $maxlength, $readonly und andere Parameter reserviert Nach einiger Zeit habe ich festgestellt, dass diese grundlegenden Parameter die Anforderungen nicht erfüllen können. Das Textfeld muss js überprüft werden, der CSS-Stil muss definiert werden, Eingabeaufforderungsinformationen müssen hinzugefügt werden usw.

Hinzugefügt $required, $check, $id, $ After-Parameter wie width, $tip usw. Es wurde festgestellt, dass alle vorherigen Aufrufe dieser Funktion geändert werden mussten, was viel Arbeit verursachte

Die aufrufende Methode der PHP-Funktionsparameterübergabemethode wurde zu

$form->addInput("编码","field0","","text",3,"","true",""
,"",100,"提示:编号为必填项,只能填写3位");
Das Folgende ist die verbesserte Funktion

function addInput($a)  
{  
    if(is_array($a))  
    {  
        $title        = $a[&#39;title&#39;];  
        $name        = $a[&#39;name&#39;];  
        $value        = $a[&#39;value&#39;] ? $a[&#39;value&#39;] : "";  
        $type        = $a[&#39;type&#39;] ? $a[&#39;type&#39;] : "text";  
        $maxlength    = $a[&#39;maxlength&#39;] ? $a[&#39;maxlength&#39;] : "255";  
        $readonly    = $a[&#39;readonly&#39;] ? $a[&#39;readonly&#39;] : "";  
        $required    = $a[&#39;required&#39;] ? $a[&#39;required&#39;] : "false";  
        $check        = $a[&#39;check&#39;];  
        $id        = $a[&#39;id&#39;];  
        $width        = $a[&#39;width&#39;];  
        $tip        = $a[&#39;tip&#39;];  
    }  
    $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";  
}
Die aufrufende Methode wird zu

$form->addInput(  
    array(  
        &#39;title&#39; = "编码",  
        &#39;name&#39; = "field0",  
        &#39;maxlength&#39; = 3,  
        &#39;required&#39; = "true",  
        &#39;width&#39; = 100,  
        &#39;tip&#39; = "提示:编号为必填项,只能填写3位",  
    )  
);
Nach dem Vergleich Die PHP-Funktionsparameterübergabemethoden davor und danach finden sich wie folgt:

Die traditionelle Funktion ist in Wenn sie erweitert werden muss, ist die Menge an Änderungen groß. Wenn Sie sie verwenden, müssen Sie sie in schreiben Die Reihenfolge der Parameter ist leicht zu verwechseln.

Wenn die verbesserte Funktion erweitert wird, müssen Sie beim Aufrufen nur den entsprechenden Schlüsselwert hinzufügen Parameter sind auf einen Blick klar, ohne dass die Reihenfolge berücksichtigt werden muss, und die Lesbarkeit des Codes wird verbessert

Die Verbesserung der PHP-Funktionsparameterübergabemethode weist jedoch immer noch Mängel auf Dies erfordert, dass Programmierer viel mehr Schlüsselwerte schreiben müssen, sowie die

Urteilsanweisung und die ternäre Operation-Anweisung in der Funktion, die sich auf die Effizienz auswirken kann.

Das obige ist der detaillierte Inhalt vonPraktische Tipps zur Optimierung der Übergabe von PHP-Funktionsparametern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn