See T13488. Previously, see T7408.
I'm changing the minimum required version of PHP to PHP 5.5. A few things should be changed or updated as a result.
The syntax id(new X())->setY() can now be simplified into (new X())->setY(). I don't think we have any existing lint guidance on this. We could bulk-remove all id(new ...) in the codebase, but this is very low priority. This is also easy to undo if necessary (the new allowed syntax is a parse error under older PHP) so I think there's no reason to continue using id(...). I have no plans to ever use id() as some sort of on-object-construction hook. The new syntax still requires (...) so it isn't much better.
- D20049 added some code which could be simplified with PHP_QUERY_RFC3986.
- We should add static analysis support for traits (T4725) before using them.
- T7408#99040 notes a few other things, although not all of them are worth pursuing.
- We can use finally, which simplifies various code hacking around the lack of finally.