Hi!

> The issue is obvious: I fixed the discrepancy between the docs and the
> ARG_INFO listed by requiring the first parameter to
> spl_autoload_register to be a callable. However, spl_autoload_register
> has a second parameter that says whether or not an exception should be
> thrown if it can't register the callback. Honestly, this is silly. Why
> are we emulating `callable` types still when we have callable types?

Well, I would imagine this existed before we had the callable type. But
now we may very well have the code that counts on exception being thrown
and spl_autoload_register is pretty basic function, so we can't just go
and change it just like that.

There's "exceptions in the enigne" RFC in draft IIRC that should
streamline such things, but before that I don't think it is worth
breaking BC in such sensitive part.

> Sadly, I think the best option is to revert the change. Anyone else
> have a comment on this?

We could fix the code so it does zpp parsing with QUIET option and then
if parsing fails it throws the exception on $throw set. It would be a
bit weird but should work and have minimal BC impact.
-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to