直接引用函数中的参数

时间:2010-10-12 16:12:47

标签: php

我正在尝试编辑开发公司编写的一段代码,该代码使用了以下构造:

$dbcol = grabdata($strSqlB,'','','','','','',2);

真的没有更简单的方法吗?代码完全不可读。

我原以为以下方法可行,并且可读性很好:

$vars = array("parameter1" => $strSqlB, "parameter7" => 2);
$dbcol = grabdata($vars);

是否有任何需要在函数本身中重构才能使其工作?我们还能做些什么聪明的事情来减少群集迷恋吗?

3 个答案:

答案 0 :(得分:1)

你必须重构这部分:

function  grabdata($parameter1, $parameter2,$parameter3,$parameter4,$parameter5,$parameter6,$parameter7){

function  grabdata($vars){
extract($vars);

这两个片段应该完全相同IF $ vars就像你在问题中描述的那样

答案 1 :(得分:1)

重建你的params以接受null。

function grabdata($strSqlB , $param7 , $param1 = null , $param2 = null , ....){
   //Code
}

//Exec
$dbcol = grabdata($strSqlB , $param7);

答案 2 :(得分:0)

重构是必要的,因为函数需要通过适当的键引用参数数组,而不是通过特定的参数变量引用引用参数数组。关于你可以做些什么来进一步重构,我必须更多地了解函数本身。