PHP 7 - Déclarations de type scalaire

En PHP 7, une nouvelle fonctionnalité, les déclarations de type Scalar, a été introduite. La déclaration de type scalaire a deux options -

  • coercive - coercitif est le mode par défaut et n'a pas besoin d'être spécifié.

  • strict - Le mode strict doit être explicitement indiqué.

Les types suivants de paramètres de fonction peuvent être appliqués en utilisant les modes ci-dessus -

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable

Exemple - Mode coercitif

<?php
   // Coercive mode
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

Il produit la sortie de navigateur suivante -

9

Exemple - Mode strict

<?php
   // Strict mode
   declare(strict_types=1);
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

Il produit la sortie de navigateur suivante -

Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...