Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Turn your PHP app into a standalone binary
Edit (2026-03-26): added Distribution / Upgrade section.
-
PHP-TUI
BisouLand is an eXtreme Legacy (2005 LAMP) app, an idle browser game where players take each other's Love Points by blowing kisses across clouds.
-
eXtreme Legacy 11: A PHP Monorepo of Apps and Packages
BisouLand is an eXtreme Legacy (2005 LAMP) app, an idle browser game where players take each other's Love Points by blowing kisses across clouds.
-
Qalin: Test Control Interface, built with modern Symfony
BisouLand is an eXtreme Legacy (2005 LAMP) app, an idle browser game where players take each other's Love Points by blowing kisses across clouds.
-
eXtreme Legacy 9: XSS Vulnerability
🤘 Awakened by the sins of forgotten sanitization, the Cookie Burglar breaches the walls of client-side trust, stealing credentials from the altar of the Script Injector with its serpentine payloads!
-
eXtreme Legacy 8: From MySQL to PostgreSQL
🤘 The Legacy Executioner casts MySQL into the void of deprecated technologies, summoning PostgreSQL from the northern lands to claim dominion over schemas with its superior type system and extension arsenal!
-
eXtreme Legacy 7: Rector
🤘 Behold Rector, the Metamorphosis Overlord, wielding the dark grimoire of AST manipulation to transmute ancient incantations of PHP 5.6 into the blazing runes of PHP 8.x through unholy automated rituals!
-
eXtreme Legacy 6: From PHP 5 to PHP 8
🤘 The Migration Warlord breaks the rusted shackles of PHP 5.6, leading the great exodus through the valleys of breaking changes, into the promised land of PHP 8.5 where type hints and constructor property promotion await in glory!
-
eXtreme Legacy 5: PDO
🤘 The Parameter Paladin storms forth from the OWASP bastion, raising the impenetrable shield of Prepared Statements, against the shadow army of malicious injections, that seek to corrupt the sacred data temples!
-
eXtreme Legacy 4: Coding Standards
🤘 The Coding Standards Inquisitor rises from the sulphurous pits of Legacy Chaos, brandishing the iron scriptures of Style Guides, purging the realm of inconsistent formatting with flames of automated linting!
-
eXtreme Legacy 3: End to End Tests
🤘 The Beta Destroyer breaks free from the crypts of Manual Testing, forging unbreakable chains of End to End test scenarios, binding every component in the unholy covenant of automations!
-
eXtreme Legacy 2: Smoke Tests
🤘 The Quality Avenger emerges from the burning forges of Coding Standards, smelting the ores of Static Analysis into the moulds of Automated Testing. 🔥 In this series, we're dealing with BisouLand, an eXtreme Legacy application (2005 LAMP spaghetti code b…
-
eXtreme Legacy 1: Dockerizing a 2005 LAMP app
🤘 From the abyssal depths of forgotten servers, Docker the Void-Walker awakens to drag ancient LAMP stack from their tombs, wrapping them in the obsidian chains of containerization!
-
My IDE is Vim
The keyboards leak molten steel, as Vim motions carve runes through silicon, the code prostrates itself before the LSP's omniscient eye: autocomplete rain Valhalla's arrows diagnostics burn syntax errors and typos alike go-to-definition shatters dimension…
-
My Dotfiles
Through the storm of scattered settings, your dotfiles emerge as the lightning-born shepherds that bind chaos to your will.
-
My Git Workflow
TL;DR: git checkout -b FEAT-4423-my-feature from main git rebase main to update git merge --no-ff feature back in main Wield the crimson blade of version control, where every commit carves your legacy into the eternal codex of time.
-
My Symfony Makefile
Note: Updated on 2026-02-23.
-
My Symfony Dockerfile
Dockerize your PHP / Symfony application, to eliminate "works on MY machine".
-
PHPUnit Best Practices (Ultimate Guide)
Edit: brought up to date on 2026-02-27.
-
PHP devs are Pirates
TL;DR: Arrr, PHP be a cunning pirate, pilferin' ideas from other languages to stay ahead o' the fleet.
-
My role as a Lead PHP Engineer
About me In September 2014, I left SensioLabs (the creator of the Symfony Framework) to work as a PHP/Symfony Developer at Foodity, a London start-up that created a service allowing people to add ingredients from online recipes to the basket of the retail…
-
Don't mock what you don't own -- phpspec isn't a test framework
TL;DR: phpspec isn't a test framework.
-
phpspec tip: don't mock SUT inputs
Looking at some old code of mine, I've found the following test: <?
-
Strategy Pattern, Symfony and autowiring
TL;DR: Since Symfony 5.3 Tag the "Strategy" Interface with the attribute [#AutoconfigureTag]: <?
-
PHPUnit setUp() is a lie
PHPUnit creates as many instances a Test Class, as it has test methods.
-
ChatGPT: fluff or not? SpecBDD
Now that a couple of months have passed since its over hyped launch, surely ChatGPT has found some use cases where it could be of any actual use.
-
ChatGPT: fluff or not? Goldfish Memory
Now that a couple of months have passed since its over hyped launch, surely ChatGPT has found some use cases where it could be of any actual use.
-
ChatGPT: fluff or not? Academic Prompt Engineering
Now that a couple of months have passed since its over hyped launch, surely ChatGPT has found some use cases where it could be of any actual use.
-
ChatGPT: fluff or not? Prompt Engineering
Now that a couple of months have passed since its over hyped launch, surely ChatGPT has found some use cases where it could be of any actual use.
-
Short Identifier
Sometimes resources can be identified by one of their attributes (a name, title, slug) and sometimes they can't (no name, or confidential name).
-
PragmatiClean - Command Bus
TL;DR: Use Command Bus pattern in your controllers, but drop the bus.
-
PragmatiClean - introduction
There are only 10 types of debates in the software world, Clean Code v Pragmatic Code and those which don't matter.
-
Links from 2016
TL;DR: Links I tweeted during 2016 Last year my interests seemed to have been split in three periods: beginning of the year: CQRS / ES and Mono Repo middle of the year: Event Driven Architecture and async end of the year: Artificial Intelligence I've also…
-
Mars Rover, Locating moving
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Locating geolocation
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Locating refactoring
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Locating handler
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Locating package
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Driving event
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Driving instruction
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Driving
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Event Sourcing code
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Event Sourcing package
In this series we're building the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Landing event
In this series we're going to build the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Landing orientation
In this series we're going to build the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Landing coordinates
In this series we're going to build the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Landing
In this series we're going to build the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Initialization
In this series we're going to build the software of a Mars Rover, according to the following specifications.
-
Mars Rover, Introduction
Welcome to this Mars Rover series where we're going to practice the followings: Monolithic Repositories (MonoRepo) Command / Query Responsibility Segregation (CQRS) Event Sourcing (ES) Test Driven Development (TDD) In this introductory article, we're simp…
-
Towards CQRS, Search Engine
TL;DR: A Search Engine component can help you get the CQRS "Query" part right.