使用函数编程实践

luq*_*ita 8 php methodology class function

我有一个函数返回一个整数,但我想扩展它以添加一个新的参数.但是,使用此参数,函数必须返回一个数组.

  • 有一个函数返回基于param的数组或整数是不好的做法吗?
  • 如果是这样,我该如何解决?

我认为将4-5个额外行复制粘贴整个函数也是不好的做法.

adl*_*son 6

如果可能的话,我会从另一个中调用一个函数.

function getSingle($arg)
{
    // Do whatever it is your function should do...
    return 1;
}

function getMultiple($args)
{
    $out = array();
    foreach ($args as $arg) {
        $out[] = getSingle($arg);
    }

    return $out;
}
Run Code Online (Sandbox Code Playgroud)

对于您的功能,可能无法做到这一点,但它可能是一个不错的选择.


作为额外的注释,由于函数彼此相关,我会将它们编写为类方法以将它们"组合"在一起.

就拿Users例如; 我可能需要一个函数来获取单个用户,而另一个用户可以获得多个用户.在类中收集这些方法是有意义的:

class Users
{
    public function getUser($id){}

    public function getUsers(array $id = null){}
}
Run Code Online (Sandbox Code Playgroud)