Существует стандартная архитектура для отделения логики работы программы от работы с данными и внешним видом. Такая архитектура называется MVC( model, view, controller). Model отвечает за работу с бд(получение данных, добавление данных в бд и т.п.), view отвечает за внешний вид(верстка в сайтах, например), controller отвечает за логику работу программы(например получить через model данные из бд и отрисовать во view).
Для лучшего понимания данной архитектуры можете попробовать любой php framework, например laravel, yii2, symfony2.
Если вам нужен только удобный слой работы с БД, то достаточно взять
Doctrine. Тогда вам не нужно будет изобретать iterator, dbitems и т.п.