我正在对一个接受可变数量参数的 API 方法进行编程。API 方法(见下文)使用 func_get_args。我正在包装 API,并且希望能够传递关联数组,而不是将数组的键/值作为参数传递;IEfilter(key1,value1,key2,value2 ...)
我可以访问 API 的源代码,但遗憾的是我无法更改源代码。
我看过call_user_func_array,我认为应该/将把数组作为一组参数传递(尽管不是关联数组)。 filter
是对象的方法 - 我不知道如何将方法作为回调传递。我也不知道是否有一种干净的方法来包装这个 API。任何和所有的帮助表示赞赏。
<?php
public function &filter() {
$filter = new QueryFilter($this->queryhandler, $this);
$args = func_get_args();
$filter->applyFilter($this->getFilters($args));
return $filter;
}