php 可以有混合类型提示吗?
Can php have a mixed type hinting?
假设我的函数想要同时接受字符串和整数。如果它是字符串,我之后将其转换为 int。
喜欢
function func(int|string $a) {
echo is_string($a)?intval($a)+1:$a+1;
}
func(1344);
func('1344');
您要求的功能正处于提案阶段。参见 PHP RFC: Union Types。
更新
Mixed
类型最终被接受并在 2020 年 11 月发布的 PHP 8 中引入。
联合类型 RFC 已被接受并为 PHP 8 实施。
混合类型 RFC 正在投票中,但在撰写此答案时可能会通过。
PHP 8.0 接受了混合:https://wiki.php.net/rfc/mixed_type_v2
class B
{
public function foo(mixed $value) {}
}
假设我的函数想要同时接受字符串和整数。如果它是字符串,我之后将其转换为 int。
喜欢
function func(int|string $a) {
echo is_string($a)?intval($a)+1:$a+1;
}
func(1344);
func('1344');
您要求的功能正处于提案阶段。参见 PHP RFC: Union Types。
更新
Mixed
类型最终被接受并在 2020 年 11 月发布的 PHP 8 中引入。
联合类型 RFC 已被接受并为 PHP 8 实施。
混合类型 RFC 正在投票中,但在撰写此答案时可能会通过。
PHP 8.0 接受了混合:https://wiki.php.net/rfc/mixed_type_v2
class B
{
public function foo(mixed $value) {}
}