在PHP中针对变量的单个类型声明,可以通过在类型前添加问号(?)来标记该变量的值可为null。
下面通过代码片段演示具体应用场景:
class Order {
}
function orderFactory(?Order $order) {
var_dump($order);
}
orderFactory(new Order); // 执行结果:object(Order)[1]
orderFactory(null); // 执行结果:null
function get_item(): ?string {
if (isset($_GET['item'])) {
return $_GET['item'];
} else {
return null;
}
}