Ignace Nyamagana Butera
banner
nyamsprod.com
Ignace Nyamagana Butera
@nyamsprod.com
Software developer. Creator of PHP centric package like league/csv, league/uri and bakame/http-structured-fields. Sponsor me at http://github.com/sponsors/nyamsprod
Pinned
There's a new league/uri package in town guess which one it is ? uri.thephpleague.com
It will be release with version 7.6 of all the other packages 🥳 #PHP #URI #polyfill special thanks to github.com/TimWolla, github.com/kocsismate and github.com/TRowbotham for the help and support
This is now live and for everyone to use just do `composer require league/uri-polyfill league/uri-component` and you will be good to go with version 7.6
Here's a sneak peak at what you will be able to do with version 7.6 of the PHP league uri toolkit.

The toolkit adds support for the new PHP URI extension and gives you a nice API to work with URI in PHP.

learn more on uri.thephpleague.com

#PHP #URI #RFC3986 #WHATWGURL
November 18, 2025 at 3:05 PM
I am very happy to announce that the League #URI toolkit for #PHP developers 7.6 has been released!
This release includes a new uri-polyfill package, a new URN object, a new FragmentDirectives object and tons of improvements please check the uri.thephpleague.com for more information
uri.thephpleague.com
November 18, 2025 at 12:48 PM
Here's a sneak peak at what you will be able to do with version 7.6 of the PHP league uri toolkit.

The toolkit adds support for the new PHP URI extension and gives you a nice API to work with URI in PHP.

learn more on uri.thephpleague.com

#PHP #URI #RFC3986 #WHATWGURL
October 29, 2025 at 4:36 PM
Finishing adding these imports everywhere in league/uri codebase version 7.6 is almost ready!! #PHP #URI #OSS
#thephpleague
October 24, 2025 at 2:15 PM
There's a new league/uri package in town guess which one it is ? uri.thephpleague.com
It will be release with version 7.6 of all the other packages 🥳 #PHP #URI #polyfill special thanks to github.com/TimWolla, github.com/kocsismate and github.com/TRowbotham for the help and support
October 15, 2025 at 8:16 AM
Coming in the next version of league/csv named constructors simplification. All the current named constructors are deprecated in favor of just two. which will simplify the user choice and improve DX #csv #php #oss #thephpleague Read the doc for more informations csv.thephpleague.com/9.0/connecti...
October 14, 2025 at 8:12 PM
Coming in the next minor version of #LeagueCSV the JsonConverter #ndjson support is improved you can now do the following #php #csv #oss
September 26, 2025 at 4:05 PM
New minor versions of the league/uri packages are coming in a couple of weeks. They will contain new features and deprecations. Please head over the documentation site or play around with the dev-master and report bugs or regressions now. #PHP #URI #OOS uri.thephpleague.com
Modern API to process URIs in PHP - URI
Modern API to process URIs in PHP
uri.thephpleague.com
September 25, 2025 at 9:30 PM
PHP warnings:
Sometimes harmless 🤷
Sometimes critical 💥
Always annoying 😅

My fix: a Warning class to cloak or trap them, once and for all.

nyamsprod.com/blog/dealing...

#php #warnings #error_handling
Dealing with Warnings in PHP, the Right Way | nyamsprod
nyamsprod.com
September 13, 2025 at 7:07 AM
A new version of #stackwatch is out with tons of new features, fixes and removal for instance the new version nows comes with a PHPUnit helper traits to ease testing callback or method performances. See more on the documentation website bakame-php.github.io/stackwatch/ #php #profiling #OOP
September 5, 2025 at 8:19 PM
I usually hate traits but I hate even more the PHP error control operator so I made this trait #PHP #trait
August 18, 2025 at 9:32 AM
I created a new package called #stackwatch and If someone is interested I have 3 open issues on #stackwatich which I need help for github.com/bakame-php/s... to tag the first stable version.

