подсказка типа — Как новый объект работает в последней версии Stack Overflow

Согласно документации PHP 7.2

Был введен новый тип, object, который можно использовать для (контравариантной) типизации параметров и (ковариантной) возвращаемой типизации любых объектов.

И следующий пример был приведен

<?php

function test(object $obj) : object
{
return new SplQueue();
}

test(new StdClass());

Может кто-нибудь уточнить, что подразумевается под контравариантным параметром и ковариантным типом возврата и как работает этот новый объект

0

Решение

object в обоих местах вашего кода может возвращаться универсальный объект, т. е. экземпляр любого типа. (как показано в вашем примере)

Иначе это должно быть:

<?php

function test(StdClass $obj) : SplQueue
{
return new SplQueue();
}

test(new StdClass());
-1

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

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

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