Re: Non-nullable properties

From: Date: Mon, 16 Jul 2018 12:00:57 +0000
Subject: Re: Non-nullable properties
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-102848@lists.php.net to get a copy of this message
On 16 July 2018 at 09:43, Rowan Collins <rowan.collins@gmail.com> wrote: > There's no contradiction here; throwing an error when a > property is *read* is not the same as enforcing that it always has a valid value. That's true, but claiming the RFC just 'trusts' the users to initialise them is a miss-representation of the RFC to me. The RFC catches the mistake if the programmer fails to initialise the variable then reads from it. > If not, the object created would not be fully initialised, This is always going to be the case, unless you're proposing to deprecate ReflectionClass::newInstanceWithoutConstructor .... which is going to break a huge number of applications. tbh, I really don't see a real problem that needs to be fixed. For me it is the equivalent of this: function foo() : int { return "five"; } This gives an error when the code is run, not when the code is compiled, despite it being a 'detectable' error. In most compiled languages, this error would be detected at the compilation step. In 'dynamic' languages it is detected at run-time. The same is true for classes with typed properties. Yes, if you make a mistake and forget to set a typed property before using an object there will be an error. That would only be a problem in production if you don't run that code at all in development or in test....which is true of many, many things. cheers Dan

« previous php.internals (#102848) next »