PHP Annotated Monthly – June 2019

PHP Annotated Monthly

Greetings everyone,

Please welcome the June edition of PHP Annotated Monthly, with all the latest news and notable materials from the world of PHP. Read all about the PHP 7.4.0 alpha 1 release, Doctrine company, new and accepted proposals from PHP Internals, Laravel, Symfony, useful tools, and a whole lot more!

⚡️ News & Releases

  • PHP 7.4.0 alpha 1 – The first alpha of a new interpreter version is available for testing. This effectively starts the 6-month pre-release phase; the GA is expected at the end of November.
    The new additions look impressive: typed properties, arrow functions, FFI, preloading, and so much more! See the list of all changes in the UPGRADING doc. Get a nice overview of What’s new in PHP 7.4 in this write-up and from 🎥 Nikita Popov’s talk at PHP Russia.
  • After 10 years of developing Doctrine, the team has now created Doctrine Company, LLC in order to make it financially sustainable. You can now officially sponsor the project, request training or consulting, or participate in webinars.
  • Bref, a tool for deploying and running serverless PHP apps, is now backed by null, the company
  • PHP versions stats – 2019.1 – A traditional compilation of statistics based on the data that composer sends when connecting to packagist.org. Shows the use of new versions of PHP is growing, and the total share of all PHP 5.* is about 10%. Compare this to JetBrains’ The State of Developer Ecosystem 2019 survey results.
  • PhpStorm 2019.2 EAP – The Early Access Program is in full swing, and you can already try out the new features: regexps autoinjection in PHP, PHP 7.4 support, finding duplicates on-the-fly in the editor, cURL syntax support in HTTP-client, EditorConfig out of the box with support for PhpStorm-specific options, PHPT support, and advanced code assistance for Shell Scripts.

🐘 PHP Internals

  • [RFC] Allow throwing exceptions from __toString() – The proposal has been accepted unanimously. And there is one less PHP Sadness!
  • [RFC] Numeric Literal Separator – The proposal has been accepted. In PHP 7.4 it will be possible to specify numerics with an underscore separator:
    $i = 197_823_459; // 197823459
  • [RFC] Nullsafe Calls – An old proposal was raised again. It considers adding a new operator ?->, which will allow safe method call chains in the cases where one of the methods may return null:
    $o?->mayFail1()?->mayFail2()?->mayFail3()?->mayFail4();

    ECMAScript has this also in a proposal, and Hack has implemented it already.

  • [RFC] Alternative “use” syntax for Closures – This proposal attempts to improve use in closures by moving it to the function body:
    // This is how it looks now
    $closure = function (
        ArgumentType $argument1,
        ArgumentType $argument2,
        ArgumentType $argument3,
        ArgumentType $argument4
    ) use ($importVariable1, &$importVariable2, $importVariable3, &$importVariable4): ReturnType {
        // ...
    };
    
    // This is proposed
    $closure = function (
        ArgumentType $argument1,
        ArgumentType $argument2,
        ArgumentType $argument3,
        ArgumentType $argument4
    ): ReturnType {
        use $importVariable1, &$importVariable2;
        use $importVariable3, &$importVariable4;
    
        // ...
    };
    
  • 🔈 PHP Internals News #13 – Sara Goleman (RM of PHP 7.2) and Derick Rethans (PHP 7.4’s RM) talk about Release Management.
  • 🔈 PHP Internals News #14 – With Nikita Popov on __toString() Exceptions.

🛠 Tools

Symfony

Laravel

🚨 Security

💡 Misc

Thanks for reading!

If you have any interesting or useful links to share via PHP Annotated Monthly, leave a comment or drop me a message on Twitter.

Subscribe to PHP Annotated

Your JetBrains PhpStorm Team
The Drive to Develop

image description