Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
I was randomly drifting through Github trending PHP repositories, and checking how popular projects use `rector.php`.
-
Easy Coding Standard got a [new release last week](/blog/ecs-13-2-lighter-smarter-more-fun-for-large-legacy-projects) with a couple of cool features and new dead docblock rules.
-
Easy Coding Standard focuses on easy setup, easy run, and easy use.
-
PHPStan core gets you to level 10 with solid type checks.
-
We've all seen it: `new Human()` followed by three `setName()`, `setAge()`, `setEmail()` calls that are always there.
-
In previous parts ([part 1](/blog/alice-nelmio-hautelook-faker-and-how-to-upgrade-doctrine-fixtures-part-1) and [part 2](/blog/alice-nelmio-hautelook-faker-and-how-to-upgrade-doctrine-fixtures-part-2)) we looked at a situation where we are stuck with Alic…
-
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 books I really enjoyed reading in 2025.
-
[I switched this website from Symfony to Laravel](/blog/why-I-migrated-this-website-from-symfony-to-laravel) 2,5 years ago, and I [love Laravel Container](/blog/what-i-prefer-about-laravel-dependency-injection-over-symfony) ever since.
-
There are dozens of posts and talks about how Symfony Workflows work and what they are for.
-
The `@Security` annotation, which originated in the Sensio extra bundle, goes a long way.
-
There are 2 ways to use PHPStan.
-
As I'm manually writing this article, GPTs are on the hype train now.
-
Using PHPStan is not just about getting to level 8 with less than 100 ignored cases.
-
Today, I'll share a trademark secret that allows us to move fast and make huge changes without fear.
-
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.
-
In the first part, [we've kicked off the plan](/blog/alice-nelmio-hautelook-faker-and-how-to-upgrade-doctrine-fixtures-part-1) to upgrade all these packages to their latest version, like a blind map into unknown territory.
-
Symfony 3 introduced a [`@required` annotation](https://symfony.com/doc/3.x/service_container/calls.html) (now also an attribute) that allows injecting more services via the setter method apart constructor.
-
Recently, I've been working on projects with Behat tests.
-
Final classes bring much more value than `extends` it lacks.
-
There are two types of upgrades.
-
While working with legacy projects, I often encountered this anti-pattern of misusing repositories.
-
Upgrading Doctrine Fixtures can be challenging work.
-
The legacy projects we work with are often flooded with mocks.
-
The `withConsecutive()` method [was deprecated in PHPUnit 9](https://github.com/sebastianbergmann/phpunit/issues/4255#issuecomment-636422439) and removed in PHPUnit 10.
-
Recently, I listened to Lex Friedman's [podcast with Pieter Levels](https://open.spotify.com/episode/6KBpL2XfR9VdojbKNpE7cX).
-
Yesterday, I came across a cool PHP tool.
-
Last month, I spent in Japan to travel and absorb the local culture.
-
I believe that every Symfony app can fit service config under 5 lines.
-
I use Livewire 3 for interactive forms and fast clickable maps.
-
In PHP, we have classes with methods inside them.
-
When using a Swiss knife, we think of a tool with many practical abilities.
-
When I come to a new project, I want to make a rough idea of what I'm dealing with in a few minutes.
-
...and how to avoid it.
-
When we upgrade a new project to the best version possible, the latest PHP and framework versions, it's not only about changing syntax sugar to a more fancy one.
-
Final classes have [many](https://ocramius.github.io/blog/when-to-declare-classes-final/) [great](https://tomasvotruba.com/blog/2019/01/24/how-to-kill-parents) [benefits](https://matthiasnoback.nl/2018/09/final-classes-by-default-why/) for future human re…
-
I'm happy to introduce the latest update to our book - *Rector, the Power of Automated Refactoring*, along with Rector version 0.19.5 from this week.
-
In [the first post](/blog/3-signs-your-project-is-becoming-legacy-and-how-to-avoid-them), we looked at the long-term effects of our decisions.
-
Early this year, I created a few custom Rector rules for our client.
-
Easy Coding Standard focuses on easy run, setup, and use.
-
I've read over a dozen books in 2023.
-
In [the first post](/blog/3-signs-your-project-is-becoming-legacy-and-how-to-avoid-them), we looked at the long-term effects of our decisions.
-
Taking care of a software project long-term is not about immediate action but routine and regular checks.
-
Do you work with Symfony from 2 through 7?
-
Do you use Symfony-console based tools?
-
Framework migration is a challenge few choose to take - yet in some cases, it makes sense for business, project health, and pure joy from coding.
-
Do you want to migrate your Symfony project to Laravel and not sure if it "handles it"?
-
When Nuno sent me a Pest plugin for type coverage that runs [TomasVotruba/type-coverage](https://github.com/TomasVotruba/type-coverage), I looked for the PHPStan container use.
-
The famous [phploc](https://github.com/sebastianbergmann/phploc) package to measure project size was archived by Sebastian on Jan 10, 2023.
-
Last month I successfully [switched the Symfony container for Laravel one](/blog/experiment-how-i-replaced-symfony-di-with-laravel-container-in-ecs) in Easy Coding Standard.
-
In the last post [I shared a trick](/blog/unleash-the-power-of-simplicity-php-cli-app-with-minimal-dependencies) on how to **reduce CLI project /vendor size by 70 %**.