我在php7中遇到了一个返回类型的问题,特别是"void"。
对于所有其他类型,如int、string、null、bool和类对象,都可以正常工作。
但当我使用void时,它期望我返回一个void对象实例,但实际上它不应该期望任何返回值,因为这就是void的用途。
注意:我正在运行PHP 7.0.3
以下是代码:
public static function setResponseCode(int $code) : void
{
http_response_code($code);
}
错误信息如下:
Uncaught TypeError: CodeBase\HttpRequester::setResponseCode() 的返回值必须是 void 实例,在 /var/www/html/src/HttpRequester.php 的第 86 行,堆栈跟踪:#0 /var/www/html/index.php(103): CodeBase\HttpRequester::setResponseCode(500) #1 {main} 引发了异常 in /var/www/html/src/HttpRequester.php on line 86
return;
。由于http_response_code
返回一个值,可能会混淆并认为结果已经被返回了。 - RiggsFollyhttp_response_code();
是可以的,你并没有返回它是什么。 - Andrea