Challenge: you need a flexible (swap in other repository implementations) way to display some kind of resource. Let's say, Posts. What does your folder structure look like?
Requirements:
- Repository implements an interface
- Must show at least one implementation of the interface (Eloquent version is fine)
- The interface is injected into your PostsController.
- Show where you register your IoC bindings
- Show folder structure. Where are interfaces/repositories stored?
What about when dealing with basic CRUD methods that you'd like to make available across multiple repositories. For example EloquentPost and EloquentComment may both need a find() method. Do you duplicate that logic for each repository?