PHP - 将参数作为其他方法的参数的方法

时间:2015-04-09 07:51:15

标签: php doctrine-orm

我试图从这个方法得到结果(第一个参数是服务名称,第二个是带有自己参数的方法):

$userFacade->getSet('users', 'findBy([], [\'id\' => \'DESC\'])')

这是getSet方法:

public function getSet($service, $function)
{
    return new Set($this->$service->getRepository()->$function);
}

我想要实现的只是让编写存储库函数的调用更容易。我还没有找到任何有用的东西,因为我不知道要搜索的正确术语(如果有的话)。我只是想知道它是否可能(如何?)或不是(好的......)。

现在我收到一个错误:

Cannot read an undeclared property EntityRepository::$findBy([], ['id' => 'DESC'])

1 个答案:

答案 0 :(得分:1)

也许是这样的:

$userFacade->getSet('users', 'findBy', [], ['id' => 'DESC']);

public function getSet($service, $function, ...$args) {
    return new Set($this->$service->getRepository()->$function($args));
}

使用新的PHP 5.6 variadics