Re: [RFC][Vote] Typed Properties

From: Date: Thu, 26 May 2016 16:57:21 +0000
Subject: Re: [RFC][Vote] Typed Properties
References: 1 2 3 4 5 6  Groups: php.internals 
Request: Send a blank email to internals+get-93576@lists.php.net to get a copy of this message
On 5/26/2016 6:50 PM, Rowan Collins wrote: > As I'm sure has already been pointed out (I haven't followed the whole > thread) this defeats a large advantage of typed properties - I now can't > read from the property without checking if it's null, so I can't do this: > > class O { > public \DateTimeImmutable $d; > } > echo (new O)->d->format('Y-m-d H:i:s'); > > There's no ? on the type def, so I ought to be able to trust the type. A > TypeError makes more sense here, because it is a programming error for > it to be in this state. > That is exactly what Stanislav raised too. I really have no idea how we should prevent this from happening and honestly think we shouldn't. Your construct will result in a fatal error (also known as NullPointerException to some, *evil-laughter*) anyways preceded by an E_NOTICE that tells you that your property is not defined. I am of course open for ideas but emitting another kind of fatal error does not really make things better imho. -- Richard "Fleshgrinder" Fussenegger

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