You can use function_exists() to avoid a fatal error, but there is no equivalent function_parameters_are_ok() API to avoid a miserable death in the situations that I have already mentioned.
Why not just be consistent with all the other parameter checks and raise an E_WARNING and RETURN_NULL when the parameters are incorrect? I don't see what is so special about hinted parameters that they have to bail out the engine, while the built-in (and extension) functions will happily return NULL and continue execution.
I see a huge difference. First off, most functions don't return NULL or even bail out at all, they just convert their argument as necessary and try to make do. Secondly, I see a big difference between built-in functions and userland functions. With userland functions, I think there's a very high WTF factor for them returning without actually running their code. I don't think that this WTF factor exists for built-in functions, as they are perceived as black-boxes. Returning NULL works well in case your function has a meaningful return value, such a result set, SQL link, a string or what not. It's not that useful when your function is returning nothing, or when it has a return value that's not likely to be checked.
Zeev
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php