пятница, 28 марта 2014 г.

MySQL. DB class

5 задание по курсу "Информатика и программирование" на весенний семестр 2013-2014 года

Реализовать class DB, имплементирующий интерфейс IDB, в котором описаны следующие методы:

  • execQuery (string $query)
  • getAllRows()
  • getRow(int $rowNumber)
  • getSingleResult(string $field)
  • setData(array $data)

Class DB

Данный класс реализует перечисленные методы, причем:

execQuery

Выполняет запрос, переданный в аргументе. Результат хранится внутри экземпляра класса.

setData

Добавляет в базу данных данные, описанные в аргументе, причем, формат его таков:
array('fieldName' => 'value', ...)

getAllRows

Возвращает все строки результата последнего запроса, сделанного через execQuery

getRow

Возвращает конкретную строку из запроса, сделанного через execQuery

getSingleResult

Возвращает значение конкретного поля, переданного в качестве аргумента из первой строки из запроса, сделанного через execQuery

Рекомендации

Соединение с базой данных лучше делать в конструкторе класса, передавая необходимые данные в качестве аргументов. Методы execQuery и setData в качестве возвращаемого значения могут возвращать ссылку на текущий экземпляр класса (т.е. $this). Все методы, в случае всевозможных ошибок, должны кидать исключение. Желательно завести свой класс исключения, например, DBExeption. Ссылку на соединение лучше так же хранить внутри экземпляра класса.

Полезные ссылки

Комментариев нет:

Отправить комментарий