PHPβs New URI Extension: An Open Source Success Story
The PHP Foundation β Supporting, Advancing, and Developing the PHP Language
Say goodbye to parse_url() headaches! π₯³
PHP 8.5 is introducing a new URI Extension with standards-compliant (RFC 3986 & WHATWG) and secure URL parsing. It provides a clean API and lets you easily modify URI components.
Learn more π
thephp.foundation/blog/2025/10...
10.10.2025 11:40 β π 18 π 11 π¬ 0 π 0
βοΈ #PHP 8.5 sees its cloning supercharged! With the "clone with" RFC merged 5 days ago, we have much more possibilities when it comes to cloning objects.
Supports hooks, readonly, __clone() overriding. Thanks
@timwolla.bsky.social for the #DX improvement! π
PR: github.com/php/php-src/...
22.07.2025 09:49 β π 2 π 2 π¬ 1 π 0
For this one I mainly contributed the implementation. @edorian.bsky.social made the decisions and a large part of the discussion :-)
22.07.2025 11:48 β π 2 π 0 π¬ 0 π 0
π (1/11) #PHP 8.4 adds SSE2 and SHA-NI #hardware acceleration for #SHA-256:
hash('sha256', /* your data */);
What does this means exactly? HUGE performance boost! π₯ But how is it possible? π
18.07.2025 07:44 β π 1 π 1 π¬ 1 π 0
An invitation to chat and some useful links about PHP internals and extensions development - Externals
#externals - Opening PHP's #internals to the outside
The resources mentioned in externals.io/message/120041 might come in helpful (especially StackOverflow Chat for a more direct line to some of the core contributors).
08.02.2025 23:09 β π 1 π 0 π¬ 0 π 0
If someone would have disagreed with having that function (or still disagrees until PHP 8.5 feature freeze), then I would have went the RFC route. But as that did not happen (yet), we could avoid the bureaucracy there and save the participants on Internals and the voters some mental load π
08.02.2025 23:02 β π 1 π 0 π¬ 0 π 0
In that case, both naming and implementation was pretty obvious, without leaving much room for "creativity". It also filled a clear gap in the existing functionality, so it was just merged by simple agreement of the ext/curl maintainer.
08.02.2025 23:02 β π 0 π 0 π¬ 1 π 0
curl: Add `curl_multi_get_handles()` by TimWolla Β· Pull Request #16363 Β· php/php-src
see https://curl.se/libcurl/c/curl_multi_get_handles.html
As an example, here's a recent-ish PR of mine adding a new ext/curl function to PHP 8.5 without going through the RFC process: github.com/php/php-src/...
08.02.2025 23:02 β π 1 π 0 π¬ 1 π 0
Screenshot (in German) of the 3-dot menu in Gmail's compose view. The plaintext option ("Nur-Text-Modus") is checked.
I recommend sending plaintext-only emails when interacting with Internals: Formatting will look as expected and less data to send around the Internet.
You can select that in the 3-dot menu when composing a message. Not sure if it can be set as default for specific recipients.
08.02.2025 22:04 β π 0 π 0 π¬ 1 π 0
So far you didnβt run into the issue, because the discussion thread is simple enough, but it will likely cause confusion for more complex discussions with multiple parallel discussion topics.
08.02.2025 19:22 β π 0 π 0 π¬ 0 π 0
Also one thing to keep in mind with Gmailβs web interface: Please use the βReply buttonβ on the email you are actually replying to. Gmailβs linear view makes this easy to do wrong, leading to incorrect threading in other emails clients that show a tree structure (e.g. Thunderbird in my case).
08.02.2025 19:22 β π 1 π 0 π¬ 1 π 0
And indeed, the quote didnβt properly make it through. I canβt comment on details of Gmailβs web interface, which I assume youβre using, but generally prefixing each line with a `>` should do the trick.
08.02.2025 19:22 β π 0 π 0 π¬ 2 π 0
You mentioned that someone from the Laravel community sparked the idea and then I searched social media for βPHP RFCβ.
08.02.2025 19:22 β π 1 π 0 π¬ 1 π 0
Personally I don't ever run the entire test suite locally (no need to run, say, ext/dom tests if I work on something unrelated) and leave the full test to CI.
08.02.2025 19:14 β π 0 π 0 π¬ 1 π 0
And for running tests, you can restrict the tests to a specific directory by running `sapi/cli/php run-tests.php --show-diff ext/random/` for faster turn-around times.
08.02.2025 19:14 β π 0 π 0 π¬ 1 π 0
7 to 8 minutes sounds pretty slow for building on an M1. Did you build with `make -j$(nproc)` for multi-core compilation?
08.02.2025 19:14 β π 0 π 0 π¬ 2 π 0
Using the information learned from writing the PR you can ensure that your RFC text itself is in the best possible shape, cutting down on the amount of back-and-forth discussion and clarification required on the mailing-list, saving everyone involved time.
08.02.2025 19:08 β π 0 π 0 π¬ 1 π 0
Having the PR ready first will also help in working out all the details. By writing the tests you find necessary edge-cases that might need some explanation in the RFC itself.
08.02.2025 19:08 β π 0 π 0 π¬ 1 π 0
In simple cases an RFC might not actually be necessary! As a newcomer it might be easier to file a PR against php-src first and then folks will likely tell you if you need an RFC (either because they disagree with the feature, or because they feel further discussion is necessary).
08.02.2025 19:04 β π 1 π 0 π¬ 1 π 0
Friendly person here π Happy to hear that my reply was well-received. My intention really was avoiding the βInternals is hard to approachβ sentiment that is sometimes claimed on social media and it seems I succeeded with that π
08.02.2025 19:00 β π 1 π 0 π¬ 1 π 0
New book: https://things-i-wish-i-knew.com/
https://timeline-taxi.com
https://tempestphp.com
https://stitcher.io
Developer Advocate for PHP @jetbrains.com
π PHP developer
https://github.com/romm/
https://mastodon.social/@Romm
https://x.com/Rommsteinz
software developer @Tideways - I like VIM, Linux, photography, user interfaces, tv-shows, progressive rock and chocolate cake ;-)
Seriously secure messaging. https://threema.com
If you have questions, please contact us via https://threema.id/%2ASUPPORT or support@threema.ch.
Impressum: https://threema.com/impressum
CTO @les-tilleuls.coop / @symfony.com Core Team / #PHP & #FrankenPHP Core Maintainer
staff software engineer at laravel Β· speaker Β· content creator Β· open-source contributor Β· created pest, pint, pail, larastan, and more.
https://youtube.com/nunomaduro
Location-based mobile game where Agents explore the real world, capture Portals, and link them together to create territorial Control Fields.
HAProxy One is the worldβs fastest application delivery and security platform, from the company behind HAProxy
haproxy.com
We support, advance, and develop the PHP Language.
thephp.foundation
I want to help you write high quality applications with AWS Infinidash.
Work with @Roave.com & @thephpf.bsky.social.
Author of π₯§ PIE (PHP Installer for Extensions).
Speaker.
Yorkshire Tea.
Life is great, isn't it?
#rust #php #c #java
Co-Founder of @packagist.com β Dev at teamup.com β #ComposerPHP lead β Wandering Belgian β OSS Wishlist: https://seld.be/wishlist
aka Seldaek
Co-Founder of @packagist.com / http://packagist.com and
Co-Creator of #composerphp - he/him - @naderman@phpc.social
π I'm a Software Engineering and Management Human interested in ops, growing systems, shipping, DX, etc.
I mostly work with PHP, GO, C, CSS, JS and TS.
Working @ tideways
Shitposting welcome. He/Him
Lead Singer // The Ghost Inside
Video Game Streamer // @vigilsc.com
Photographer and LA Sports Fan
www.vigiltgi.com
Principal Cloud Architect at HAProxy Technologies / Executive Product Manager at Crossvallia
#golang #rustlang #ebpf #kubernetes #linux #perf #sysops