PHP Annotated – September 2023

PHP Annotated Monthly

Welcome to the September edition of PHP Annotated! We’ll recap the most interesting developments in the PHP community over the past month, featuring handpicked news, articles, tools, and videos.

Highlights

  • PHP 8.0.30, PHP 8.1.22, and PHP 8.2.9 have been released

    ❗These are security releases and include fixes for GHSA-3qrf-m4j2-pcrr (external entity loading in XML without enabling it) and GHSA-jqcx-ccgc-xwhv (buffer overflow and overread in phar_dir_read()).

    If you’re still using PHP 7.*, Remi’s Repository has updates with backported security fixes.

  • PHP 8.3.0RC2 has been released

    The second RC has been delivered according to the schedule. The next release is RC3, which is expected on September 28.For a detailed list of what’s coming in PHP 8.3, see php.watch or stitcher.io.

  • RFC Vote

    Brent Roose has launched a project for community voting on RFCs.

    While official RFC voting is limited to internal developers, RFC Vote provides a voice for everyone. This will not have a direct impact on the official PHP RFC results, but it may serve as a valuable resource for those involved in the decision-making process.

    The project, brendt/rfc-vote, is open-source, and Brent is streaming the whole process of developing it at PHP Annotated on YouTube.

  • WordPress 6.3 “Lionel” is out

    It brings significant performance improvements, among other things.

  • PhpStorm 2023.2 Is Available and the PhpStorm 2023.3 roadmap has been released
  • The PHP Foundation is hiring PHP core developers
    If you have experience contributing to PHP core or developing extensions and you would like to do paid open-source work, this might be a great opportunity for you.

    The application form is open until September 30.

  • CakePHP 5 is out

    This release brings improved type hints throughout the framework, an upgrade to PHPUnit 10.x, new enum type mapping support in the ORM, support for PSR17 HTTP factories, and more.

  • Concerns over the European Union’s Cyber Resilience Act (CRA)
    WordPress, Drupal, Joomla!, and TYPO3 projects published an open letter to the EU legislators with critiques and recommendations on how to improve the CRA for a better future of open source in Europe.

    Individuals, SMEs, and institutions will be hampered either by enormous administrative burdens or a chilling effect on their activities (and a potential rush towards the American Tech Giants) for fear of risking penalties under the CRA.

    The best summary of the EU-CRA can be found in this blog post by the Apache Software Foundation.

PHP Core

Most of the Core news is covered in detail in the PHP Core Roundup series from the PHP Foundation, so we’ll only make a few brief mentions:

  • 📣RFC: A new JIT implementation based on IR Framework

    Dmitry Stogov proposes a new JIT implementation that is based on a separately developed IR Framework.

    If accepted, the average PHP user may not notice any significant performance gains. With the new JIT in its current state, CPU-bound applications such as PHP-Parser and AMPHP will experience a slight speed boost. Further optimizations will provide additional acceleration, but the increase won’t be dramatic.

    The primary advantage of the new engine is its simplicity of use. It has been developed as a component separate from PHP, which means that the IR project can be utilized outside of PHP. This could potentially help reduce the "bus-factor" associated with the JIT implementation.

  • 📣RFC: DOM HTML5 parsing and serialization
    Niels Dossche proposes to add two new classes to the DOM extension: DOM\HTMLDocument and DOM\XMLDocument.

    The HTMLDocument class will add support for spec-compliant HTML5 document parsing and serializing. The XMLDocument class will serve as a modern alternative to \DOMDocument, which is retained for compatibility. These new classes will also provide a more misuse-resistant API for loading documents.

    Existing DOM classes in the global namespace will get an alias in the new DOM namespace, so the new implementation will be default.

  • Who Is Behind PHP by Christoph Rumpel.
    In this blog post, Christoph clarifies all sorts of non-obvious points of the PHP development process, including who gets to vote, what karma is karma, and how to become a contributor to PHP.

