types — PHP TypeError: Параметр должен быть экземпляром lib \ util \ mixed, задана строка

В моем PHP-файле я создал функцию с параметром, который может быть любого типа. Из-за этого я объявил этот параметр как mixed, Кажется mixed тип связан с расположением папки, куда направляется класс; lib\util, Ошибка говорит instance of lib\util\mixed,

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

В тот момент, когда я вызываю этот метод, используя строку, возникает ошибка TypeError.

Аргумент 2, передаваемый в lib \ util \ Class :: function (), должен быть экземпляром lib \ util \ mixed, задана строка

Переименование типа из mixed в string работает, но и другие типы приветствуются.

0

Решение

mixed недопустимый тип для подсказок в PHP. Действительные типы перечислены здесь: http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration

Слегка загадочное сообщение об ошибке объясняется тем, что PHP предполагает, что вы пытаетесь ограничить тип классом в вашем пространстве имен: lib\util\mixed,

Если вы не хотите ограничивать тип, просто не добавляйте подсказку типа.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]