On Mon, Aug 22, 2016 at 6:30 PM, Christoph M. Becker <cmbecke...@gmx.de> wrote:
> On 22.08.2016 at 18:00, Julien Pauli wrote:
>
>> I agree this is a BC break and should not stay as-is in source code.
>
> I wonder why we have more than 100 lines of "Backward incompatible
> changes" in the PHP 7.1.0beta3 changelog[1], if BC breaks shouldn't be
> introduced in a minor release.
>
>> It makes some testsuites fail, that did not fail before ; thus it breaks 
>> things.
>
> An estimated 10% (at least) of my *bugfixes* in GD broke at least one
> PHPT, because the test was broken in the first place.
>
>> I think @Alexander is right.
>> We should allow passing a string, and perform some Late Static Binding
>> through it.
>> That would solve the BC Break problem as well as extend the feature in
>> a more PHP-friendly way.
>
> Are you sure that would solve the BC break?  As it were, one could pass
> an arbitrary string.  I can easily imagine that some refactoring
> introduced a new class in a hierarchy, but nobody noticed that an
> ::invoke() call would have to be adjusted accordingly.  Suddenly
> changing the meaning of the first parameter may well introduce a
> behavioral change.

Well, we must find a solution that tries to cope with everyone needs,
and tries to make PHP more consistent if possible.

I know it is not an easy topic , but I'm sure we'll find some consensus.

I'll prepare a patch exposing my ideas soon.



Julien

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

Reply via email to