可能需要多种类型的函数参数?

时间:2015-04-04 19:25:48

标签: php

我有以下PHP代码:

protected $number;

public function setIntNumber( int $number ) { /* some operations */ }
public function setFloatNumber( float $number ) { /* the same operations */ }

$number只能存储int或float值。我想将这两个函数合并为一个,但主要条件是其他程序员不能输入除int或float之外的其他参数。我需要这样的东西:

public function setNumber( (int|float) $number ) { /* operations */ }

在声明我的功能时可以完全吗?

1 个答案:

答案 0 :(得分:1)

来自manual

  

类型提示不能与标量类型一起使用,例如 int 或字符串。   资源和特征也是不允许的。

即使您可以使用这些类型,也无法使用多个类型。您可以做的最好的事情是检查方法顶部的值并抛出异常。