Writing

Technical articles on software engineering, architecture, tooling, tutorials and beyond.

Posts

Anemic vs Rich Domain Model

Where should business logic live?

PHP OOP DESIGN PATTERNS

Link Local Packages using Composer

PHP COMPOSER DEPENDENCIES

Avoid using array_merge within a loop

PHP ARRAYS MERGE

Jobs (Queues) vs. Events

When to use each one?

PROGRAMMING JOB EVENT

Git: Reset last commit

git reset --soft, git reset --hard & git revert

GIT GIT RESET GIT REVERT

New PHP 8.4 array functions

array_find, array_find_key, array_all & array_any

PHP ARRAY SORTING

Git Rebase onto

How to modify the commit history with git rebase onto

GIT REBASE ONTO

The testing pyramid

How to structure your test suite 🗼

PROGRAMMING TEST COHN

Three dots in PHP

First-Class Callable Syntax, Variadic function & Argument unpacking

PHP FIRST-CLASS CALLABLES

PhpStorm tricks ✨

Customize the IDE with templates, plugins and more

PHPSTORM INTELLIJ SETTINGS

Functional Tests

Unit, Integration and E2E tests

TESTING TEST TYPES UNIT TESTING

How to create a global .gitignore file

and forget to ignore the same files over and over again! ⚡️

GIT PROGRAMMING GITIGNORE

Declaring array structures in PHP

PROGRAMMING PHP ARRAYS

ORM: Data Mapper vs Active Record

Which one is better and why?

PHP TESTING ORM

How does the Service Container work?

SERVICE CONTAINER BINDING LARAVEL