@blog The real question is: When can we get a plushie elePHPant that comes with a plushie pie?
In tandem with the PECL website, which hosts around 400 packages, PHP developers have been able to install third party extensions for several decades now with the PECL installer.
PECL, which stands for the PHP Extension Community Library was a sister project to PEAR, the PHP Extension and Application Repository. This repository has largely been replaced by Packagist, which hosts PHP user land code to be installed through Composer. Unlike PEAR, Packagist allows anybody to register a library of PHP code, which can then be composed through a file (composer.json
) and made available to people's application code.
For extensions written in C, PECL was the only option. The PECL website has not been properly maintained for a long while now. And there are issues where the package description and release information XML files can not even contain higher-byte characters due to a very old misconfiguration of MySQL—back when it did not support Unicode and UTF-8 properly.
Updating the website, for example for adding new releases releases, is also not the easiest thing to do. Unlike adding a Git tag as you can do with Composer packages, it requires modifying an unwieldy XML file, and uploading the packages manually through a web form.
With this in mind, about a year and a half ago, I started drafting the requirements for "New PECL". The initial goals I came up with were:
A new simplified installer, that does not rely on PEAR
Ways to configure which (already installed) PHP version should get which extension version(s)
Cryptographic verification of released extension tags
Removing the reliance on a PECL website
No longer relying on package.xml
The PHP Foundation bid for funding by the Sovereign Tech Agency — an agency of the German government — to develop this new tool.
From my initial requirements, James Titcumb and others worked on a more detailed design as part of their work for the PHP Foundation. James then set to work on the installer resulting in the first pre-release last November.
Since then, the tool has matured with more features, and better integration with Packagist, which now also features PHP extensions besides public PHP packages. Many extensions, including Xdebug, can now be installed with PIE.
Documentation for PIE is available on GitHub.
Binary builds for Windows are also supported, and we have developed a GitHub action to help extension authors to do this in the right way for PIE.
PIE's feature set is fairly compatible with PECL, and now is the time to start using it in your projects. There are sometimes still a few kinks, such as a recent issue with the MongoDB extension's use of Git submodules. This is already fixed in the 0.7.0 of PIE, but more issues are likely to be encountered.
At some point in the future, the PECL website will be discontinued leaving PIE installing PHP extensions from Packagist as the only available option.
then now is the time to add support for PIE in your extension.
In most cases, this requires creating a composer.json
file in the root of your GIT repository, such I have done for Xdebug, and others have done for the APCu, CSV, Imagick, and many other extensions.
that you currently install through PECL, then now would be a great time to start using PIE in your development environments. Only through superior testing will the new PIE installer reach maturity, and become ready to have a 1.0 release.
And then we can celebrate with an actual pie.
Laravel 12 Google 2FA Authentication with Starter Kit
https://youtu.be/FMFPhxHIPsI?si=Y8_dhGNXw8JxKUT4
Discussions: https://discu.eu/q/https://youtu.be/FMFPhxHIPsI?si=Y8_dhGNXw8JxKUT4
A hidden nullable, is using a NULL as a default for a typed parameter: it makes it implicitely nullable. This is deprecated in #PHP 8.4
A hidden non-nullable, is when the null is in a constant: the parameter then stays non-nullable.
https://php-tips.readthedocs.io/en/latest/tips/no-hidden-nullable.html
You want a crazy idea? Add an "__outScope" built-in method for classes.
It will run when the scope of the variable that holds the class instance ends.
Imagine the possibilities.
How can anyone be as wholesome and wonderful as Ryan Weaver? One of the best human beings I've ever met.
I'm looking for a Senior PHP Developer position. I'm in NYC, but remote position welcome. I can work with WordPress, Drupal, or Laravel. Got a older PHP system that needs modernizing? I can help with that too. Prefer U.S. timezones (UTC-4 thru UTC-7).
Get in touch.
Hey, folks! I’m looking for a Staff Software Engineer to join my team (API Core) at #Mailchimp.
Some of the things we work on: #PHP, #REST, #OpenAPI, #OAuth2, #APIGovernance, and more.
We are stewards of our public #APIs, and we collaborate with other capabilities teams to ensure APIs are developed according to our standards and processes. You would work directly with me on a daily basis.
This position is in Atlanta or New York.
https://jobs.intuit.com/job/atlanta/staff-software-engineer-api-core-team/27595/76329932512
#Symfony_Day Chicago 2025 is on
A day of exciting talks dedicated to what Ryan Weaver has contributed to so far: @symfony, Symfony UX, and more.
Great to be a sponsor of this amazing #Symfony event
Chicago turns green today for St. Patrick's Day
PHP recap for week 11/2025
https://discu.eu/weekly/php/2025/11/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
If you find my projects useful, please consider sponsoring them at https://flow-php.com/sponsor/
Even the smallest donations makes huge difference allowing me to deliver the best free data processing framework for #PHP
I'm also available to hire for consulting/coding
Exciting changes ahead for the Flow #PHP Project!
Starting today, get ready for fresh releases every two weeks
Of course, we'll swiftly tackle any critical bugs or security issues.
Dive into the details here: https://flow-php.com/blog/2025-03-16/flow-php-release-cycle/
What Can You Do with Laravel Middleware? (More Than You Think!)
A closer look at how Tempest handles discovery
https://tempestphp.com/blog/discovery-explained/
Discussions: https://discu.eu/q/https://tempestphp.com/blog/discovery-explained/
Programmation Web backend (L3 Informatique) : sujet du TD3-4 (sessions et #mvc) #l3progweb #php
Le sujet du TD 3-4 noté (Sessions et MVC) est disponible en ligne.
Ask HN: Why Isn't PHP Dead Yet? | Hacker News https://news.ycombinator.com/item?id=43310388 #développement #php #débat