This will be my last reply to this thread. Fundamentally:

class User {
     public ?int $id;
     public ?string $preferred_name;
     public ?string $username;
 }

^ This permits null properties at all times. This is acceptable
behavior if null is valid for the domain. It is not valid for this
domain -- all 3 are required.

class User {
     public int $id;
     public string $preferred_name;
     public string $username;
 }

^ This never permits null properties, and using them without
initializing them is an error, and you get notified by the runtime
that such a thing happened. This is good and desirable behavior.

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to