TIPADO EN PHP: TIPOS, DECLARACIONES Y BUENAS PRÁCTICAS

Una de las grandes desventajas que tenía php era el tipado. Pero con la nueva versión 7 parece que que lo han arreglado usando declare(strict_types=1);. Con el siguiente ejemplo se va a ve bastante sencillo:
$a='1'; // string
$b=2; //integer
function FunctionName (int $a, int $b){
     return $a + $b;
}
echo FunctionName ($a, $b);
En el ejemplo anerior no se va a producir ningún error pero si al ejemplo le añadimos "declare(strict_types=1);" la cosa cambia se producirá un error.

declare(strict_types=1);
$a='1'; // string
$b=2; //integer
function FunctionName (int $a, int $b){
     return $a + $b;
}
echo FunctionName ($a, $b);
Una observación sobre "declare(strict_types=1);" es que solo funciona en el fichero en el que se inicia, en el resto no lo hará y habría que hacerlo en cada uno de los ficheros del proyecto.