Einführung in die Verwendung von Arrays als Parameter in PHP zur Optimierung der Leistung (Code im Anhang)

不言
Freigeben: 2023-04-03 14:24:02
Original
3077 Leute haben es durchsucht

Wenn wir PHP-Code schreiben, müssen wir möglicherweise häufig den Code aktualisieren und ändern, was nicht nur unsere Arbeitsbelastung erhöht, sondern auch die Leistung unseres gesamten Programms verringert Methode zur Verwendung von Arrays zur Übergabe von PHP-Funktionsparametern, die die Leistung unseres gesamten Programms optimiert.

Verbessern Sie die traditionelle Methode zur Übergabe von PHP-Funktionsparametern, um die Leistung zu optimieren.

Sehen wir uns zunächst eine traditionelle benutzerdefinierte Funktion an:

/**  
* @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";  
}
Nach dem Login kopieren

Dies ist eine Funktion, die ein Textfeld in die von mir geschriebene Formularklasse einfügt.

PHP Die aufrufende Methode der Funktionsparameterübergabe ist

$form->addInput("编码","field0","","text",3,"");
Nach dem Login kopieren

. Zu Beginn waren nur $title, $name, $value, $type, $maxlength, $readonly und andere Parameter reserviert Ich habe festgestellt, dass diese grundlegenden Parameter die Anforderungen nicht erfüllen können. Das Textfeld muss über eine JS-Überprüfung verfügen, CSS-Stile müssen definiert werden, Eingabeaufforderungsinformationen müssen hinzugefügt werden usw.

$required hinzugefügt , $check, $id, $width, $tip usw. Nachdem die Parameter gefunden wurden, stellte sich heraus, dass alle Stellen, an denen diese Funktion zuvor aufgerufen wurde, 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位");
Nach dem Login kopieren

Wenn es viele Orte gibt, an denen diese Funktion verwendet wird, würde es in der Tat lange dauern, sie einzeln zu ändern

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";  
}
Nach dem Login kopieren

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 Login kopieren

, nachdem die Vorher- und Nachher-PHP-Funktionsparameter übergeben wurden. Ein Vergleich der Übertragungsmethoden ist zu finden:

Herkömmliche Funktionen ändern sich stark, wenn sie erweitert werden müssen. Sie müssen in der Reihenfolge der Parameter geschrieben werden, was leicht zu Fehlern führt.

Verbesserte Funktionserweiterung Sie können jederzeit neue Parameter hinzufügen. Sie müssen beim Aufruf nur den entsprechenden Array-Schlüsselwert hinzufügen, ohne die Reihenfolge berücksichtigen zu müssen, und die Lesbarkeit des Codes wird verbessert.

Allerdings wird die PHP-Funktionsparameterübergabe verbessert Die Methode wurde verbessert. Die Menge an Code hat zugenommen, sodass Programmierer viel mehr Schlüsselwerte schreiben müssen, und die Beurteilungsanweisungen und ternären Operationsanweisungen in der Funktion können die Effizienz beeinträchtigen.

Empfohlene verwandte Artikel:

Analyse von Beispielen von PHP-Funktionen und übergebenen Parametern

PHP in Funktionen Weitergabe und Empfang von Parametern im Körper

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Arrays als Parameter in PHP zur Optimierung der Leistung (Code im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage