У меня есть следующие шаблоны в PHP, и я хотел бы реализовать их, чтобы воспользоваться преимуществами поставщика услуг и процесса внедрения зависимостей в laravel.
Пояснения:
Я создаю приложение для синхронизации и хочу, чтобы оно было очень гибким, чтобы добавлять другие платформы в будущем. Для этого у меня есть платформы, реализующие и расширяющие интерфейсы и абстрактные классы. Поскольку процесс синхронизации не зависит от того, как данные извлекаются и отправляются, я просто использую интерфейс «iPlatform» для доступа к реализациям DataPusher и DataRetriever.
Все мои конкретные классы одноэлементные (platformA, DataPusherA, DataRetrieverA ... то же самое для B). PlatformB и PlatformA реализуют методы stati c для доступа к экземплярам DataRetreiver и DataPusher для каждой платформы.
Я думал о контекстном связывании, чтобы заменить эти платформы A и B (которые на самом деле являются своего рода средствами доступа к конкретным методам в DataPusherA / RetrieverA и B). Но мне все еще трудно понять, как использовать фреймворк laravel для правильной реализации этой схемы.
Я открыт для любых предложений по изменению этой схемы (если я ошибаюсь в используемом шаблоне) или если у вас есть совет по ее реализации.