我遇到了PHP代码,其中包含奇怪的问号运算符。由于代码本身在该部分上没有任何注释,因此我尝试在Google上进行搜索,但未成功。
我感兴趣的代码如下:
<?php
class Cart
{
private $_user;
private $_items = [];
public function __construct(?User $user)
{
$this->_user = $user;
}
public function getUser(): ?User
{
return $this->_user;
}
我的第一个想法是类型提示,它是PHP 7中引入的,但事实并非如此,也不是严格的类型声明。我不知道这是什么。你能帮我吗?
答案 0 :(得分:1)
http://php.net/manual/en/migration71.new-features.php
现在,可以通过在类型名称前加上问号来将用于参数和返回值的类型声明标记为可为空。这表示与指定的类型一样,NULL可以分别作为参数传递或作为值返回。
答案 1 :(得分:0)
这意味着您的参数或返回值可以为空。
PHP 7.1引入了它:http://php.net/manual/en/migration71.new-features.php