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. Ссылку на соединение лучше так же хранить внутри экземпляра класса.
Комментариев нет:
Отправить комментарий