Anemic Domain Model vs Rich Domain Model with Examples

Today is a great day: you will begin to develop the new greenfield project of the soon-very-successful startup you work for as a PHP magician. You and Dave (your colleague developer) have been chosen to develop this new application. Finally you will do something else than fixing and refactoring crappy code from old PHP 4 spaghetti projects! Everything begins well. You set up the project’s backbones quickly and Dave is in charge to implement the first functionalities. »

9 min. read

PHP Code Quality Tools to Check and Improve your Code

Last update: 2019-02-02 Oh no! Your boss asked you to fix a bug which crash the company’s website on production. As quick as a jaguar you open the classes responsible of the maelstrom. They were coded by Dave, your colleague developer. The classes are full of formatting errors, poor indentation and weird one letter variables. There are so many dependencies you need to scroll down for minutes to escape the bloated constructor. »

13 min. read

The DRY Principle Explained: Its Benefit and Cost with Examples

Last update: 2018-08-09 I know what you are thinking: “Again a boring article on DRY? Don’t we have enough already?”. You might be right. However I see too many developers (junior or senior) applying DRY like they are doing some witch hunting. Totally randomly, or everywhere they can. So apparently we never have enough DRY principle articles on Internet. A little reminder for those in the back who don’t follow: the DRY principle means “Don’t Repeat Yourself” and was first introduced in the The Pragmatic Programmer. »

11 min. read

PHP 7.2: the Pitfalls to Avoid for a Better and Cleaner Code

What are the pitfalls to avoid with this new version of PHP and its new functionalities? As my previous article on PHP 7 scalar and return types pitfalls, instead of describing the new super cool features of this perfect PHP 7.2, I will describe what can be dangerous for the good health of your application. As Ward Cunningham stated it: “You know you are working on clean code when each routine you read turns out to be pretty much what you expected. »

6 min. read

Vim for PHP: The Complete Guide for a Powerful PHP IDE

Last update: 2018-09-18 Vim, a PHP IDE? I can see you spitting your cereals in front of you computer. “What? A PHP IDE with Vim? Are you insane?” Am I? It’s definitely possible to make a very powerful IDE with Vim: you need to know what plugins install and what are their purposes. It was one of my ex colleague (kushellig) you showed me how to do so. From their I simply improved it for my needs. »

14 min. read

How did I Replace PhpStorm by Vim in my Heart

I wrote an article some time ago in order to give you the most useful tips and tricks for my favorite php IDE, PhpStorm. Well, sorry PhpStorm, you were my favorite IDE. Things changed. I love another one now. Its name is Vim. Are you confused? Are you yelling “why”? What happened between PhpStorm and me? Why a PHP developer would use this… old smelly thing called Vim? I was happy with PhpStorm. »

13 min. read

PHP 7 Type Hinting: Inconsistencies and Pitfalls

When PHP 7 came up with strong types, I saw the light. I had the hope not to see anymore bugs and inconsistencies due to weak typing in PHP. I remember reading some code and having no idea what could be the type of the variables I had in front of me. Can I use the return of this method as an int? A boolean? Will it create silent bugs and unexpected behaviors? »

8 min. read

DateTime PHP: Compare, Format and Create any Dates you Need

Last update: 2019-01-31 When I search and read code about time and date problems developers have, I noticed that a lot of people still use the old PHP functions like date(), time() or strtotime(). What about using DateTime instead? It’s time to introduce this powerful PHP object. DateTime can do all the usual date and time operations you could ask for and even more. Using DateTime can save a lot of time when you have to do more complex operations on dates. »

4 min. read

10 PhpStorm Shorcuts and Tricks you Should Know

PhpStorm is my favorite IDE for coding in PHP: pretty stable, you can do a lot with it. A shed load of stuff in fact. Even coding! The guys from Jetbrains tried to integrate every useful tools for a web developer in one software and, I have to say, it is pretty well done! You can configure easily a debugger, using a terminal, sending requests to your remote or local databases. »

6 min. read

Resources for Digging Deeper into Object Oriented PHP

Being a developer can be really tough: you have to create and maintain (sometimes complex) structures and in the same time you have to stick to shorter deadlines. Some developers think that the main aim of their job is to produce code which works. I’d say it’s the easy part of our work: the other difficult part is to build applications you can scale easily without passing hours in refactoring. »

4 min. read