Type hinting
suggest changeSyntax
- function f(ClassName $param) {}
- function f(bool $param) {}
- function f(int $param) {}
- function f(float $param) {}
- function f(string $param) {}
- function f(self $param) {}
- function f(callable $param) {}
- function f(array $param) {}
- function f(?type_name $param) {}
- function f() : type_name {}
- function f() : void {}
- function f() : ?type_name {}
Remarks
Type hinting or type declarations are a defensive programming practice that ensures a function’s parameters are of a specified type. This is particularly useful when type hinting for an interface because it allows the function to guarantee that a provided parameter will have the same methods as are required in the interface.
Passing the incorrect type to a type hinted function will lead to a fatal error:
Fatal error: Uncaught TypeError: Argument X passed to foo() must be of the type RequiredType, ProvidedType given
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents