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
signature.asc
Description: OpenPGP digital signature
