Re: Re: [RFC][VOTE] Nullable Types

From: Date: Wed, 11 May 2016 10:42:05 +0000
Subject: Re: Re: [RFC][VOTE] Nullable Types
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-93226@lists.php.net to get a copy of this message
On 11/05/16 12:26, Lester Caine wrote: > On 10/05/16 21:26, Levi Morrison wrote: >> It can affect the results. >> >> function foo(?Foo $param) {} >> >> If any code out there is calling foo with null then that code will now >> break if you remove the question mark. > > Cart before Horse comes to mind ... > > If the function is going to fail if you pass in a null ... you check for Why do you assume it'll fail? > the null before calling it. OK the '?' is a flag that you need to do > that, but you really need proper documentation as to just what Foo > expects. If I've handled the null case situation, the ? is redundant? > > I'm still failing to see an overall picture of what people are trying to > achieve. Adding errors means that those errors need to be handled. If > the function gets a 'null' then there is a reason, and either the > function should not have been called ... workflow failed ... or the > function should simply handle the 'null' case. If the '?' throws an > error the workflow is broken after the event where a user code warning > would be more helpful. > function foo(?Foo $param) is equivalent to function foo(Foo $param = null) except the former does not provide a default, i.e. it requires an argument being passed to a call to foo(). -- Regards, Mike

Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc
« previous php.internals (#93226) next »