PHP 7 – what’s new – III

Spread the love

Dichiarazioni di tipo ritornato da una funzione

Dal PHP7 è possibile specificare il tipo di ritorno di una funzione, cioè qual è il tipo della variabile ritornata da una funzione. I tipi disponibili sono i quattro riportati nell’articolo precedente (int, string, float, bool).

// 6.php

function sum(array $array): int {
    return array_sum($array);
}

$s = sum([1,2,3]);
echo gettype($s) .": ".$s . "\n";

Output:

$ php 6.php 
integer: 6

A cosa ci serve dichiarare il tipo di ritorno? Per tutti i linguaggi è normale farlo e il compilatore stesso può dare indicazioni se c’è qualche incoerenza di tipo. PHP consente di farlo e il funzionamento può essere utilizzato per imporre un uso di tipi più controllato di quanto un programmatore PHP sia abituato a fare. Ad esempio possiamo definire la funzione div():

// 6.1.php

function div(int $a, $b): int {
    return $a / $b;
}

$s = div(1,2);
echo gettype($s) .": ".$s . "\n";

Output:

$ php 6.1.php 
integer: 0

Ma possiamo anche definire diversamente il tipo di ritorno:

// 6.2.php

function div(int $a, $b): float {
    return $a / $b;
}

$s = div(1,2);
echo gettype($s) .": ".$s . "\n";

nel qual caso ho un diverso comportamento

$ php 6.2.php 
double: 0.5

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.