Sponsor of the Day:
Jerkmate
https://tomasvotruba.com/blog/not-all-mixed-types-are-equally-useless
Not all Mixed Types are Equally Useless | Tomas Votruba
Do you have a big project where you try to raise the PHPStan level as high as possible? Yet, you're stuck on level 4 or 5 with thousands of errors? We all have...
tomas votrubamixedtypesequallyuseless
https://tomasvotruba.com/blog/2018/03/19/how-to-criticize-like-a-senior-programmer
How to Criticize like a Senior Programmer | Tomas Votruba
As I spend most of my socials online time on Github and PHP-related discussion, I've noticed **many people do so many wrong things** while giving critics. I...
tomas votrubacriticizelikeseniorprogrammer
https://tomasvotruba.com/blog/dependency-juggling-code-smell
Dependency Juggling Code Smell | Tomas Votruba
The best way to pass dependencies is via constructor injection. Only in services, we need the dependency in. I've noticed that **sometimes the dependency is...
code smelltomas votrubadependencyjuggling
https://tomasvotruba.com/blog/5-books-i-enjoyed-reading-in-2024
5 Books I enjoyed Reading in 2024 | Tomas Votruba
Another year is gone, and it's [tradition](/blog/5-books-i-enyjoed-reading-in-2023) to pick 5 books I enjoyed reading in 2024.
5 bookstomas votrubaenjoyedreading2024
https://tomasvotruba.com/blog/2020/02/10/how-to-test-monorepo-after-split-before-actual-split
How to Test Monorepo After Split Before Actual Split | Tomas Votruba
In 14 months old post [How to Test Monorepo in 3 Layers](/blog/2018/11/22/how-to-test-monorepo-in-3-layers/#3-after-split-testing) we talked about testing...
tomas votrubatestmonoreposplitactual
https://tomasvotruba.com/blog/5-books-2025
5 Books I Enjoyed Reading in 2025 | Tomas Votruba
Keeping the tradition from [previous](/blog/5-books-i-enjoyed-reading-in-2024) [years](/blog/5-books-i-enyjoed-reading-in-2023), here is my short list of 5...
5 bookstomas votrubaenjoyedreading2025
https://tomasvotruba.com/blog/2018/11/08/fatal-error-uncaught-error-operator-not-supported-for-strings-in
Fatal error: Uncaught Error: [] operator not supported for strings in | Tomas Votruba
That's right! PHP 5.6 and 7.0 are entering EOL - end of ~~line~~ life this December. Social networks, Slacks, Twitter, Reddit are...
fatal error uncaughttomas votrubaoperatorsupportedstrings
https://tomasvotruba.com/blog/2019/03/07/why-we-migrated-from-nette-to-symfony-in-3-weeks-part-2
Why we Migrated from Nette to Symfony in 3 Weeks - Part 2 - Escaping Semantic Hell | Tomas Votruba
Do you want to **migrate your project from Nette to Symfony**? In [part 1](/blog/2019/02/21/how-we-migrated-from-nette-to-symfony-in-3-weeks-part-1/) we showed...
3 weekspart 2hell tomasmigratednette
https://tomasvotruba.com/blog/2019/02/28/how-to-upgrade-symfony-2-8-to-3-4
How to Upgrade Symfony 2.8 to 3.4 | Tomas Votruba
Are you Symfony programmer? Do you work on a successful project? Then upgrading the Symfony project is a work you can't avoid. Almost a year ago I wrote about...
2 8 3tomas votrubaupgradesymfony4
https://tomasvotruba.com/blog/2018/11/26/14-tips-to-write-php-code-that-is-hard-to-maintain-and-upgrade
14 Tips to Write PHP Code that is Hard to Maintain and Upgrade | Tomas Votruba
Today I'll show you how to own your company. All you need to do is write code that no-one can read, is hard to refactor and creates technical debt. It's not...
14 tipsphp codetomas votrubawritehard
https://tomasvotruba.com/blog/2020/10/12/how-we-stopped-merging-pull-requests
How We Stopped Merging Pull Requests | Tomas Votruba
What comes before merging a pull request? Code-review, feedback from developers, and fixes to make the reviewer happy. After that, we only need the tests,...
pull requeststomas votrubastoppedmerging
https://tomasvotruba.com/blog/how-we-maintain-dozens-of-symfony-workflows-with-peace
How we Maintain Dozens of Symfony Workflows with Peace | Tomas Votruba
There are dozens of posts and talks about how Symfony Workflows work and what they are for. To give you the simplest example, if you have a post - it can be...
tomas votrubamaintaindozenssymfonyworkflows
https://tomasvotruba.com/blog/2ways-to-write-big-numbers-more-readable
2 Ways to Write Big Numbers More Readable | Tomas Votruba
Have you seen a number in your code that does not make any sense? We don't talk about 1, 2, or 3. I mean big numbers like 965039008. How would you spell it...
2 waysbig numberstomas votrubawritereadable
https://tomasvotruba.com/
Change Fast and Safely | Tomas Votruba
tomas votrubachangefastsafely