Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
新对象如何在最新版本的PHP中工作_Php_Type Hinting_Php 7.2_Static Typing - Fatal编程技术网

新对象如何在最新版本的PHP中工作

新对象如何在最新版本的PHP中工作,php,type-hinting,php-7.2,static-typing,Php,Type Hinting,Php 7.2,Static Typing,根据PHP7.2文档 引入了一种新类型object,可用于任何对象的逆变参数类型和协变返回类型 下面给出了一个例子 <?php function test(object $obj) : object { return new SplQueue(); } test(new StdClass()); 有人能详细说明什么是逆变参数和协变返回类型,以及这个新对象是如何工作的吗。如您的示例所示 否则就需要: <?php function test(StdClass $obj) :

根据PHP7.2文档

引入了一种新类型object,可用于任何对象的逆变参数类型和协变返回类型

下面给出了一个例子

<?php

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

test(new StdClass());
有人能详细说明什么是逆变参数和协变返回类型,以及这个新对象是如何工作的吗。如您的示例所示

否则就需要:

<?php

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

test(new StdClass());