понедельник, 23 мая 2016 г.

Абстракция БД

Когда я только начинал писать на PHP, ООП я владел, пожалуй, на уровне синтаксиса, не более. В то время мне вполне хватало функций mysql_*. Со временем, опыта становилось больше, я начинал задумываться об оптимизации. Этот топик описывает эволюцию моего кода.

Первым шагом стало написание простенького класса, который облегчал работу с БД. Кода стало не на много меньше, в основном упрощались типовые запросы. Также, автоматически экранировались входные параметры. Бонусом, появилась возможность использовать код с БД, отличных от MySQL (написав класс с таким же интерфейсом). По крайней мере, большинство запросов переписывать не пришлось бы. Код выглядел примерно так:

$db = new MysqlDb($server, $user, $pass, $db, $prefix);
$db->select($key, $value); // Возможно было много вариантов запроса, используя различное количество параметров.
while ($db->fetch()) {
   $row = $db->getRow();
   …
}
Либо $rows = $db->getResult();
* This source code was highlighted with Source Code Highlighter.

Чтобы еще упростить работу с БД,...(Продолжение)

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

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

 

Количество просмотров

Постоянные читатели