Maison > développement back-end > tutoriel php > Conseils pratiques pour optimiser le passage des paramètres de fonction PHP

Conseils pratiques pour optimiser le passage des paramètres de fonction PHP

伊谢尔伦
Libérer: 2023-03-11 14:22:01
original
1391 Les gens l'ont consulté

Lorsque nous écrivons du code PHP, nous devons souvent effectuer plusieurs mises à niveau et modifications du code. Une telle modification constante et répétée des paramètres réduira les performances de l'ensemble de notre programme et augmentera considérablement la charge de travail. Aujourd'hui, nous allons vous présenter comment utiliser des tableaux pour transmettre des paramètres de fonction PHP  :

Examinons d'abord une fonction personnalisée traditionnelle

/**  
* @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";  
}
Copier après la connexion

La méthode d'appel de la méthode de passage des paramètres de fonction PHP est

$form->addInput("编码","field0","","text",3,"");
Copier après la connexion

Au début, seuls $title, $name, $value, $type, $maxlength, $readonly et d'autres paramètres sont réservés. Après avoir utilisé le temps, j'ai constaté que ces paramètres de base ne pouvaient pas répondre aux besoins. La zone de texte nécessite une vérification js, le style CSS doit être défini, des informations d'invite doivent être ajoutées, etc...

Ajouté. $required, $check, $id, $ Après des paramètres tels que width, $tip, etc., il a été constaté que tous les appels précédents à cette fonction devaient être modifiés, ce qui augmentait beaucoup de travail

. La méthode d'appel de la méthode de passage des paramètres de la fonction PHP est devenue

$form->addInput("编码","field0","","text",3,"","true",""
,"",100,"提示:编号为必填项,只能填写3位");
Copier après la connexion

Voici la fonction améliorée

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";  
}
Copier après la connexion

La méthode d'appel devient

$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位",  
    )  
);
Copier après la connexion

Après comparaison le paramètre de fonction PHP passant les méthodes avant et après, on peut le trouver :

La fonction traditionnelle est dans Lorsqu'elle doit être développée, la quantité de modifications est importante Lorsque vous l'utilisez, vous devez l'écrire dans le. ordre des paramètres, ce qui est facile de faire des erreurs.

Lorsque la fonction améliorée est développée, de nouveaux paramètres peuvent être ajoutés à tout moment. Il vous suffit d'ajouter le tableau correspondant lors de l'appel. Les paramètres sont clairs en un coup d'œil, sans avoir à considérer l'ordre, et la lisibilité du code est améliorée

Cependant, l'amélioration de la méthode de passage des paramètres de fonction PHP présente encore des lacunes. , obligeant les programmeurs à écrire beaucoup plus de valeurs clés, ainsi que des instructions de jugement et des opérations ternaires dans les fonctions peuvent affecter l'efficacité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal