假设我有几个带有方法的类
public function foo (int $a, int $b, ..) {..}
其中参数的数量取决于特定的类(但对于特定的类是固定的)。
有没有办法将这样的方法放在接口中,以便我的所有类都可以实现该接口?
我不认为变量可以在这里提供帮助,因为我需要将所有foo
实现定义为
public function foo(int ...$ints) {..}
丢失了有关特定类需要多少参数的信息。
可以使用任何技巧吗?
P.S。我真的想避免异常,所以我不能检查参数的数量是否与编程匹配
答案 0 :(得分:0)
如果不使用func_num_args
或count($ints)
之类的内容并在失败时抛出异常,则无法实现这一目标。
这似乎也是一个潜在的设计缺陷。
如果你真的需要一个接口而你的参数是一组值,我真的建议接收一个数组并检查该数组中项目的数量和类型。
答案 1 :(得分:-1)
如果参数不同,虽然方法的名称相同,但它不是同一个接口。这很简单。
你正试图在方孔中放一个圆钉。