On Thu, Feb 6, 2025, at 6:50 AM, Mihail Liahimov wrote:
> Thank you for your answer. Now I will give examples for better
> understanding.
>
> Simple examples from Typescript:
>
> let foo = ...
> foo!.bar()
> foo!.someProperty.baz()
>
> Examples of potentially using in PHP:
> Without this operator we writing this code:
>
> $foo = ...
>
> if ($foo === null) {
> throw new FooIsNullException();
> }
>
> $foo->bar.
>
> With this operator:
>
> $foo!->bar
> $foo!->someProperty->method();
> $foo!->someProperty->anotherProperty!->method();
>
> I think the postfix operator would be illogical in PHP because my operator
> is similar to the existing nullsafe operator in syntax. And it would be
> strange if its syntax were different.
> Or we can implement both operator syntaxes: prefix for accessing
> properties, and postfix for use with variables, as in your example.

I am struggling to see the point of this in PHP.  We don't have a compile-time 
check for that kind of null the way Kotlin or TypeScript do.  At runtime, it 
would already throw a value I cannot control.  With this... it would throw a 
value I cannot control.

How is this a win?

--Larry Garfield

Reply via email to