8. DÉCLARATION DE TYPES SCALAIRES
Déjà en PHP 5 : classes, interfaces, tableaux, callable
Ajout des scalaires : bool, string, int, float
9. TYPAGE STRICT
Le mode Coercitif (par défaut) tentera une
conversion
Le mode Strict lèvera une exception
Comment passer en mode strict ?
declare(strict_types=1);
10. DÉCLARATION DE TYPES : EXEMPLE
function somme(int $a, int $b) {
return $a + $b;
}
$total = somme(1, 2); // 3
$total = somme('1', 2); // coercitif: 3 ('1' est converti en int)
$total = somme('1', 2); // strict: EXCEPTION (Uncaught TypeError)
11. DÉCLARATION DE TYPES : RETURN
Le type renvoyé par une fonction peut aussi être défini !
function somme(int $a, int $b) : int {
return $a + $b;
}
12. CLASSES ANONYMES
Même principe que les Fonctions anonymes (closures)
function createDog() {
return new class {
public function bark() {
echo "WAF !";
}
};
}
$medor = createDog();
$medor>bark(); // "WAF !"
14. OPÉRATEUR : SPACESHIP
<=>
Comparaison ternaire :
$a et $b sont égaux,
ou $a est plus grand,
ou $b est plus
grand.
echo 12 <=> 17; // 1 car $a < $b
echo 17 <=> 12; // 1 car $a > $b
echo 12 <=> 12; // 0 car $a == $b
15. MERCI !
Didier SAMPAOLO
Consultant technique senior freelance
- Ma société :
- Sur Twitter :
- à voir aussi :
Ca vous a plu ?
Didcode
@dsampaolo
Didlinks