Post Archive
2021
2020
-
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: Skipper - Skipping Files and Rules made Simple
-
New in Symplify 9: Markdown Diff
-
New in Symplify 9: Documentation Generator for PHP CS Fixer, Code Sniffer, PHPStan and Rector Rules
-
How to get a Dynamic PHP Version Matrix in GitHub Actions
-
How to make a Dynamic Matrix in GitHub Actions
-
New in Symplify 9: Monorepo Split with GitHub Action
-
Symplify Monorepo Builder Split - Fractal of Bad Design
-
New in Symplify 9: Composer Json Manipulator - In Object API
-
The Bullet Proof Symfony Command Naming
-
How to Split Test Monorepo with Composer 2
-
How We Stopped Merging Pull Requests
-
-
Updated Feb, 2021
-
How to Reveal Static Call Relationships in Your Code
-
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?
-
Introducing Object Calisthenics Rules for PHPStan
-
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
-
-
Updated Sep, 2020
-
4 Ways to Make Your Nette Project More Readable
-
How to Give Away 1500 € in 1 Tweet and Help 25 People Learn Something New
-
How to Switch from YAML/XML Configs to PHP Today with Symplify
-
-
Updated Aug, 2020
-
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
-
-
Updated Aug, 2020
-
How to Patch a Package in Vendor, Yet Allow its Updates
-
How Will Programming look like in 2025?
-
Why Class Constants Should be Typed
-
How to create a Monorepo from Existing Repositories in 7 Steps
-
-
Updated Aug, 2020
-
Drop RobotLoader and let Composer Deal with Autoloading
-
-
Updated Jun, 2020
-
@inject or @required will Get You Any Services Fast
-
The Bulletproof Event Naming For Symfony Event Dispatcher
-
-
Updated May, 2020
-
The Future of Pehapkari Meetups and Training - You
-
How to Upgrade to Symplify 8 - From Fixers to Rector Rules
-
-
Updated Aug, 2020
-
How to Upgrade to Symplify 8 - From Sniffs to PHPStan Rules
-
-
Updated Aug, 2020
-
Forget Complex Migrations, Use Cleaning Lady Checklist
-
How to Hydrate Arrays to Objects via Constructor
-
How to Migrate Spaghetti to 304 Symfony 5 Controllers Over Weekend
-
How to Find Dead Symfony Routes
-
-
Updated Apr, 2020
-
Don't Show Your Privates to Public
-
Doctrine Entity Typed Properties With PHP 7.4
-
-
Updated Nov, 2020
-
Statie is Dead, Long live Symfony Static Dumper
-
Art of Letting Go
-
We Do Not Need Senior Developers, We Need Senior Codebases
-
Local Packages 3 Years Later
-
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
-
Introducing PHAR for Easy Coding Standard
-
Why is First Instant Feedback Crucial to Developers?
-
Migrate Gedmo to KnpLabs
-
-
Updated Nov, 2020
2019
-
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
-
-
Updated Aug, 2020
-
How to Box Symfony App to PHAR without Killing Yourself
-
The Single Best Skill to Master Command Line
-
How to Delegate Code Reviews to CI
-
-
Updated Dec, 2020
-
From 0 Doc Types to Full Type Declaration with Dynamic Analysis
-
-
Updated Aug, 2020
-
Still on PHPUnit 4? Come to PHPUnit 8 Together in a Day
-
-
Updated Nov, 2020
-
All You Always Wanted to Know About Monorepo But Were Afraid To Ask
-
Why Software Articles Must be CI Tested
-
How we Upgraded Pehapkari.cz from Symfony 4 to 5 in 25 days
-
-
Updated Nov, 2020
-
How to Speedup Test Coverage on Travis by 95 %
-
How we Migrated 54 357-lines Application from Nette to Symfony in 2 People under 80 Hours
-
-
Updated Jun, 2020
-
Do We Have More than 1024 PHP Groups in The World?
-
Standalone Symfony Console from the Scratch
-
-
Updated Jun, 2020
-
Standalone Symfony Event Dispatcher from the Scratch
-
-
Updated Jun, 2020
-
How we Completed Thousands of Missing @var Annotations in a Day
-
-
Updated Aug, 2020
-
How to Convert Listeners to Subscribers and Reduce your Configs
-
-
Updated Aug, 2020
-
Why use One-Time Migration Scripts
-
-
Updated Aug, 2020
-
7 Tips to Write Flawless Issue Reports on Github
-
-
Updated Nov, 2020
-
5 Workflow Tips every PHP Developer Should Know
-
Do you use PHP_CodeSniffer and PHP CS Fixer PHPStorm Plugin? You are Slow and Expensive
-
7 News and Changes in Symplify 6
-
-
Updated Nov, 2020
-
How to upgrade Meetup.com API to OAuth2 with Guzzle
-
Don't Ever use Symfony Listeners
-
Hidden Gems of PHP Packages: Psalm Fixing Your Code
-
-
Updated Jun, 2019
-
Is Rector Saving you Time? Support it on Patreon!
-
End of goPhp71.org
-
Alias as a Code Smell
-
-
Updated Aug, 2020
-
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
-
Is Zend Dead? Is Laravel Losing Breath? Trends of PHP Frameworks in Numbers
-
What You Lose by Switching to Symfony
-
How to Upgrade Twig from Underscored to Namespaces
-
-
Updated Nov, 2020
-
Removing Static - There and Back Again
-
How to Mock Final Classes in PHPUnit
-
How to Instantly Migrate Nette\Tester to PHPUnit
-
-
Updated Nov, 2020
-
How to Instantly Migrate PhpSpec to PHPUnit
-
-
Updated Nov, 2020
-
How to Detect Dead PHP Code in Code Review in 7 Snippets
-
-
Updated Nov, 2020
-
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
-
-
Updated Nov, 2020
-
How to Upgrade Symfony 2.8 to 3.4
-
-
Updated Nov, 2020
-
5 Tips to Effective Work with Github Repository
-
How we Migrated from Nette to Symfony in 3 Weeks - Part 1
-
How we Automated Shopsys Packages Release from 2 days to 1 Console Command
-
Why Config Coding Sucks
-
Introducing Neon to YAML Converter
-
-
Updated Jul, 2020
-
What I Learned by Using thecodingmachine/safe
-
New in Rector: Asterisk Type Match
-
-
Updated Aug, 2020
-
Monorepo Composer Magic
-
2 Files that Your Symfony Application Misses
-
How to Kill Parents
-
FriendsofPHP.org is Opening API with 250 Meetups a Month
-
9 Steps to Migrate From Jekyll to Statie
2018
-
Your Most Favorite Posts in 2018
-
Thank You
-
Function create_function() is Deprecated in PHP 7.2 - How to Migrate?
-
-
Updated Aug, 2020
-
Kirill Smelov's PHPStorm Tips in 9 Gifs
-
The Rocket Science Behind Migration of Docblock Types to PHP Typehints
-
-
Updated Aug, 2020
-
Don't Learn to Code
-
IT Bloggers, Deprecate Your Posts to Stop Spreading Legacy
-
How to Manage Configuration in Symfony without Bundle, Extension, and Configuration?
-
14 Tips to Write PHP Code that is Hard to Maintain and Upgrade
-
How to Test Monorepo in 3 Layers
-
-
Updated Feb, 2021
-
When You Should Use Monorepo and When Local Packages
-
How to Get PHP 7.4 Typed Properties to Your Code in Few Seconds
-
-
Updated Nov, 2020
-
Will Autowired Arrays Finally Deprecate Tags in Symfony and Nette?
-
-
Updated Feb, 2021
-
Fatal error: Uncaught Error: [] operator not supported for strings in
-
-
Updated Nov, 2020
-
How to Teach Your Team Private Method Sorting in 3 mins
-
7 Tips to Get the Most out of Travis CI
-
Why AST Fixes your Coding Standard Better than Tokens
-
Brief History of Tools Watching and Changing Your PHP Code
-
-
Updated Dec, 2020
-
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
-
New in Symplify 5: Create, Merge and Split Monorepo with 1 Command
-
-
Updated Dec, 2020
-
New in Symplify 5: Public Method Order and External Final in CodingStandard
-
-
Updated Aug, 2020
-
New in Symplify 5: Generate Rich, Precise and Smart Changelog in Seconds
-
Open-Source Behind The Scenes - Finding the Rector Vision
-
New in Symplify 5: 3 News in EasyCodingStandard to Smoother Your Experience
-
-
Updated Aug, 2020
-
New in Symplify 5: 3 New Cool Features of PackageBuilder
-
7 Tips to Write Exceptions Everyone Will Love
-
-
Updated Nov, 2020
-
Your Brain is Your Garden
-
5 Advices I Would Love to Get Before Starting to Maintain an Open Source
-
How to Develop Multiple Symfony Applications Fast while Keeping the Quality
-
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 Symfony Plugin You Should Not Miss in Gifs
-
Painful Experience over Solutions: Extend Configuration in Easy Admin Bundle
-
What's New in PHP 7.3 in 30 Seconds in Diffs
-
Hidden Gems of PHP Packages: Symfony\Finder and SplFileInfo
-
Why is Your Company Losing Money By Not Open Sourcing 2: Code Quality
-
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
-
Why is Your Company Losing Money by not Open Sourcing: 1. Hiring
-
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
-
-
Updated Mar, 2019
-
Cluster: More Interactive than a Book, Deeper than a Post
-
Don't Read Books
-
Let Changelog Linker Generate CHANGELOG.md for You
-
Open Source is Selfish
-
14 Surprising Tips from Selling is Human to Influence Others
-
Collector Pattern for Dummies
-
How to Turn Mocks from Nightmare to Solid Kiss Tests
-
-
Updated Aug, 2020
-
How to Migrate From PHP CS Fixer to EasyCodingStandard in 6 Steps
-
-
Updated Nov, 2020
-
How to Migrate From PHP_CodeSniffer to EasyCodingStandard in 7 Steps
-
-
Updated Nov, 2020
-
Symfony vs Laravel vs Nette - Which PHP Framework Should You Choose
-
Build Your First Symfony Console Application with Dependency Injection Under 4 Files
-
The Boss vs. The Masseuse Way to Add Coding Standards to a Big Project
-
-
Updated Feb, 2021
-
Is Your Code Readable By Humans? Cognitive Complexity Tells You
-
-
Updated May, 2020
-
How to Test Private Services in Symfony
-
-
Updated Apr, 2019
-
How to Load --config With Services in Symfony Console
-
-
Updated Nov, 2020
-
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
-
How to Slowly Turn your Symfony Project to Legacy with Action Injection
-
4 Tips To Get Emotions to Your Blogging About Programming
-
5 Steps to Your First Fixer or Sniff Test
-
The Best 5 of 256 Bloghacks Book
-
Try PSR-12 on Your Code Today
-
4 Ways to Speedup Your Symfony Development with PackageBuilder
-
Rectify: Turn All Doctrine Repositories From Inheritance To Composition in Seconds
-
New in Coding Standard 4: Long Line Breaks Automated and 3 Legacy Prevention Fixers
-
-
Updated Aug, 2020
-
New in Easy Coding Standard 4: Clean Symfony Standard with Yaml and Services
-
-
Updated Aug, 2020
-
How Teaching Suicides Itself by Killing the Passion
-
How to Criticize like a Senior Programmer
-
Monorepo on the Rise in PHP
-
NEON vs. YAML and How to Migrate Between Them
-
-
Updated Dec, 2018
-
Tested
-
Rector: Part 3 - Why Instant Upgrades
-
New in Symplify 3: 4 Improvements in EasyCodingStandard
-
-
Updated Aug, 2020
-
Rector: Part 2 - Maturity of PHP Ecosystem and Founding Fathers
-
Rector: Part 1 - What and How
-
-
Updated Nov, 2020
-
Sleep Shorter to Get 62 % Smarter
-
How to Run Symfony Processes Asynchronously
-
-
Updated Dec, 2018
-
How to Deal With Haters in Comments and Github
-
How to Get Parameter in Symfony Controller the Clean Way
-
Is Your CHANGELOG Useful or Just Boring Plain Text? And How to Fix That
-
-
Updated Jun, 2018
-
Clean and Decoupled Controllers, Commands and Event Subscribers Once and for All with Delegator Pattern
-
New in Symplify 3: 4 Time-saving Coding Standard Checkers
-
-
Updated Aug, 2020
2017
-
Composer Local Packages for Dummies
-
Life 3.0: What Will You Do When AI Takes Over the World
-
United PHP 7.1 Adoption 6 Months Later
-
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
-
-
Updated Feb, 2021
-
How to Get the Most Valuable Feedback You Can Get
-
3 non-IT Books That Help you to Become Better Programmer
-
4 Simple Checkers for Coding Standard Haters but Clean Code Lovers
-
-
Updated Aug, 2020
-
How to write Open-Source in PHP 3: Deprecating Code
-
How ApiGen Survived its Own Death
-
-
Updated Dec, 2018
-
How to Apply Nette Coding Standard in Your Project
-
-
Updated Dec, 2018
-
7 New Features in Easy Coding Standard 2.2
-
-
Updated Nov, 2020
-
How PHP Coding Standard Tools Actually Work
-
How to Write Custom Fixer for PHP CS Fixer 2.12
-
-
Updated Aug, 2020
-
How to Write Custom Sniff for Code Sniffer 3.3
-
-
Updated Aug, 2020
-
How to Deprecate PHP Package Without Leaving Anyone Behind
-
Go PHP 7.1!
-
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
-
-
Updated Aug, 2020
-
3 Symfony and Laravel Patterns that Make Code Easy to Extend Without Modification
-
Symfony Static Dumper - part 2: How to add Contact Page With Data
-
-
Updated Feb, 2021
-
Fast and Easy Way to Learn Complex Topics
-
Minimalistic Way to Create Your First Nette Extension
-
Drop all Service Tags in Your Nette and Symfony Applications
-
-
Updated May, 2017
-
How Monolithic Repository in Open Source saved my Laziness
-
Why I Switched Scrutinizer for PHPStan and You Should Too
-
4 Emotional and Honest Reasons Why I Quit my Twitter
-
7 rad, které bych si dal před odchodem na vysokou školu
-
Jak psát zajímavé inzeráty pro ajťáky
-
Why I deleted my LinkedIn account
2016