Read about upgrades, static analysis, GPT, Symfony and Laravel
To Route or To Action - That is the Question
2023-03-15
Lets Share Fails and Tricks with GPT
2023-01-31
Good Bye, Monorepo
2023-01-28
Keep Cognitive Complexity Low with PHPStan
2022-12-28
How to Measure Your Type Coverage
Updated 2022-12-01
Can PHPStan find Dead Public Methods?
Updated 2022-12-01
Twig Smoke Rendering - Journey of Fails
2022-06-20
How to Upgrade Latte 2 Macro to Latte 3 Tag
2022-05-23
5 Steps to Get Ready for Latte 3
2022-05-19
New in ECS: Simpler Config
2022-05-09
How to Test Latte Macro in 4 Steps
2022-04-18
Get Rid of Mixed Callables with PHPStan
2022-01-31
Not all Mixed Types are Equally Useless
2021-11-22
Hidden Productivity Costs of Parallel Run
2021-09-27
STAMP #4: How to Run PHPStan Rules on Temporary PHP File
Updated 2021-11-01
STAMP #1: How to Compile Twig to PHP
2021-08-16
STAMP #0: Static Analysis of Templates
2021-08-09
How to Scope Your PHP Tool in 10 Steps
2021-07-08
Why do we Scope PHP Tools
2021-07-05
How to make Upgrade Safe with Bridge Testing
2021-06-21
Rector - The Power of Automated Refactoring Book Released
Updated 2021-06-01
Write GitHub Actions for Gitlab Too
2021-05-10
Dependency Juggling Code Smell
2021-04-26
How can We use GitHub Actions in Gitlab?
2021-04-19
2 Ways to Write Big Numbers More Readable
2021-04-12
How to Traverse PHPDoc and Modify It
2021-03-29
Never Forget Symfony Config Options Again
2021-03-15
The Best Time to Switch Gitlab to GitHub
2021-03-01
It's not Null, it's Enum
2021-02-22
How Dangerous is Your Nette Template Assign
2021-02-15
Tree Coding vs. Bush Coding
2021-02-11
Effective Debug Tricks: Narrow Scoping
2021-02-01
PHPStan Abstract Parent Generics for Dummies
Updated 2021-05-01
New in Symplify 9: Markdown Diff
2020-12-07
New in Symplify 9: Documentation Generator for PHP CS Fixer, Code Sniffer, PHPStan and Rector Rules
2020-11-30
The Bullet Proof Symfony Command Naming
2020-10-26
How to Split Test Monorepo with Composer 2
2020-10-19
How We Stopped Merging Pull Requests
Updated 2021-02-01
How to Reveal Static Call Relationships in Your Code
Updated 2021-08-01
How Static Methods Kill You Like Corona
2020-08-31
How to Get Rid of Magic, Static and Chaos from Latte Filters
Updated 2020-09-01
How to Switch from YAML/XML Configs to PHP Today with Symplify
Updated 2021-06-01
Cleaning Lady Notes: From Class Mess to PSR-4 Step by Step With Confidence
Updated 2020-08-01
How Will Programming look like in 2025?
2020-06-29
Why Class Constants Should be Typed
2020-06-22
How to create a Monorepo from Existing Repositories in 7 Steps
Updated 2020-08-01
The Bulletproof Event Naming For Symfony Event Dispatcher
Updated 2020-05-01
How to Upgrade to Symplify 8 - From Fixers to Rector Rules
Updated 2021-12-01
How to Upgrade to Symplify 8 - From Sniffs to PHPStan Rules
Updated 2020-08-01
Don't Show Your Privates to Public
2020-03-30
Doctrine Entity Typed Properties With PHP 7.4
Updated 2020-11-01
Art of Letting Go
2020-03-09
Local Packages 3 Years Later
2020-02-17
Migrate Gedmo to KnpLabs
Updated 2022-11-01
Doctrine Behaviors 2.0 - Reloaded
2019-12-30
How to Get Rid of Technical Debt or What We Would Have Done Differently 2 Years ago
Updated 2020-08-01
The Single Best Skill to Master Command Line
2019-11-25
How to Delegate Code Reviews to CI
Updated 2020-12-01
From 0 Doc Types to Full Type Declaration with Dynamic Analysis
Updated 2020-08-01
Still on PHPUnit 4? Come to PHPUnit 8 Together in a Day
Updated 2020-11-01
How we Upgraded Pehapkari.cz from Symfony 4 to 5 in 25 days
Updated 2020-11-01
How we Migrated 54 357-lines Application from Nette to Symfony in 2 People under 80 Hours
Updated 2020-06-01
Standalone Symfony Console from the Scratch
Updated 2020-06-01
Standalone Symfony Event Dispatcher from the Scratch
Updated 2020-06-01
How we Completed Thousands of Missing @var Annotations in a Day
Updated 2020-08-01
How to Convert Listeners to Subscribers and Reduce your Configs
Updated 2020-08-01
Why use One-Time Migration Scripts
Updated 2020-08-01
7 Tips to Write Flawless Issue Reports on Github
Updated 2020-11-01
7 News and Changes in Symplify 6
Updated 2020-11-01
Don't Ever use Symfony Listeners
2019-05-16
Hidden Gems of PHP Packages: Psalm Fixing Your Code
Updated 2019-06-01
Is Rector Saving you Time? Support it on GitHub Sponsors
Updated 2021-05-01
Alias as a Code Smell
Updated 2020-08-01
Rector European Tour in May & June 2019
2019-04-29
Pattern Refactoring
2019-04-15
What You Lose by Switching to Symfony
2019-04-08
How to Upgrade Twig from Underscored to Namespaces
Updated 2020-11-01
Removing Static - There and Back Again
2019-04-01
How to Mock Final Classes in PHPUnit
2019-03-28
How to Instantly Migrate Nette\Tester to PHPUnit
Updated 2020-11-01
How to Detect Dead PHP Code in Code Review in 7 Snippets
Updated 2020-11-01
Why we Migrated from Nette to Symfony in 3 Weeks - Part 3 - Brain Drain Dead Packages-Lock
2019-03-11
How to turn Laravel from Static to Dependency Injection in one Day
Updated 2020-11-01
How to Upgrade Symfony 2.8 to 3.4
Updated 2020-11-01
Why Config Coding Sucks
2019-02-14
New in Rector: Asterisk Type Match
Updated 2021-12-01
Monorepo Composer Magic
2019-01-31
2 Files that Your Symfony Application Misses
2019-01-28
How to Kill Parents
2019-01-24
9 Steps to Migrate From Jekyll to Statie
2019-01-10
Your Most Favorite Posts in 2018
2018-12-31
Thank You
2018-12-24
Function create_function() is Deprecated in PHP 7.2 - How to Migrate?
Updated 2020-08-01
Kirill Smelov's PHPStorm Tips in 9 Gifs
2018-12-13
The Rocket Science Behind Migration of Docblock Types to PHP Typehints
Updated 2020-08-01
Don't Learn to Code
2018-12-06
How to Test Monorepo in 3 Layers
Updated 2021-02-01
How to Get PHP 7.4 Typed Properties to Your Code in Few Seconds
Updated 2020-11-01
Will Autowired Arrays Finally Deprecate Tags in Symfony and Nette?
Updated 2021-02-01
Fatal error: Uncaught Error: [] operator not supported for strings in
Updated 2020-11-01
7 Tips to Get the Most out of Travis CI
2018-10-29
Brief History of Tools Watching and Changing Your PHP Code
Updated 2020-12-01
What is Your Third Door? - Book Review
2018-10-15
New in Symplify 5: Create, Merge and Split Monorepo with 1 Command
Updated 2020-12-01
New in Symplify 5: Public Method Order and External Final in CodingStandard
Updated 2020-08-01
New in Symplify 5: 3 News in EasyCodingStandard to Smoother Your Experience
Updated 2020-08-01
7 Tips to Write Exceptions Everyone Will Love
Updated 2020-11-01
Your Brain is Your Garden
2018-09-13
Why and How to Avoid the Memory Lock
2018-08-27
What's New in PHP 7.3 in 30 Seconds in Diffs
2018-08-16
Hidden Gems of PHP Packages: Nette\Utils
2018-07-30
5 Signs You Should Never Have a Talk Abroad
2018-07-23
Notes from 'Peace is Every Step' Book
2018-07-12
6 Reasons Why Doctrine is Alive and Kicking
2018-07-09
How to Convert Latte Templates to Twig in 27 Regular Expressions
Updated 2019-03-01
Don't Read Books
2018-06-28
Open Source is Selfish
2018-06-21
Collector Pattern for Dummies
2018-06-14
How to Turn Mocks from Nightmare to Solid Kiss Tests
Updated 2020-08-01
How to Migrate From PHP CS Fixer to ECS in 6 Steps
Updated 2020-11-01
How to Migrate From PHP_CodeSniffer to ECS in 7 Steps
Updated 2020-11-01
The Boss vs. The Masseuse Way to Add Coding Standards to a Big Project
Updated 2021-02-01
Is Your Code Readable By Humans? Cognitive Complexity Tells You
Updated 2023-03-01
How to Test Private Services in Symfony
Updated 2019-04-01
How to Load --config With Services in Symfony Console
Updated 2020-11-01
Rectify: Turn All Action Injects to Constructor Injection in Your Symfony Application
Updated 2020-08-01
How Do You Treat Your Own First AI?
2018-05-03
Programming = Climbing a Huge Mountain
2018-04-30
5 Steps to Your First Fixer or Sniff Test
2018-04-16
The Best 5 of 256 Bloghacks Book
2018-04-12
Try PSR-12 on Your Code Today
2018-04-09
New in Coding Standard 4: Long Line Breaks Automated and 3 Legacy Prevention Fixers
Updated 2020-08-01
New in Easy Coding Standard 4: Clean Symfony Standard with Yaml and Services
Updated 2020-08-01
How to Criticize like a Senior Programmer
2018-03-19
Monorepo on the Rise in PHP
2018-03-15
NEON vs. YAML and How to Migrate Between Them
Updated 2018-12-01
Why is Collector Pattern so Awesome
2018-03-08
Rector: Part 3 - Why Instant Upgrades
2018-03-05
New in Symplify 3: 4 Improvements in EasyCodingStandard
Updated 2020-08-01
Rector: Part 1 - What and How
Updated 2020-11-01
Sleep Shorter to Get 62 % Smarter
2018-02-12
How to Run Symfony Processes Asynchronously
Updated 2018-12-01
New in Symplify 3: 4 Time-saving Coding Standard Checkers
Updated 2020-08-01
Composer Local Packages for Dummies
2017-12-25
United PHP 7.1 Adoption 6 Months Later
2017-11-27
How to change PHP code with Abstract Syntax Tree
Updated 2022-10-01
IMbox Zero
2017-10-23
How to use Repository with Doctrine as Service in Symfony
Updated 2021-02-01
4 Simple Checkers for Coding Standard Haters but Clean Code Lovers
Updated 2020-08-01
How ApiGen Survived its Own Death
Updated 2018-12-01
How to Apply Nette Coding Standard in Your Project
Updated 2018-12-01
7 New Features in Easy Coding Standard 2.2
Updated 2020-11-01
How PHP Coding Standard Tools Actually Work
2017-07-31
How to Write Custom Fixer for PHP CS Fixer 3
Updated 2021-10-01
How to Write Custom Sniff for Code Sniffer 3.3
Updated 2020-08-01
Thank you David Grudl
2017-06-01
Combine power of PHP_CodeSniffer and PHP CS Fixer in 3 lines
Updated 2020-08-01
Fast and Easy Way to Learn Complex Topics
2017-02-22
Drop all Service Tags in Your Nette and Symfony Applications
Updated 2017-05-01
Jak psát zajímavé inzeráty pro ajťáky
2017-01-10
How to write open-source in PHP 2: Rise value of your package with help of skeleton
Updated 2021-02-01
How to write open-source in PHP 1: Create a repository on Github
Updated 2021-02-01