Hi Anthony, I'm experimenting type hints to write how it could be useful.
http://3v4l.org/nhI61 I thought too large value error in weak mode is E_RECOVERABLE_ERROR, but it's not. The RFC ( https://wiki.php.net/rfc/scalar_type_hints_v5 ) does not state how it behaves for too large values. E_ERROR is too severe for too large values. Behavior like this http://3v4l.org/avsW4 is preferred because it's much easier to handle errors nicely. E_ERROR is too severe even for strict_types=1, IMHO, because user does not have chance to handle errors nicely at all. http://3v4l.org/aEpP8 Is this behavior is agreed behavior by discussion or a bug? In the RFC https://wiki.php.net/rfc/scalar_type_hints_v5#behaviour_of_strict_type_checks it says --------------------- Behaviour of strict type checks A strictly type-checked call to an extension or built-in PHP function changes the behaviour of zend_parse_parameters. In particular, it will produceE_RECOVERABLE_ERROR rather than E_WARNING on failure, and it follows strict type checking rules for scalar typed parameters, rather than the traditional weak type checking rules. --------------------- It seems intended error level is E_WARNING/E_RECOVERABLE_ERROR according to the RFC. Regards, -- Yasuo Ohgaki yohg...@ohgaki.net