For a long time, I followed the approach of creating controllers and repositories for individual entities (models). While this approach works, it slowly started to leave a bad taste in my mouth. After much researching into alternative approaches I was unable to find something that truly fit what I wanted. So I decided to have a go at creating my own.
Topic: Design Pattern
A design pattern is a defined and reusable method of solving a particular problem in programming.
In this article, I'm going to go through some of the reasons I stopped using Eloquent, as well as covering the reason for Articulates creation, and the different iterations that I took to make it what it is today.
Lately I've found myself getting frustrated with Eloquent, needing more than Laravels default ORM offers. I'm a big fan of the DataMapper pattern, but I become disheartened with the overhead and complexity of Doctrine. My time spent with Java has brought out a love for objects, and absolutely everything being objects. With this in mind, I created myself a super basic lightweight ORM named Articulate.
The repository pattern is one that appears to polarize developers, with half swearing by and half swearing against. It's also something that seems to have been spoken about a lot, though I feel that more often than not, it's an over complicated over engineered approach.