В моем приложении я получаю список продуктов через запрос api. Для перечисления продукта на каждой странице мне нужно выполнить один и тот же запрос api каждый раз с параметром userid в качестве параметра. Это увеличит нагрузку на сервер, поэтому, чтобы этого избежать, мне нужно получить список продуктов и повторно использовать экземпляр.Инъекция зависимостей в ZF2
Как я могу реализовать это с помощью одного вызова, представив контейнер DI или Dependency Container.
Или есть ли другой способ для этого? я не хочу использовать сеанс или базу данных
DI совершенно неправильный механизм для рассмотрения этой проблемы. DI - это просто акт инъекции зависимости ($ thing = new Thing ($ dependancy) или $ thing-> setOtherThing ($ dependancy)) и не имеет ничего общего с сохранением нагрузки на сервер. Контейнер DI - это просто волшебный черный ящик, который будет выполнять эти операции для вас, и все равно не уменьшит нагрузку на сервер и не начнет работать с плохо реализованным контейнером. На что вы должны смотреть, является кэширование, как в одном ответе, который в настоящее время прилагается к этому вопросу, что приведет к сокращению числа запросов веб-службы – Bittarman
Или есть ли какой-либо другой механизм для этого? – guny
Как определить контейнер зависимостей как singleton в zf2. Как и где инициализировать? Вышеприведенный сценарий является лишь примером. С единственным клиентским подключением, как мы можем ограничить соединение после его установки. Например, если мы запрашиваем соединение db, соединение должно быть сделано как singleton на клиента. Кэширование - для данных. я говорю о установленном соединении или пусть говорят созданные объекты – guny