markus staab | @[email protected]
@markusstaab
open-source lover, creator of staabm/phpstan-dba, extensive freetime @phpstan, @rectorphp and #phpunit contributor #sabredav, #amphp, #redaxo
Do you need help with #PHPStan in some form? I have plenty of experience in contributing changes to PHPStan core, or implementing custom extensions. staabm.github.io/2024/01/01/php… plz RT
I'd like to sponsor open source devs who're not yet very visible, but they contribute to the community to grow 👌♥️💙 Who'd you nominate? 🤗 (Github sponsors account required)
Vincent Langlet @MisterDeviling had a really busy weekend! He sent 27 (twenty seven!) pull requests to PHPStan and single-handedly fixed many issues. So just four days after PHPStan 2.1.18, there's another massive release available for everyone with changes from Vincent and…
We recently hit a production problem because dead code detection did not work like expected until now #phpstan only saw unreachable code after always terminating statements took me a while, but fixed dead code detection to check expressions - available in the upcoming release


Meanwhile, my tiny staabm/side-effects-detector composer package which is used in #phpunit to make running PHPT tests more efficient crossed the 30.000.000 downloads line (released Oct 2024) github.com/staabm/side-ef… 🚀
A big thank you goes out to the people behind @passbolt for sponsoring my open source work. I am really proud that companys start to realize how much positive impact my contributions have for the php ecosystem and they start supporting my efforts🥰
Just made #PHPUnit output test errors in the same format the --filter cli option expects them. that way you can just copy the text and paste it 1:1 into the cli arg, to re-run a single test-case for a specific dataset. available in version PHPUnit 12.3+ #dx

Markus is doing an excelent job for whole #php community, since the first tweet PR I saw from him 😇 Every package he comes across get excelent boost in performance, long awaited bugfixes and spotlight in the community. What an amazing human being 🙇👏👏👏
Over the weekend I fixed a bug in #phpunit which made it not respect the executionOrder for tests created via dataprovider. In the upcoming release the data set that made the test fail will be executed first, on "defects" executionOrder. likely speedup slow #infectionphp runs.
#phpstan rule of the day: implemented a very naive rule which just checks the content of files and counts single quotes, double quotes and parenthesis. in 98% of the files this should be a even number. if not you likely found invalid html, sql, javascript, php, strings,.. :)
In case you are getting timed-out #mutants while mutation testing with @infection_php (e.g. because of infinite loops), the upcoming release should run faster for you. on infection/infection with 16 timed-out mutants, we saw a ~21% perf boost 🚀
Over the weekend I fixed a bug in #phpunit which made it not respect the executionOrder for tests created via dataprovider. In the upcoming release the data set that made the test fail will be executed first, on "defects" executionOrder. likely speedup slow #infectionphp runs.
Long-awaiting official support for #PHP 8.4 in PHP-CS-Fixer is finally here 🥳! You may find more information in release notes. Big thanks for everyone involved in this ❤️. Let us know if you have any problems with Fixer in your PHP 8.4 projects ☺️! github.com/PHP-CS-Fixer/P…
past few weeks I have concentrated my opensource efforts onto @infection_php. focus was on developer experience - make it easer for newcomers to apply the tool and reduce noise by removing redundant mutations. this got just released. feedback welcome. #dx #mutationtesting


contribution wise I am now the #7 contributor on both, #phpunit and @infection_php #3 on @phpstan right behind the merge robot :-). if these tools save your ass, make sure your boss is sponsoring my #opensource efforts, so I can keep pushing this projects forward. 🤘
New @rectorphp 2.1 is here 🎉 🎉 🎉 * 4 new rules for PHP 8.4 🐘 * 2 new configuration options to enjoy gradual step-by-step upgrade without touching config 🚀 * a new typed collection set with 20 new rules for Doctrine 🧡 * 30 bugfixes... and more Thanks all contributors…
usually I use a deprecated-phpdoc to mark code which no longer should be used. This doesn't work for parameters though. PHP 8.4 native #[Deprecated] doesn't support it either. TIL: #[\JetBrains\PhpStorm\Deprecated] works for this case.
Ever ran your #phpunit test-suite to create a code-coverage report and after waiting minutes, a warning showed up, that you forget to configure/load the coverage driver (xdebug or pcov)? Fix it for you in the upcoming PHPUnit 12.x release - it will immediately stop.