Chaining a constructor with an object function call in PHP

前端 未结 3 1233
情书的邮戳
情书的邮戳 2021-01-19 13:05

Does anyone know if the following expression will be possible in the next version(s) of PHP?

(new A())->a();    // Causes a syntax error

3条回答
  •  傲寒
    傲寒 (楼主)
    2021-01-19 13:29

    A new-expression can be used as a function argument. A function call can be used as the left-hand side of the member access operator. Therefore, you just need to define a single function:

    function with($object) { return $object; }
    
    with(new A()) -> a();
    

    No additional efforts required on a per-class basis.

提交回复
热议问题