У меня проблема с возвращаемыми типами в php7, особенно «void».php7 void return type не работает?
работает со всеми другими типами: int, string, null, bool, class objects.
но когда я использую void, он ожидает, что я верну экземпляр объекта void, но на самом деле он не должен ожидать никакого возврата, как то, для чего нужен пустота.
примечание: Я бегу PHP 7.0.3
вот код:
public static function setResponseCode(int $code) : void
{
http_response_code($code);
}
и сообщение об ошибке:
Uncaught TypeError: Return value of CodeBase\HttpRequester::setResponseCode() must be an instance of void, none returned in /var/www/html/src/HttpRequester.php:86 Stack trace: #0 /var/www/html/index.php(103): CodeBase\HttpRequester::setResponseCode(500) #1 {main} thrown in /var/www/html/src/HttpRequester.php on line 86
Try добавление '' возврат; который действителен.Поскольку 'http_response_code' возвращает значение, может быть, он путается и думает, что результат возвращается – RiggsFolly
@RiggsFolly или, возможно, нет такой вещи (пока) как тип возврата void :) – PeeHaa
@PeeHaa Ах, да, забыл, что я читал RFC Docs – RiggsFolly