Mam problem z typami zwracania w php7, szczególnie "void".php7 void return type nie działa?
Działa z wszystkimi innymi typami, int, string, null, bool, class objects.
, ale gdy używam pustki oczekuję, że zwrócę instancję obiektu, ale w rzeczywistości nie powinien oczekiwać żadnego zwrotu, ponieważ to, za co jest pustka.
uwaga: Używam PHP 7.0.3
oto kod:
public static function setResponseCode(int $code) : void
{
http_response_code($code);
}
i komunikat o błędzie:
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
Spróbuj dodać '' return; co jest ważne.Ponieważ 'http_response_code' zwraca wartość, może się myli i myśli, że wynik jest zwracany – RiggsFolly
@RiggsFolly lub może nie ma czegoś takiego (jeszcze) jako nieważny typ zwrotu :) – PeeHaa
@PeeHaa Ah tak zapomniałem Czytałem Dokumenty RFC – RiggsFolly