PHP コードを作成するとき、コードのアップグレードや変更が必要になることがよくあります。このような頻繁な操作は作業負荷を増大させるだけでなく、プログラム全体のパフォーマンスも低下させます。そのため、この記事では以下の内容を共有します。配列を使用して 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関数内 本体内でのパラメータの受け渡し以上がPHP で配列をパラメータとして使用してパフォーマンスを最適化する方法の紹介 (コードは添付されています)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。