Как выполнять повторяющиеся запросы к базе данных и соблюдать ООП и SOLID?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнять повторяющиеся запросы к базе данных и соблюдать ООП и SOLID?

Сообщение Anonymous »


У нас есть функция, которая состоит из нескольких этапов (проверка, оценка данных, анализ, подготовка ответа и т. д.). Многие из этих шагов обращаются к базе данных сами по себе. Я говорю о помощниках, выполняющих некоторую обработку и иногда запрашивающих базу данных для получения очень похожего или того же набора результатов, например «выбрать электронное письмо из xxx, где id='xxx'» или «выбрать электронное письмо из xxx, где id='xxx'» или «выбрать * из xxx, где id='xxx'".

В конечном итоге функция вызывает 7 раз один и тот же запрос и 3 раза другой. Все запросы выполняются разными объектами, разными помощниками, иногда одним и тем же помощником, но в разных связанных потоках, каждый запрос запроса выполняется изолированными функциями, которые полностью инкапсулированы, без знания предыдущих вызовов и т. д., пытаясь соблюдать SOLID. Что мы можем сделать? мой начальник расстроен этим, и я согласен, но не знаю, как это исправить.

Идеи такие: (мы не используем никакой orm, а используем старые добрые запросы к базе данных - я знаю, короче говоря: код представляет собой Zend framework 1, основанный на 2014 году, и пока нет критической необходимости его улучшать ) кэширует результаты во время запроса, поэтому об этом позаботится обработчик базы данных/dbal/orm.

Другой вариант — изменить код так, чтобы все происходило с помощью одного большого толстого метода... мой босс не особо разбирается в ООП, он любит процедурные методы...

Другой вариант — изменить все методы, подобные getUserInfoByEmail(), для самостоятельной обработки кеша...

Другой вариант — изменить код, чтобы методы, подобные getUserInfoByEmail(), имели собственный кеш...

Последний шаг — создать одноэлементную сущность User, которая будет загружаться сама по себе (обязательно по запросу) и предоставлять все необходимые данные.

Не уверен, какой из них будет чище. Буду признателен за вашу помощь, кстати, это PHP.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»