Потребовался класс для работы с БД. Мои требования были:
- Поддержка типов данных через макросы: строка, целое число, дробное число, логическое значение + возможность расширения
- Возможность компиляции запроса в PHP код (по аналогии как шаблонизаторы компилируют шаблон — к примеру так делает Twig)
- Возможность делать макросы для использования в запросе
Поискал по интернету — список чего нашел (самые лучшие на мой взгляд): safemysql, DbSimple, go-db, dibi, Yaff\db. Однако почему-то именно компилирующих нет. Поспрашивал на форумах и тостере, получил 10000 советов не писать велосипед, а изучить библиотеку X, потому что это круто и на ней можно сделать всё. И всё же… решил таки написать свой велосипед.
Читать дальше →