PHP typu skalarne i deklaracja typ zwracanej wartości
Skalar deklaracja typu
Domyślnie wszystkie pliki PHP są w trybie słabego typu kontroli.
PHP 7 zwiększa charakterystyczny typ skalarne deklaracją typu skalar ma dwa tryby:
- Tryb zmuszony (domyślnie)
- Tryb Strict
Skalar deklaracja typu składni:
declare(strict_types=1);
Kod Strict_types poprzez podanie wartości (1 lub 0), 1 surowe Tryb typu sprawdzanie, rola wywołania funkcji oraz instrukcja powrotu; 0 oznacza tryb słabego typu kontroli.
Parametr typ może być stosowane to:
int
pływak
bool
sznur
interfejsy
szyk
wywoływalnym
Przykłady trybie egzekucji
Przykłady
// Tryb Enforcement
Suma Funkcja (int ... $ ints)
{
powrót array_sum ($ ints);
}
print (suma (2, '3 ', 4,1));
?>
Wyjście powyżej wykonywanie programu jest:
9
Przykłady parametrów sumarycznych 4 4,1 konwertowana na liczbę całkowitą, a następnie sumowane.
Ścisłe Przykłady Tryb
Przykłady
// Tryb Strict
oświadczam (strict_types = 1);
Suma Funkcja (int ... $ ints)
{
powrót array_sum ($ ints);
}
print (suma (2, '3 ', 4,1));
?>
Powyższy program ze względu na trybie ścisłym, więc jeśli pojawi się źle wpisać całkowitą parametr jest podany, wyjście wykonania jest:
PHP Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
Oświadczenie Zwraca typ
PHP 7 dodaje wsparcie dla deklaracji typu powrót, to wskazuje typ zwracanej deklaracją typu wartości zwracanej przez funkcję.
Można zadeklarować typy zwracane są następujące:
int
pływak
bool
sznur
interfejsy
szyk
wywoływalnym
Przykłady deklaracji typu Return
Przykład, poproszony o powrót do liczby całkowitej:
Przykłady
oświadczam (strict_types = 1);
Funkcja returnIntValue (int $ value): int
{
return $ wartość;
}
print (returnIntValue (5));
?>
Wyjście powyżej wykonywanie programu jest:
5
Przykłady deklaracji błędu zwracany typ Przykłady
<? Php
oświadczam (strict_types = 1);
Funkcja returnIntValue (int $ value): int
{
return $ value + 1,0;
}
print (returnIntValue (5));
?>
Przykłady
oświadczam (strict_types = 1);
Funkcja returnIntValue (int $ value): int
{
return $ value + 1,0;
}
print (returnIntValue (5));
?>
Powyższy program ze względu na trybie ścisłym, zwracana wartość musi być typu int, ale wyniki są float, zostanie ona podana, wyjście wykonania jest:
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...