PHP TypeError: Parameter must be an instance of lib\util\mixed, string given

PHP TypeError: Parameter must be an instance of lib\util\mixed, string given

在我的 PHP 文件中,我创建了一个函数,其参数可以是任何类型。因此,我将此参数声明为mixedmixed 类型似乎链接到 class 所在的文件夹位置; lib\util。错误显示 instance of lib\util\mixed.

protected function curlSetOpt(int $param1, mixed $param2): bool
{
    return anotherFunction($this->variable, $param1, $param2);
}

当我使用字符串调用此方法时,发生了 TypeError。

Argument 2 passed to lib\util\Class::function() must be an instance of lib\util\mixed, string given

将类型从 mixed 重命名为 string 可行,但也欢迎使用其他类型。

mixed 不是 PHP 中的有效提示类型。此处列出了有效类型:http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration

略显神秘的错误消息是因为 PHP 假设您正在尝试将类型限制为您的命名空间中的 class:lib\util\mixed.

如果你不想限制类型,就不要添加类型提示。