Read about upgrades, static analysis, GPT, Symfony and Laravel
The Patch for Laravel Container
How we Maintain Dozens of Symfony Workflows with Peace
Upgrading Sensio Security Annotation: The Full Story
Create Weird Fun PHPStan Rules like Nobody's Watching
Why AST beats GPTs - featuring php-parser, ChatGPT 4.5 and Grok 3
Custom PHPStan Rules to Improve Every Symfony project
Cost-effective Container Smoke Tests every Symfony Project must have
5 Books I enjoyed Reading in 2024
Alice, Nelmio, Hautelook, Faker - How to upgrade Doctrine Fixtures - Part 2
Symfony @required - Avoid the Temptation and Use it Right
Unused Definitions with Behat Static Analysis
Why Final Classes make Rector and PHPStan more powerful
Off the Beaten Path to Upgrade Symfony 2.8 to 7.2
How to flip Doctrine ODM repositories to Services
Alice, Nelmio, Hautelook, Faker - How to upgrade Doctrine Fixtures - Part 1
5 Ways to Extract Value from Overmocked Tests
How to Upgrade deprecated PHPUnit withConsecutive()
PHP is the Best Choice for Long‑Term Business
Scope and Downgrade your PHP Tools for Everyone to Use
Awesome PHP Packages from Japan
2 Tricks to get your Symfony configs lines to minimum
How to reload code highlighter on Livewire 3 component update
How to add visibility to 338 Class Constants in 25 seconds
Cool features of Swiss Knife
Get Quick Error Count for each PHPStan level
How adding Type Declarations makes Your Code Dangerous
Master the Change
Finalize Classes - Automated and Safe
Rector Book 2024 Release with Brand new Chapter
3 Signs Your Project is Becoming Legacy - Mock Rottening
Get Json output for PHPUnit 10
Zen Config in ECS 12
5 Books I enjoyed Reading in 2023
3 Signs Your Project is Becoming Legacy - Arrays Creep
3 Signs Your Project is Becoming Legacy and How to Avoid Them
How to Autowire Multiple Instances of Same Type in Symfony and Laravel
How to make your Tool Commands List Easy to Ready
From Symfony to Laravel - 5 Steps to Prepare your Symfony Project for Migration
From Symfony to Laravel - Can Laravel even Compiler Pass
How to take Advantage of 3rd party Dependency Injection Container
Easy and Quick way to Measure lines of Code in PHP
Removing Service from Laravel Container is not that Easy
How to Remove Transitional Dependencies You don't Need
Unleash the Power of Simplicity: PHP CLI App with Minimal Dependencies
Experiment: How I replaced Symfony DI with Laravel Container in ECS
How to avoid Maintaining Classes you Don't Use
Two Kinds of Legacy Code Upgrade
Moving from Disqus to Twitter to make Know-how Sharing Easier
What I prefer about Laravel Dependency Injection over Symfony
Introducing Bladestan - PHPStan analysis of Blade templates
To Route or To Action - That is the Question
Introducing Punchcard - Object Configs for Laravel
Why I Migrated This Website From Symfony To Laravel
How to ask DaVinci and Codex to get the right answer
Run Config Transformer Everyday to keep YAML Away
Lets Share Fails and Tricks with GPT
Good Bye, Monorepo
How can we Generate Unit Tests - Part 2: Building Scoring Script
How can we Generate Unit Tests - Part 1: Testability Score
How to release PHP 8.1 and 7.2 package in the Same Repository
How to Measure Your Type Coverage
How to Develop Sole Package in PHP 8.1 and Downgrade to PHP 7.2
8 News in Config Transformer that Converts Symfony YML to PHP
Can PHPStan find Dead Public Methods
Twig Smoke Rendering - Fortune Favors the Bold
Twig Smoke Rendering - Journey of Fails
Twig Smoke Rendering - Why do we Even Need it
5 Pitfalls of Upgrade to Native PHP Enums and How to Avoid Them
How to Make Configs like RectorConfig or ECSConfig for your Symfony Project
New in ECS: Simpler Config
How to test Symfony Routes to make Huge Refactoring Safe
How to Remove Dead Mock Calls from PHPUnit Tests
5 Constant Lists That Give Context to your Integers and Strings
How to Create Symfony Kernel for Tests with Different Configs
Get Rid of Mixed Callables with PHPStan
Not all Mixed Types are Equally Useless
How to Run Naked Unit Tests in a New Legacy Project
Decomposing Symfony Kernel: What does Minimal Symfony Bundle Do
When Symfony Http Kernel is a Too Big Hammer to Use
5 Commands from Easy CI that Makes Your CI Stronger
Introducing up-to 16 Times Faster Easy Coding Standard
7 Steps to Start with Parallel Run in PHP CLI App
Hidden Productivity Costs of Parallel Run
Parallel in PHP for Dummies Cooking a Family Dinner
STAMP #5: How do we Know Types of Template Variables
STAMP #4: How to Run PHPStan Rules on Temporary PHP File
STAMP #3: How to Turn TWIG Helper Functions to Origin Object
STAMP #2: How to Turn Messy TWIG PHP to Something Useful
STAMP #1: How to Compile Twig to PHP
STAMP #0: Static Analysis of Templates
How to Easily Protect your Code Base from Commented PHP Code
How I made Huge Mistake with Interpretation of Laravel Downloads
A Week in a Life of Employed Open‑Source Developer
How to Scope Your PHP Tool in 10 Steps
Why do we Scope PHP Tools
How to Replace Single Node with Two Nodes in Abstract Syntax Tree
How to make Upgrade Safe with Bridge Testing
Doctrine Annotations and Attributes Living Together in Peace
Why Should We Talk about Our Mistakes in PHP Community
How I Redesigned my Website the Way I Refactor Legacy Projects
How to Refactor Custom Doctrine Annotations to Attributes
How Exception to the Convention Does More Harm than Good
Rector - The Power of Automated Refactoring Book Released
Write GitHub Actions for Gitlab Too
PHPStan Generics for Dummies - With 2 Parents
Dependency Juggling Code Smell
How can We use GitHub Actions in Gitlab
2 Ways to Write Big Numbers More Readable
Monorepo Split GitHub Action 2.0 with Gitlab split is Out!
How to Traverse PHPDoc and Modify It
Never Forget Symfony Config Options Again
It's not Null, it's Enum
Tree Coding vs. Bush Coding
Why Coding Standards Should Not Be Part of CI
5 New Combos opened by Symfony 5.2 and PHP 8.0
New in Symplify 9: More than 110 PHPStan Rules
New in Symplify 9: Documentation Generator for PHP CS Fixer, Code Sniffer, PHPStan and Rector Rules
How to make a Dynamic Matrix in GitHub Actions
How to Split Test Monorepo with Composer 2
How We Stopped Merging Pull Requests
How to Add Colors to Continuous Integration Output
Symfony AutoBind Parameter is Dead, Long live Constant Parameters
How to Apply Coding Standard on PHP Snippets in Markdown Files
How Static Methods Kill You Like Corona
What if We Remove Strings from Symfony Extension Configuration
How to Get Rid of Magic, Static and Chaos from Latte Filters
How to Give Away 1500 € in 1 Tweet and Help 25 People Learn Something New
How to Switch from YAML Configs to PHP Today with Symplify
How to Update Hundreds of Test Fixtures with Single PHPUnit run
10 Cool Features You Get after switching from YAML to PHP Configs
The most Effective Test I found in 7 years of Testing
Cleaning Lady Notes: From Class Mess to PSR-4 Step by Step With Confidence
How to Patch a Package in Vendor, Yet Allow its Updates
How Will Programming look like in 2025
Why Class Constants Should be Typed
Drop RobotLoader and let Composer Deal with Autoloading
The Bulletproof Event Naming For Symfony Event Dispatcher
The Future of Pehapkari Meetups and Training - You
How to Upgrade to Symplify 8 - From Sniffs to PHPStan Rules
How to Hydrate Arrays to Objects via Constructor
How to Migrate Spaghetti to 304 Symfony 5 Controllers Over Weekend
Doctrine Entity Typed Properties With PHP 7.4
Art of Letting Go
We Do Not Need Senior Developers, We Need Senior Codebases
How to Test Monorepo After Split Before Actual Split
How to run Rector and PHPStan on Huge Project in 3 Seconds with PHPStorm
Switch Travis to GitHub Actions to Reduce Stress
Why is First Instant Feedback Crucial to Developers
Migrate Gedmo to KnpLabs
Doctrine Behaviors 2.0 - Reloaded
5 Things I Improve when I Get to new Repository
8 Steps You Can Make Before Huge Upgrade to Make it Faster, Cheaper and More Stable
How to Get Rid of Technical Debt or What We Would Have Done Differently 2 Years ago
The Single Best Skill to Master Command Line
How to Delegate Code Reviews to CI
From 0 Doc Types to Full Type Declaration with Dynamic Analysis
Still on PHPUnit 4 Come to PHPUnit 8 Together in a Day
How we Migrated 54 357-lines Application from Nette to Symfony in 2 People under 80 Hours
How we Completed Thousands of Missing @var Annotations in a Day
How to Convert Listeners to Subscribers and Reduce your Configs
Why use One-Time Migration Scripts
7 Tips to Write Flawless Issue Reports on Github
5 Workflow Tips every PHP Developer Should Know
Do you use PHP_CodeSniffer and PHP CS Fixer PHPStorm Plugin You are Slow and Expensive
Don't Ever use Symfony Listeners
Alias as a Code Smell
Rector European Tour in May & June 2019
Don't Give Up Your PHP Code for Compiler Passes so Easily
Symfony 4.2 is used Twice More than Symfony 3.4
Pattern Refactoring
What You Lose by Switching to Symfony
How to Upgrade Twig from Underscored to Namespaces
Removing Static - There and Back Again
How to Mock Final Classes in PHPUnit
How to Instantly Migrate Nette\Tester to PHPUnit
How to Migrate PhpSpec to PHPUnit
How to Detect Dead PHP Code in Code Review in 7 Snippets
Why we Migrated from Nette to Symfony in 3 Weeks - Part 3 - Brain Drain Dead Packages-Lock
Why we Migrated from Nette to Symfony in 3 Weeks - Part 2 - Escaping Semantic Hell
How to turn Laravel from Static to Dependency Injection in one Day
How to Upgrade Symfony 2.8 to 3.4
5 Tips to Effective Work with Github Repository
How we Migrated from Nette to Symfony in 3 Weeks - Part 1
Why Config Coding Sucks
New in Rector: Asterisk Type Match
2 Files that Your Symfony Application Misses
How to Kill Parents
How Writing Posts Helps you to Become Better Programmer
Your Most Favorite Posts in 2018
How To Convert All Your Symfony Service Configs to Autodiscovery
Thank You
Function create_function() is Deprecated in PHP 7.2 - How to Migrate
Kirill Smelov's PHPStorm Tips in 9 Gifs
The Rocket Science Behind Migration of Docblock Types to PHP Typehints
Don't Learn to Code
IT Bloggers, Deprecate Your Posts to Stop Spreading Legacy
14 Tips to Write PHP Code that is Hard to Maintain and Upgrade
How to Test Monorepo in 3 Layers
When You Should Use Monorepo and When Local Packages
How to Get PHP 7.4 Typed Properties to Your Code in Few Seconds
Will Autowired Arrays Finally Deprecate Tags in Symfony and Nette
Fatal error: Uncaught Error: [] operator not supported for strings in
Why AST Fixes your Coding Standard Better than Tokens
Brief History of Tools Watching and Changing Your PHP Code
How I Almost Missed My Talk in PHP Asia Conference
What is Your Third Door - Book Review
Hi, my name is Tom - Concat vs. Sprintf vs. In-String Variable
Open-Source Behind The Scenes - Finding the Rector Vision
New in Symplify 5: 3 News in EasyCodingStandard to Smoother Your Experience
7 Tips to Write Exceptions Everyone Will Love
Your Brain is Your Garden
5 Advices I Would Love to Get Before Starting to Maintain an Open Source
4 Ways to Add Global Option or Argument to Symfony Console Application
Ways I Fucked Up Open Source Code: Mock Everything and Test Units
Why and How to Avoid the Memory Lock
9 Features of PHPStorm Symfony Plugin You Should Not Miss in Gifs
What's New in PHP 7.3 in 30 Seconds in Diffs
Hidden Gems of PHP Packages: Symfony\Finder and SplFileInfo
Stylish and Standard Console Output with Symfony Style
5 Gotchas of the Bin File in PHP CLI Applications
Hidden Gems of PHP Packages: Nette\Utils
5 Signs You Should Never Have a Talk Abroad
Notes from 'Peace is Every Step' Book
6 Reasons Why Doctrine is Alive and Kicking
How to Convert Latte Templates to Twig in 27 Regular Expressions
Don't Read Books
14 Surprising Tips from Selling is Human to Influence Others
Collector Pattern for Dummies
How to Turn Mocks from Nightmare to Solid Kiss Tests
How to Migrate From PHP CS Fixer to ECS in 6 Steps
How to Migrate From PHP_CodeSniffer to ECS in 7 Steps
Symfony vs Laravel vs Nette - Which PHP Framework Should You Choose
Build Your First Symfony Console Application with Dependency Injection Under 4 Files
How to Test Private Services in Symfony
How to Load --config With Services in Symfony Console
Why You Should Combine Symfony Console and Dependency Injection
How Do You Treat Your Own First AI
Programming = Climbing a Huge Mountain
How I Got into Static Trap and Made Fool of Myself
4 Tips To Get Emotions to Your Blogging About Programming
The Best 5 of 256 Bloghacks Book
Try PSR-12 on Your Code Today
New in Coding Standard 4: Long Line Breaks Automated and 3 Legacy Prevention Fixers
How Teaching Suicides Itself by Killing the Passion
How to Criticize like a Senior Programmer
NEON vs. YAML and How to Migrate Between Them
Why is Collector Pattern so Awesome
Rector: Part 3 - Why Instant Upgrades
Rector: Part 2 - Maturity of PHP Ecosystem and Founding Fathers
Rector: Part 1 - What and How
Sleep Shorter to Get 62 % Smarter
How to Deal With Haters in Comments and Github
Clean and Decoupled Controllers, Commands and Event Subscribers Once and for All with Delegator Pattern
Composer Local Packages for Dummies
Life 3.0: What Will You Do When AI Takes Over the World
How to Write Interesting Jobs Offers for Programmers
7 Tips You Should Know Before Going To University
How to change PHP code with Abstract Syntax Tree
What can You Learn from Menstruation and Symfony Releases
IMbox Zero
How to use Repository with Doctrine as Service in Symfony
How to Get the Most Valuable Feedback You Can Get
3 non-IT Books That Help you to Become Better Programmer
How PHP Coding Standard Tools Actually Work
How to Write Custom Fixer for PHP CS Fixer 3
How to Write Custom Sniff for Code Sniffer 3+
How to Deprecate PHP Package Without Leaving Anyone Behind
Thank you David Grudl
How to refactor to new Dependency Injection features in Symfony 3.3
Combine power of PHP_CodeSniffer and PHP CS Fixer in 3 lines
3 Symfony and Laravel Patterns that Make Code Easy to Extend Without Modification
Drop all Service Tags in Your Nette and Symfony Applications
Why I Switched Scrutinizer for PHPStan and You Should Too
7 rad, které bych si dal před odchodem na vysokou školu