Tools

  • theodo-group/LLPhant – A comprehensive PHP generative AI framework that uses OpenAI GPT 4, inspired by Langchain and LLamaIndex.

    It allows you to automatically define your function in one line and execute the function when OpenAI says so in the response.

    More examples can be found in this blog post: Leverage Generative AI in your PHP E-Commerce website with Qdrant and LLPhant.

    You can even make an AutoGPT clone with PHP:

  • emreyarligan/enum-concern – A package for effortless enumeration handling with Laravel collections.
  • hyperf/hyperf – A Swoole-based coroutine framework that focuses on hyperspeed and flexibility.
  • loupe-php/loupe – A full-text search engine based on only PHP and SQLite, with tokenization, stemming, typo tolerance, filters, and geo support.
  • TomasVotruba/lines – A CLI tool that runs anywhere for quickly measuring the size of PHP projects.
  • Chemaclass/bashunit – A minimalistic testing library for bash scripts.
  • laminas/laminas-text – Ever wanted a cool ASCII text banner?
    $figlet = new Laminas\Text\Figlet\Figlet();
    echo $figlet->render('PHP Rocks');
    
  • espocrm/espocrm – A mature and open-source CRM built with PHP.
  • Can I PHP? — Quickly check which PHP version introduced a given feature.

Symfony

Laravel

Misc

Fun

  • PHPUnit output in the style of a disk defragmenter:
  • phpgl/flappyphpant – A simple Flappy Bird-like game written in PHP and built on PHP-GLFW and the VISU framework.
  • A love snippet from Frédéric Bouchery:
    <?php for ($y = 15; $y >= -15; $y--) {
        for ($x = -30; $x < 30; $x++) {
            echo (
                pow(pow($x*0.05, 2)+pow($y*0.1, 2)-1, 3)-
                pow($x*0.05, 2)*pow(($y*0.1), 3) <= 0
            ) ? 'LovePHP!'[($x - $y) % 8]:' ';
        }
        echo "\n";
    }
    
                 
                    P!LovePHP           vePHP!Lov               
                ePHP!LovePHP!Love   !LovePHP!LovePHP!           
              vePHP!LovePHP!LovePHP!LovePHP!LovePHP!Lov         
             vePHP!LovePHP!LovePHP!LovePHP!LovePHP!LoveP        
            vePHP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP       
            ePHP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!       
            PHP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!L       
            HP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Lo       
            P!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Lov       
            !LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Love       
             ovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Love        
              ePHP!LovePHP!LovePHP!LovePHP!LovePHP!Love         
              PHP!LovePHP!LovePHP!LovePHP!LovePHP!LoveP         
                !LovePHP!LovePHP!LovePHP!LovePHP!Love           
                 ovePHP!LovePHP!LovePHP!LovePHP!Love            
                  ePHP!LovePHP!LovePHP!LovePHP!Love             
                    P!LovePHP!LovePHP!LovePHP!Lov               
                      ovePHP!LovePHP!LovePHP!Lo                 
                        PHP!LovePHP!LovePHP!L                   
                           LovePHP!LovePHP                      
                              PHP!LoveP                         
                                 Lov                            
                                  v                                          
    

Conferences

In-person events are in full swing! Check out these upcoming PHP gigs worth visiting and applying to present at:

  • Longhorn PHP – Austin, TX, USA, November 2–4, 2023.
  • Laracon AU – Sydney, Australia, November 16–17, 2023.
  • PHPCon Poland – Zawiercie, Poland, November 17–18, 2023.
  • SymfonyCon – Brussels, Belgium, December 7–8, 2023.
  • Laracon EU – Amsterdam, The Netherlands, Feb 5-6, 2024. CFP 🆕
  • PHP UK – London, UK, February 15–16, 2024. CFP
  • PHP[TEK] 2024 – Chicago, IL, USA, April 23–25, 2024. CFP 🆕

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

Subscribe to PHP Annotated

Roman Pronskiy

Product marketing manager for @PhpStorm, had a hand in the creation of @The PHP Foundation.

Twitter | GitHub

image description