PHP is a loose typed language. This means that it is not required to declare types of variables and function arguments before they are used, like with strong typed languages.
While loose typed languages are more flexible, they have the inconvenient of not allowing to detect bugs caused by mistakes of passing function argument values of the wrong type.
This class provides a solution for verifying the correct type of function arguments at runtime. It can help detecting bugs that otherwise would go unnoticed.
This class can be used to check the types of the parameters passed to a function at run time.
It is meant to help detecting eventual bugs caused by passing function parameters of the wrong type.
It can take the list of function arguments values and verify whether they match a function argument type specification defined by a string.
If the type of one or more arguments does not match the expected type, the class triggers an error by dumping all the information about the class and the line of the function being called.