php laravel declare(strict_types=1); code example

Example: php declare(strict_types=1)

"Strict types" mode only checks types at specific points in the code; it does not track everything that happens to the variable.

Specifically, it checks:

the parameters given to the function, if type hints are included in the signature; here you are giving two ints to a function expecting two ints, so there is no error
the return value of the function, if a return type hint is included in the signature; here you have no type hint, but if you had a hint of : int, there would still be no error, because the result of $a + $b + $c is indeed an int.
Here are some examples that do give errors:

declare(strict_types=1);
$a = '1';
$b = '2';
function FunctionName(int $a, int $b)
{
    return $a + $b;
}
echo FunctionName($a, $b);

Tags:

Php Example