Hello internals,
I would like to propose a syntax change for PHP 8.4 that allows to immediately access instantiated objects without wrapping the expression into parentheses. This was requested and discussed several times, see: - https://externals.io/message/66197 - https://bugs.php.net/bug.php?id=70549 - https://externals.io/message/101811 - https://externals.io/message/113953 Here's what you will be able to write after this change: ```php class MyClass { const CONSTANT = 'constant'; public static $staticProperty = 'staticProperty'; public static function staticMethod(): string { return 'staticMethod'; } public $property = 'property'; public function method(): string { return 'method'; } public function __invoke(): string { return '__invoke'; } } var_dump( new MyClass()::CONSTANT, // string(8) "constant" new MyClass()::$staticProperty, // string(14) "staticProperty" new MyClass()::staticMethod(), // string(12) "staticMethod" new MyClass()->property, // string(8) "property" new MyClass()->method(), // string(6) "method" new MyClass()(), // string(8) "__invoke" ); ``` For more details see the RFC: https://wiki.php.net/rfc/new_without_parentheses Implementation: https://github.com/php/php-src/pull/13029 -- Best regards, Valentin