Say my function want to accept both string and integer. And if it is string, I convert it to int afterwards.
Like
function func(int|string $a) {
echo is_string($a)?intval($a)+1:$a+1;
}
func(1344);
func('1344');
Type hinting is a concept that provides hints to function for the expected data type of arguments. For example, If we want to add an integer while writing the add function, we had mentioned the data type (integer in this case) of the parameter.
In simple word, type hinting means providing hints to function to only accept the given data type. In technical word we can say that Type Hinting is method by which we can force function to accept the desired data type. In PHP, we can use type hinting for Object, Array and callable data type.
The feature you asked for is in the proposal phase. See PHP RFC: Union Types.
Update
Mixed
type has been ultimately accepted and introduced in PHP 8 released in November 2020.
Mixed was accepted for PHP 8.0: https://wiki.php.net/rfc/mixed_type_v2
class B
{
public function foo(mixed $value) {}
}
Union types RFC has been accepted and implemented for PHP 8.
Mixed type RFC is being voted on, but likely to pass at time of writing this answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With