Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]PHP 7.1 wartość domyślna null a definicja typu
viking
post
Post #1





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Ja mam już jakieś zaćmienie po całym dniu czy coś z tym kodem jest nie tak? Testowane na 7.1.0.

  1. function testReturn(string $test=null): ?string
  2. {
  3. return null;
  4. }
  5.  
  6. var_dump(testReturn(null));


Powinno sypnąć błędem i przyjąć jako wartość domyślną tylko stringa. Dopiero z definicją ?string $test=null akceptować też nulla.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A czy ja mówiłem że zezwalam? Programista miał gorszy dzień, natłok zajęć i pomylił się, z rozpędu wpisał w kodzie jako wartość domyślną null chociaż powinien być string/int cokolwiek. Inny programista nie zauważył, przekazał z bazy null i błędy się nawarstwiają. To jest logiczne? Ta wartość domyślna ustawiona na null zgodnie z dokumentacją:
"The declaration can be made to accept NULL values if the default value of the parameter is set to NULL" wynika tylko i wyłącznie z ograniczeń PHP przed wersją 7.1. Śpieszyli się tak bardzo z wydaniem 7.0 że nie zapewnili podstawowych możliwości - nullable type, void.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 09:27