В настоящее время в нашем приложении есть репозитории, которые имеют интерфейсы. На самом деле существует множество реализаций этих интерфейсов репозитория. например Database
, Elasticsearch
, Api
в качестве источника данных.
Это здорово, так как мы можем просто напечатать подсказку типа репозитория, например
__construct(PersonRepositoryInterface $personRepo)
и у нас есть хранилище, независимое от реализации (хранилища). Мы вводим правильный тип репо, где и когда нам это нужно.
Мой вопрос: Могут ли возникнуть проблемы с созданием реализации репозитория, которая следует одному из наших контрактов с репозиторием, использующим php arrays
в качестве источника данных?
PersonRepository
- PersonDatabaseRepository
- PersonElasticsearchRepository
- PersonArrayRepository
Мы нашли примеры, где у нас часто есть массив экземпляров классов, для которых мы хотим использовать наш репозиторий «api».