#phpcsfixer — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #phpcsfixer, aggregated by home.social.
-
Статанализ — must-have для проектов с Codex/ClaudeCode
На днях у Кирилла Мокевнина вышел пост про то, как он разлюбил динамическую типизацию. Мысль понятная: на больших кодовых базах отсутствие типов начинает дорого стоить. Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента . Современные агенты для разработки (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет. Основные промахи чаще про другое:
https://habr.com/ru/articles/993004/
#статистический_анализ #статический_анализ_кода #ruff #phpstan #phpcsfixer #php #python #go #codex #claude_code
-
Статанализ — must-have для проектов с Codex/ClaudeCode
На днях у Кирилла Мокевнина вышел пост про то, как он разлюбил динамическую типизацию. Мысль понятная: на больших кодовых базах отсутствие типов начинает дорого стоить. Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента . Современные агенты для разработки (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет. Основные промахи чаще про другое:
https://habr.com/ru/articles/993004/
#статистический_анализ #статический_анализ_кода #ruff #phpstan #phpcsfixer #php #python #go #codex #claude_code
-
RE: https://phpc.social/@jay/115811048552980980
My proposal to Rector was rightfully rejected, so I’m attempting to incorporate it into PHP CS Fixer now 🤞🏻. Here’s the link to my pull request, in case you want to check it out!
-
RE: https://phpc.social/@jay/115811048552980980
My proposal to Rector was rightfully rejected, so I’m attempting to incorporate it into PHP CS Fixer now 🤞🏻. Here’s the link to my pull request, in case you want to check it out!
-
After almost a year since I created it, my PR to #PHPCSFixer that introduces #PHPCompatibility check was merged 🥳. This improves our QA suite with another tool that can catch usage of language features not available on runtimes marked as supported.
-
After almost a year since I created it, my PR to #PHPCSFixer that introduces #PHPCompatibility check was merged 🥳. This improves our QA suite with another tool that can catch usage of language features not available on runtimes marked as supported.
-
My PR got merged, so starting from today @PhpSpec's #Prophecy library uses #PHPCSFixer 🥳. It was created so long ago that it didn't even include parallel runner in the dist config, so I need to make a follow up 😅.
-
My PR got merged, so starting from today @PhpSpec's #Prophecy library uses #PHPCSFixer 🥳. It was created so long ago that it didn't even include parallel runner in the dist config, so I need to make a follow up 😅.
-
Does anybody know a good code formatter for #HTML? I am looking for something like #ESLint Stylistic or #PHPCSFixer. And please don't suggest #Prettier, I know that it can format HTML as well, but I don't like that fact that they introduce changes in major versions that might reformat my entire code causing lots of conflicts in pull requests without the possibility to disable those changes.
-
Does anybody know a good code formatter for #HTML? I am looking for something like #ESLint Stylistic or #PHPCSFixer. And please don't suggest #Prettier, I know that it can format HTML as well, but I don't like that fact that they introduce changes in major versions that might reformat my entire code causing lots of conflicts in pull requests without the possibility to disable those changes.
-
In approximately 4 DAYS #PHPCSFixer's main package will hit the milestone of 150 MILLIONS of downloads 🥳! Thank you everyone for using our tool, we're happy to be able to make your development process easier ❤️.
-
It is with great pride that I will be a speaker again at the #PHPersSummit in Poznań 🥰! I will share a case study based on my #PHPCSFixer adventure, dealing with #OSS, and improving QA/CI setup in the projects in general.
See you all on📆 June 21st at 12:00pm!
-
I've just added arm64 support for #PHPCSFixer's #Docker images, so starting from the next release you can run Fixer via Docker on Apple Silicone chipsets natively, without Rosetta. I am not sure why we didn't add it when we introduced Docker builds 😅.
-
Has anyone implemented a custom #phpcsfixer rule that enforces only one chained method call per line? #php #phpcsfixer
-
Has anyone implemented a custom #phpcsfixer rule that enforces only one chained method call per line? #php #phpcsfixer
-
In 1 month time I'll hit the mark of being #PHPCSFixer's maintainer for 1 full year. I believe it was very busy & fruitful time that I can be proud of 😁. I was able to improve (directly or by pushing others into right direction) so many things, and also learn so much! #grateful
-
Mutation testing in #PHPCSFixer is ready 🥳! When it's merged, all pull requests will be covered with #Infection and checked if added/modified files are mutants-proof. It will enforce really good tests quality (which already has been high with MSI=80).
-
Mutation testing in #PHPCSFixer is ready 🥳! When it's merged, all pull requests will be covered with #Infection and checked if added/modified files are mutants-proof. It will enforce really good tests quality (which already has been high with MSI=80).
-
Another feedback for #PHPCSFixer's parallel analysis from Markus Podar, on a project with ~6k #PHP files 😍! Please note that results are achieved on different runtimes, as sequential analysis was done on a host, while parallel through Docker on Mac.
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7777#issuecomment-1975171349
-
Another feedback for #PHPCSFixer's parallel analysis from Markus Podar, on a project with ~6k #PHP files 😍! Please note that results are achieved on different runtimes, as sequential analysis was done on a host, while parallel through Docker on Mac.
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7777#issuecomment-1975171349
-
In #PHPCSFixer we have allowed coverage decrease threshold for failure set to 0.1%, so each pull request must provide tests for introduced changes 🫠. This may seem like a harsh requirement, but from #OSS maintenance point of view it's crucial.
-
I've just published #PHPCSFixer's version with parallel runner support as a #Docker image 🥳. It is development version of a tool based on my work in #️⃣7️⃣7️⃣7️⃣7️⃣. You can test it with:
docker run --rm -it -v $(pwd):/code wirone/php-cs-fixer:parallel check
-
I've successfully implemented per-file result reporting from worker to runner, which means progress output & cache storage works in REAL-TIME (like in sequential analysis) 🤩!
#️⃣7️⃣7️⃣7️⃣7️⃣ is probably the most impactful change in #PHPCSFixer in years!
-
I've fixed issues with #PHPCSFixer's official page deployment. The documentation is up-to-date now (we've been 2 majors late), links to test classes are correct, and there's information about #Docker usage on the main page 🙂.
-
I've fixed issues with #PHPCSFixer's official page deployment. The documentation is up-to-date now (we've been 2 majors late), links to test classes are correct, and there's information about #Docker usage on the main page 🙂.
-
This evening/night I am going to work on the initial version of my PR #️⃣7️⃣7️⃣7️⃣7️⃣. It will be my most important change provided to #PHPCSFixer. Actually I have it working already, but still need some polishing before publishing. Keep fingers crossed!
-
Since 7️⃣ is my favourite number and I always buy personalised football shirts with #️⃣7️⃣7️⃣, I just HAD TO take that opportunity and create pull request #️⃣7️⃣7️⃣7️⃣7️⃣ for my upcoming #PHPCSFixer BOMBAZO 🤩! Stay tuned!
-
I've never thought that my 100th merged pull request to #PHPCSFixer will be a revert of a PR that I reviewed and merged before 🥲. I guess we all make mistakes 🤷♂️.
Anyway, great milestone 🥳!
-
In order to use #PHPCSFixer with pre-built #Docker images, you just need to run Fixer in a container, with your code mounted as a volume. Use it locally, utilise in CI - the only limit is your imagination 😁. The main advantage is that you have full matrix of Fixer/PHP versions.
-
I am away from home, having free evening in the hotel. Probably I should take this opportunity and go to sleep 😂. Instead, I am going to run #PHPCSFixer hackathon: I am going to review and merge as many PRs as I can (maybe will create new ones too) 🤙!
-
I wanted to do it myself at some point, but in the end I co-authored it with Hannes 😎. I've provided thorough review how I see it (as I've been thinking about it for some time now), we agreed on the path and here it is! I am really happy this feature lands in #PHPCSFixer 🥰!
-
If you would like to have an impact on how feature requests are handled in #PHPCSFixer, then please go to ongoing RFC & let us know! Leave a comment, vote in a poll, upvote comments - any feedback is welcome 🙂.
My point of view, that is being discussed:
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/discussions/7498#discussioncomment-7749768 -
If you would like to have an impact on how feature requests are handled in #PHPCSFixer, then please go to ongoing RFC & let us know! Leave a comment, vote in a poll, upvote comments - any feedback is welcome 🙂.
My point of view, that is being discussed:
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/discussions/7498#discussioncomment-7749768 -
One of the major areas in which #PhpCsFixer isn't fully featured enough is line length rules.
I know this is incredibly difficult, especially if you make it configurable in any way. But that doesn't mean I don't want it 🤷♀️
When I'm working with #PHP I really miss what #Prettier does for #JS.
-
One of the major areas in which #PhpCsFixer isn't fully featured enough is line length rules.
I know this is incredibly difficult, especially if you make it configurable in any way. But that doesn't mean I don't want it 🤷♀️
When I'm working with #PHP I really miss what #Prettier does for #JS.
-
@outofcontrol This time it was a ludicrous behaviour when setting up #DDEV and #PhpCSFixer within #docker with "external tools". Phpstorm only excepted one single setting after each other and I had to restart the software after each setting so that Phpstorm would find config files in the docker container. After clearing the cache everything worked as expected.
-
@outofcontrol This time it was a ludicrous behaviour when setting up #DDEV and #PhpCSFixer within #docker with "external tools". Phpstorm only excepted one single setting after each other and I had to restart the software after each setting so that Phpstorm would find config files in the docker container. After clearing the cache everything worked as expected.
-
We are proud to announce that...
🎉 WE NOW SUPPORT #PHP 8.2 🎉
#PHPCSFixer can now be installed and run on most recent PHP version 😁. We did our best to ensure everything works correctly, but if you have any problems, just let us know!
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.15.0
-
Dear #PHP community, we want to ask you for help: please spread the info that #PHPCSFixer is here! 🙏
We're going to share helpful information in the future, but what even the best toot would be without the audience? 😉
-
Heck, #Jetbrains, why?
External tools are not project specific 😞
https://youtrack.jetbrains.com/issue/IDEA-120007/External-Tools-configuration-cant-be-saved-as-project-level-settingsI amended my description for running #PhpCSFixer within #Docker. With a little trick it's working though.
-
It took me two hours to figure out #PhpCSFixer within #Docker settings for #PHPStorm, so that all local #PHP dependencies are obsolete. But now it's working:
https://github.com/helmutstrasser/phpstorm-phpcsfixer-docker -
Am I really the only one that is missing proper line numbers in the output of #PHPCSFixer? That would allow me to use it to lint files in #NeoVim. At least nobody reacted on the issue I created: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6686
-
I also use #PhpCSFixer and in my projects always use tabs as anyone can have his/her own settings how wide the tabs will be shown.
I do this with the following rule:
`$config->setIndent("\t");`