Класс Wrapper для класса PDOStatement

после долгих исследований плюсов и минусов обертывания / расширения класса PDO и класса PDOStatement я пришел к выводу, что хочу обернуть оба класса, а не расширять их.

Теперь я сталкиваюсь со следующей проблемой: я получил также методы-оболочки для методов fetch- и fetchAll, что приводит к перегрузке памяти:

public function fetch_row($style = null, $orientation_cursor = null, $offset_cursor = null)
{
return $this->driver->fetch($style, $orientation_cursor, $offset_cursor);
}

Я не знал, что PHP, вероятно, резервирует дополнительную память для возвращаемых массивов, которые просто передаются с возвратом.

Есть ли способ сказать PHP не использовать память для этого? Есть ли у вас другая возможная архитектура для решения моей проблемы при условии, что я хочу сохранить классы-обертки?

Спасибо заранее за вашу помощь,

Фредди

-1

Решение

Это примерный оффтопный вопрос, поскольку он просит объяснить [необоснованное] предположение, но не может привести в качестве доказательства какой-либо воспроизводимый случай.

Итак, по своему опыту могу сказать, что

  1. Нет, PHP никогда не резервирует память заранее, на всякий случай.
  2. Скорее всего, ваша проблема вызвана буферизованный запрос это вернуло слишком много данных, которые не имеют отношения к вашим оберткам.
  3. PDO сама по себе является хорошей оберткой, в которой крайне мало вещей, которые можно улучшить. И нужно дважды подумать, прежде чем изобретать велосипед.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]