Of course feel free to add more issues if you test the package #php #profiling
bakame-php/stackwatch
A minimalist multi-metric PHP Profiler. Contribute to bakame-php/stackwatch development by creating an account on GitHub.
github.com
August 15, 2025 at 9:39 AM
Periodic reminder: stop using boolean as options flags in #PHP use Enum instead. Boolean flags are hard to read and to remember and lead to tricky bugs and requiring a trip to the method/function definition, Enum are explicit and readable and offer granularity instead of a simple yes/no answer
August 13, 2025 at 11:34 AM
I have updated my RFC around data encoding in PHP to allow users to migrate to the new API. wiki.php.net/rfc/data_enc... comments and remarks are welcomed #PHP #RFC #base64 #base16 #base58 #base32
PHP: rfc:data_encoding_api
wiki.php.net
July 3, 2025 at 2:41 PM
github.com/bakame-php/a... is almost stable if you could give a spin an report issues or improvement it would be nice. It is a nice non brainer straightforward profiler in PHP which seats between Xdebug and you double call to microtime 😂 Give it a shot. #PHP #profiler #OSS
GitHub - bakame-php/aide-profiler: A minimalist multi-metric PHP Profiler
A minimalist multi-metric PHP Profiler. Contribute to bakame-php/aide-profiler development by creating an account on GitHub.
github.com
July 3, 2025 at 12:49 PM
An entry level package to profile your code it's not #xdebug but it does the job needed github.com/bakame-php/a... #php #profiling #memoryusage #microtime
GitHub - bakame-php/aide-profiler: A simple profiler in PHP
A simple profiler in PHP. Contribute to bakame-php/aide-profiler development by creating an account on GitHub.
github.com
June 26, 2025 at 5:50 PM
It's official #PHP8.5 will get not one but two URI/URL compliant parsers 🎉 externals.io/message/1273... #RFC3986 #WHATWG-URL
[RFC] [Vote] Add WHATWG compliant URL parsing API - Externals
#externals - Opening PHP's #internals to the outside
externals.io
May 22, 2025 at 6:25 PM
Reposted by Ignace Nyamagana Butera
The new @symfony.com #JsonPath component just got more useful: directly integrate it in your test cases to ensure everything is at the right place in your #JSON string/resource 👀

Experimental and to be tested in #Symfony 7.3 🙌

Pull request: github.com/symfony/symf...
May 20, 2025 at 7:15 AM
#PHP may be the first language to correctly support #RFC3986 #URI and #WHATWG #URL at the same time if
RFC wiki.php.net/rfc/url_pars... passes.

I created a polyfill which works on PHP8.1+ github.com/bakame-php/a... It will get tagged as stable once the RFC has passed.
PHP: rfc:url_parsing_api
wiki.php.net
May 6, 2025 at 8:39 PM
A new release of PHP domain parser has been released github.com/jeremykendal...

Please clear your cache if you are using one to make sure your will get access to the fixes and to the new features in the release

#PHP #Domain-parser #PublicSuffixList #IANA
Release 6.4.0 · jeremykendall/php-domain-parser
Added DomainName::withRootLabel, DomainName::withoutRootLabel, DomainName::isAbsolute methods to handle absolute domain names. DomainName::when to allow conditionable when building the domain. Fi...
github.com
April 26, 2025 at 11:36 AM
League/csv 9.22.0 is out with a new class the Buffer which enable buffering and performing CRUD operation on your data. Please read the documentation csv.thephpleague.com/9.0/writer/b... and the release notes for more github.com/thephpleague... #php #csv #leagueCSV
February 28, 2025 at 10:30 AM
Reposted by Ignace Nyamagana Butera
February 26, 2025 at 2:58 PM
Today, the #LeagueURI package has joined the 100M+ downloads club! Thanks for using my work in your codebase. I’d be truly grateful if you considered showing your support by becoming a sponsor to keep the adventure going! Thanks in advance! #PHP #OSS

github.com/sponsors/nya...
uri.thephpleague.com
Sponsor @nyamsprod on GitHub Sponsors
Ignace Nyamagana Butera, a PHP Developer, creator and maintainer of popular open-source software for PHP like league/uri and league/csv
github.com
January 25, 2025 at 7:09 AM
OK this still need some ironing but... in #LeagueCSV 9.22.0 a new interface is added `TabularData` which enables the following magic 😍 #PHP #interoperability #extension #tabulardata for more information and limitations check the documentation csv.thephpleague.com/9.0/reader/r...
January 18, 2025 at 9:41 AM