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 함수 매개변수 전달 방식의 개선은 여전히 단점이 있으며, 코드의 양이 많아져 프로그래머가 더 많은 키 값을 작성해야 하고,판단문도 있습니다. function 및 삼항 연산 문은 효율성에 영향을 미칠 수 있습니다.
위 내용은 PHP 함수 매개변수 전달을 최적화하는 방법에 대한 실용적인 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!