Re: Asymmetric visibility is a BC break

From: Date: Fri, 11 Oct 2024 10:33:20 +0000
Subject: Re: Asymmetric visibility is a BC break
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-125785@lists.php.net to get a copy of this message
On Fri, Oct 11, 2024, at 12:20, Jonathan Vollebregt wrote: > > A "proper" implementation won't break, but there may be subtle ways that > > "improper" implementations will break and thus it should be considered a BC break. > > This thread is fallaciously equating breaks in third-party libraries > _when changing consumer code_, with breaks just by updating PHP. > > If I'm in PHP 8.1+ and I pass an object into a library and all goes > well, then I change a property to readonly and get an error, that's not > PHP making a breaking change by allowing me to use readonly. That's an > outdated library (and me) breaking my code. > > I've had my reflection code break on backwards compatible changes loads > of times, but every time it required the user to make a change to their > code first. > > Valentin's list of examples proves this point. They worked fine on 8.1 > _until_ people changed code to add readonly. That's not a BC break. Same > deal for aviz. > I guess what I am saying is that we probably need a proper definition of "BC break". IMHO, adding a php version check to do something is probably a BC break. Serializers will need a version check, thus it is a BC break. — Rob

« previous php.internals (#125785) next »