从不

never 是一种仅返回值类型,指示函数不会终止。这意味着它要么调用 exit(),要么抛出异常,要么是无限循环。因此,它不能是 联合类型 声明的一部分。自 PHP 8.1.0 起可用。

never 在类型论中被称为底类型。这意味着它是所有其他类型的子类型,可以在继承期间替换任何其他返回值类型。

添加注释

用户贡献注释 2 个注释

ali1289445 at gmail dot com
1 年前
<?php

function sayHello(string $name): never
{
echo
"Hello, $name";
exit();
// 如果我们注释掉这一行,php 会抛出致命错误
}

sayHello("John"); // 结果:"Hello, John"
mateusz dot charytoniuk at protonmail dot com
1 年前
覆盖本机接口的返回值类型

<?php

class ReadonlyArrayAccess implements ArrayAccess
{
public function
__construct(private readonly $array) {}

public function
offsetExists(mixed $offset): bool
{
return isset(
$this->array[$offset]);
}

public function
offsetGet(mixed $offset): mixed
{
return
$this->array[$offset];
}

public function
offsetSet(mixed $offset, mixed $value): never
{
throw new
LogicException('This array is read only');
}

public function
offsetUnset(mixed $offset): never
{
throw new
LogicException('This array is read only');
}
}
To Top