Discussion materials(articles, links and etc)
- https://martinfowler.com/eaaCatalog/repository.html
- https://matthiasnoback.nl/2014/05/inject-a-repository-instead-of-an-entity-manager/
- Eric Evans in Domain Driven Design
This is PHP-specific stuff. It is a little similar to multiple inheritance but has goal to reduce code duplication.
But....
Generally there is one material that fits most of cases
https://use-the-index-luke.com/