PHP Annotated – August 2022

PHP Annotated Monthly

Greetings everyone!

Welcome to the August installment of PHP Annotated, where we’ll catch up on the most interesting things that have happened in the PHP world over the last month, including curated news, articles, tools, and videos.

News

  • PHP 8.2 Beta 3 has been released
    The final beta has been delivered according to schedule. The next release is PHP 8.2.0 RC 1, which is expected to be released on September 1.

    Check out how to deal with deprecated dynamic properties in PHP 8.2.

    For a detailed list of what’s coming in PHP 8.2, see PHP.Watch or stitcher.io.

    Also, check out the flash newsletter, The Road to PHP 8.2.

  • PHP 8.0.22 and PHP 8.1.9 have been released
    🪲These are bug-fix releases of currently supported branches.

  • PHP Foundation Update, July 2022
    Check out monthly updates for sponsors.

  • Composer 2.4 is out
    It adds auditing of dependencies for security, bash completions, and many smaller additions. Read more about two new commands: audit and bump.

  • deployphp/deployer 7.0.0 is out
    Deployer is a deployment tool written in PHP with support for popular frameworks out of the box.

    One of the biggest changes in v.7 is a new provision recipe. The provision recipe can automatically install and configure any VPS for running your PHP application. It will install webserver, SSL, PHP, Redis, node, and others.

  • Codeception/Codeception 5.0.0 is out
    Attributes, PHP 8 support, sharding, and more features!

  • swoole/swoole-src 5.0.0 is out
    The new version of concurrency extensions comes with an enhanced type system, added types for parameters and return values of all functions, optimized error handling, and other improvements and additions.

  • PhpStorm 2022.2 released
    This major update brings support for Mockery and Rector, enhanced support for generics and enums, improvements to the debugger and HTTP client, and more.

    Watch a video overview of 🎬 What’s New in PhpStorm 2022.2.

    And we have just published PhpStorm 2022.3 Roadmap.

PHP Core

Most of the Core news is covered in detail in the PHP Core Roundup series from the PHP Foundation. The fifth episode of this series is coming soon, so we’ll only mention it briefly:

  • RFC: Asymmetric Visibility #PHP 8.3
    Previously, Nikita Popov suggested implementing property accessors a-la C#. That RFC never made it past the discussion phase. Instead, readonly properties were approved.

    This time, Ilija Tovilo and Larry Garfield propose adding Swift-like syntax to allow properties to have separate (“asymmetric”) visibility for read and write operations.

    class Foo{
        public private(set) string $bar,
    }
    

    Some notes from Larry:

    • It would fix the cloneability issue of readonly properties.
    • It would fix inheritance with readonly. As it stands, readonly is only settable from in the private scope, but not the protected scope.
    • It would be useful for a property that is rebuilt from other properties. For example, public private(set) $fullName, which is updated internally whenever $o->setFirstName() or $o->setLastName() are called. This could apply to accessor hooks, which are on the roadmap, in the future.

Tools

  • serversideup/docker-php – Production-ready Docker images for PHP. Optimized for Laravel, WordPress, and more.
  • Crell/Serde – Robust Serde (serialization/deserialization) library for PHP 8. Read more in Larry Garfield’s introductory post.
  • statix-php/server – An object-oriented wrapper around PHP’s built-in server.
  • aimeos/map – PHP arrays and collections made easy. Yet another Laravel-like collections package, but with zero dependencies.
  • hotmeteor/spectator – OpenAPI testing for PHP.
  • DaveLiddament/sarb – The tool provides baseline functionality for PHP static analyzers. In v1.5.0 it brings a --clean-up option. This lists five random issues from the baseline to fix for gradually improving code quality.
  • leafsphp/leaf – A simple yet powerful micro-framework for creating web apps and APIs quickly.
  • pheature-flags/pheature-flags – A release management system that allows you to activate and deactivate specific features in controlled conditions.
  • gakowalski/alternative-interpreters – List of alternative PHP interpreters, compilers, and transpilers.

Symfony

Laravel

Misc

Audio/Video

Conferences

In-person events are finally back! This fall there will be a few big gigs worth visiting and applying to CFP:

Community

That’s all for today, thanks for reading!

If you have any interesting or useful links to share via PHP Annotated, please leave a comment on this post or send me a tweet.

Subscribe to PHP Annotated

Your JetBrains PhpStorm team
The Drive to Develop

Roman Pronskiy

Product marketing manager for @PhpStorm, helped to launch @The PHP Foundation.

Twitter | GitHub

Sergey Panteleev

PHP 8.2 release manager, PHP Documentation maintainer.

Twitter | GitHub

image description