On Tue, Feb 5, 2019 at 5:17 PM Nikita Popov <nikita....@gmail.com> wrote:

> On Mon, Nov 26, 2018 at 10:42 PM Nikita Popov <nikita....@gmail.com>
> wrote:
>
>
> I'd like to move forward with this change. I think the overall reception
> here has been positive, although in the discussion some other possibilities
> that avoid/reduce the BC aspect have been discussed. I think now that we
> have a PHP 8 branch, it would make sense to apply this as-is. The BC break
> is quite minor (compared to the other changes in PHP 8) and I think this is
> the cleanest way to solve the problem, as it only changes the list of
> silences errors, without introducing any new error handling concepts or
> mechanisms.


I don't think that other changes that may or may not make it into PHP 8
should influence our decision -  BC breaks accumulate and the more you have
of them, the more difficult it is to migrate.  I'm also present unaware of
anything we already decided to 'break' in PHP 8 as of now (with the
exception of the removal of deprecated 7.x features).

That said - I think we all agree the BC breakage scope is small - but at
the same time, it may be quite fatal for those that are affected.  Those
who have display_errors on (which is both horrible for production and at
the same time fairly popular) are risking exposing sensitive data that
beforehand, they were safely and explicitly hiding using @.

Is there any reason *not* to do it in such a way that provides a gentler
migration path?  Introduce a new error level that would be a part of E_ALL
in 7.4, but outside of E_ALL in 8.0 - that would govern whether fatal
errors are silenced or not.

Zeev

Reply via email to