> > If you want, you can easily write a backwards-compatible new class that > uses declared type properties with > public int $property = null;
And for those pesky third party libraries that forgot to set = NULL on their property definition there's a backwards compatible accessor too. $foo = $obj->bar ?? NULL; Sarcasm aside, I still can't figure out how fundamentally changing how people interact with uninitialized properties like this improves developer experience. Can someone explain a case where this is better and catches a bug or something? Since this is a new feature I would assume its not covered by "BC" but this seems like a painful gotcha for people developing across typed and untyped code.