TG Telegram Group & Channel
Пых | United States America (US)
Create: Update:

new MyClass()->method() без скобок!

Вдохновлённый митапом, разобрался с синтаксисом Bison и закинул свой первый Pull Request в исходники PHP. Это изменение позволит обращаться к объектам, созданным через new, не оборачивая их в скобки. Во избежание неоднозначности работать будет только при наличии скобок аргументов конструктора.


final class A
{
const CONSTANT = 'constant';
public static $staticProperty = 'staticProperty';
public static function staticMethod() {}
public $property = 'property';
public function method() {}
public function __invoke() {}
}

new A()::CONSTANT;
new A()::$staticProperty;
new A()::staticMethod();
new A()->property;
new A()->method();
new A()();


Поддерживаются также динамические имена классов и анонимные классы (см. тесты).

После первичного одобрения сделаю RFC. Пока накидайте лайков в PR, пожалуйста.

https://github.com/php/php-src/pull/13029

new MyClass()->method() без скобок!

Вдохновлённый митапом, разобрался с синтаксисом Bison и закинул свой первый Pull Request в исходники PHP. Это изменение позволит обращаться к объектам, созданным через new, не оборачивая их в скобки. Во избежание неоднозначности работать будет только при наличии скобок аргументов конструктора.


final class A
{
const CONSTANT = 'constant';
public static $staticProperty = 'staticProperty';
public static function staticMethod() {}
public $property = 'property';
public function method() {}
public function __invoke() {}
}

new A()::CONSTANT;
new A()::$staticProperty;
new A()::staticMethod();
new A()->property;
new A()->method();
new A()();


Поддерживаются также динамические имена классов и анонимные классы (см. тесты).

После первичного одобрения сделаю RFC. Пока накидайте лайков в PR, пожалуйста.

https://github.com/php/php-src/pull/13029
👍111👎66🔥33🤔12👏43


>>Click here to continue<<

Пых




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)