PHP コードを作成するとき、コードに対して複数のアップグレードや変更を行う必要があることがよくありますが、このようなパラメーターの変更を継続的に繰り返すと、プログラム全体のパフォーマンスが低下し、作業負荷が増加します。今日は、配列を使用して PHP 関数のパラメーターを渡す方法を紹介します :
まず伝統的な カスタム関数を見てみましょう
/** * @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"; }
PHP 関数のパラメーターを渡すメソッドの呼び出しメソッドは、最初に
$form->addInput("编码","field0","","text",3,"");
です$title、$name、$value、$type、$maxlength、$readonly およびその他のパラメーターのみが予約されています。一定期間使用した後、これらの基本パラメーターは JS 検証と CSS を必要としないことが判明しました。スタイルを定義する必要があります。プロンプト情報を追加する必要があります...
$required、$check、$id、$width、$tip およびその他のパラメーターを追加した後、この関数に対する以前のすべての呼び出しを変更する必要があることがわかりました。
PHP 関数パラメータ引き渡しメソッドの呼び出しメソッドは
$form->addInput("编码","field0","","text",3,"","true","" ,"",100,"提示:编号为必填项,只能填写3位");
になります 以下は改良された関数です
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"; }
呼び出しメソッドは
$form->addInput( array( 'title' = "编码", 'name' = "field0", 'maxlength' = 3, 'required' = "true", 'width' = 100, 'tip' = "提示:编号为必填项,只能填写3位", ) );
になります 以前とPHP関数パラメータ引き継ぎメソッドを比較すると、
従来の関数を拡張する必要がある場合 変更量が多い場合、パラメータの順序で記述する必要があり、間違いが発生しやすい場合
改良された機能が拡張され、呼び出し時に対応する配列キー値を追加するだけでいつでも新しいパラメータを追加でき、各パラメータが一目でわかるため、順序や可読性を考慮する必要がありません。コードは強化されました
しかし、PHP関数のパラメータの受け渡し方法の改善にはまだ欠点があり、プログラマがより多くのキー値を記述する必要があり、関数内に判定文が含まれています。 三項演算ステートメントは効率に影響を与える可能性があります。
以上がPHP 関数パラメータの受け渡しを最適化する方法に関する実践的なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。