In PHP7, we can now declare the type of parameters being passed to a function. They could be only user defined classes in previous versions, but now they can be scalar types as well. By scalar type, we mean basic primitive types, such as int, string, and float.
Previously, to validate an argument passed to a function, we needed to use some sort of if-else. So, we used to do something like this:
<?php
function add($num1, $num2){
if (!is_int($num1)){
throw new Exception("$num1 is not an integer");
}
if (!is_int($num2)){
throw new Exception("$num2 is not an integer");
}
return ($num1+$num2);
}
echo add(2,4); // 6
echo add(1.5,4); //Fatal error: Uncaught Exception: 1.5 is not an integer
Here we used if to make sure that the type of the variables $num1 and $num2 is int, otherwise we are throwing an exception...