Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
If you don't want to read this article, just jump to the conclusion which sums it up in 44 words.
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
This article is part of a series on Tests in general and on how to practice them
Lo
Loïc Faugeron
This article is part of a series on Tests in general and on how to practice them
Lo
Loïc Faugeron
This article is part of a series on Tests in general and on how to practice them
Lo
Loïc Faugeron
This article is part of a series on Tests in general and on how to practice them
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
The PHP Tokenizer documentation looks a bit empty, and you have to try it out by yourself to understand how it works.
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
Deprecated
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Loïc Faugeron
Symfony is an amazing HTTP framework which powers high traffic websites. Performance shouldn't be a concern when first creating a website, because between the time it is launched and the time it actually has a high traffic many things that we didn't expect in the first days will happen
Lo
Loïc Faugeron
This is the second article of the Symfony Differently series, Have a look at the first one
Lo
Loïc Faugeron
This series isn't really working for me, so I've decided to conclude it prematurely. Have a look at the first ones
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Simple Bus is a lightweight library created by Matthias Noback allowing you to use the Command Bus design pattern in your applications.
Lo
Loïc Faugeron
delete data.
Lo
Loïc Faugeron
Pomm is an interresting alternative to Doctrine (DBAL or ORM), it specializes in one database vendor
Lo
Loïc Faugeron
Zend Diactoros is a lightweight library providing implementations for PSR-7 interfaces.
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Just like SimpleBus, Tactician is a lightweight library created by Ross Tuck allowing you to use the Command Bus design pattern in your applications.
Lo
Loïc Faugeron
PHPUnit is a port of jUnit, its name might be deceptive
Lo
Loïc Faugeron
Frameworks solve infrastructure problems, for example how to create a HTTP or CLI application. While necessary, those concerns don't add any value to your project
Loïc Faugeron
Libraries are similar to frameworks
Lo
Loïc Faugeron
In the last two articles, we've seen how to decouple our application
Lo
Loïc Faugeron
Pagination libraries like Pagerfanta or KnpPaginator usually require a QueryBuilder
Loïc Faugeron
PSR-7 is a standard providing interfaces for HTTP messages.
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TD;DR
Lo
Loïc Faugeron
Previously using Carew, the static website generator, this blog has now been migrated to Sculpin.
Lo
Loïc Faugeron
Couscous is a static site generator tool for your Github projects, converting all markdown files into an online documentation hosted by Github Pages.
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
Reference
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Ever wondered how nginx outperforms Apache or what does NodeJs mean by "event-driven, non-blocking I/O"?
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Welcome to this Mars Rover series where we're going to practice the followings
Lo
Loïc Faugeron
In this series we're going to build the software of a Mars Rover, according to the following specifications. It will allow us to practice the followings
Lo
Loïc Faugeron
In this series we're going to build the software of a Mars Rover, according to the following specifications. It will allow us to practice the followings
Lo
Loïc Faugeron
In this series we're going to build the software of a Mars Rover, according to the following specifications. It will allow us to practice the followings
Lo
Loïc Faugeron
In this series we're going to build the software of a Mars Rover, according to the following specifications. It will allow us to practice the followings
Lo
Loïc Faugeron
In this series we're going to build the software of a Mars Rover, according to the following specifications. It will allow us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It will allow us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It will allow us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
In this series we're building the software of a Mars Rover, according to the following specifications. It allows us to practice the followings
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
There are only 10 types of debates in the software world, Clean Code v Pragmatic Code and those which don't matter.
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Sometimes resources can be identified by one of their attributes (a name, title, slug) and sometimes they can't (no name, or confidential name).
Lo
Loïc Faugeron
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. Or is it all fluff? Let's find out.
Lo
Loïc Faugeron
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. Or is it all fluff? Let's find out.
Lo
Loïc Faugeron
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. Or is it all fluff? Let's find out.
Lo
Loïc Faugeron
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. Or is it all fluff? Let's find out.
Lo
Loïc Faugeron
PHPUnit creates as many instances a Test Class, as it has test methods.
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Looking at some old code of mine, I've found the following test
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
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 retailer of their choice.
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Edit
Lo
Loïc Faugeron
Symfony application, to eliminate "works on MY machine".
Lo
Loïc Faugeron
Note
Lo
Loïc Faugeron
TL;DR
Lo
Loïc Faugeron
Through the storm of scattered settings, your dotfiles emerge as the lightning-born shepherds that bind chaos to your will.
Lo
Loïc Faugeron
The keyboards leak molten steel, as Vim motions carve runes through silicon, the code prostrates itself before the LSP's omniscient eye
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
🤘 The Quality Avenger emerges from the burning forges of Coding Standards, smelting the ores of Static Analysis into the moulds of Automated Testing. 🔥
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
🤘 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! 🔥
Lo
Loïc Faugeron
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.
Lo
Loïc Faugeron
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.
Lo
Loïc Faugeron
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.
Lo
Loïc Faugeron
Edit (2026-03-26)