Перенёс go\DB 2 с гуглокода на гитхаб: https://github.com/vasa-c/go-db.
А заодно и обновил чуть-чуть.
Перенёс go\DB 2 с гуглокода на гитхаб: https://github.com/vasa-c/go-db.
А заодно и обновил чуть-чуть.
А в это время goDB продолжает развиваться благодаря волонтёрам со всего мира.
Вот и Алексей Полев aka dallone запилил адаптер для Постгри.
Ура Далону!
Сегодня ровно 3 года, как я осмелился выложить свою поделку, предназначенную для работы с мускулем из PHP.
Как ни странно, за прошедшее время я не проникся к ней отвращением, в отличии от большинства других моих поделок. Периодически юзаю в своих проектах, иногда дорабатываю и даже сделал попытку сотворить чуть менее говнокодный вариант с поддержкой других баз.
Что особо удивительно, её даже качают другие люди, несмотря на то, что «подобное было тыщу раз», «есть намного лучше» и «мне ты это дерьмо не втюхаешь». За прошлый год библиотечку скачали 1 597 раз с 992 уникальных IP. В прошедшем же январе за этим глупым занятием был застукан 121 уникальный айпишник. Вот график (толку в нём нет, просто для внесения разнообразия в унылый текст):
У библиотеки даже появился один почётный пользователь.
Если вас угораздило где-то использовать goDB, пожалуйста, не постесняйтесь кинуть мне адресок: я их соберу в одном месте. И мне понтов больше и вам ссылочка лишняя :)
goDB 1.3: новый говнокод и ебическая сила природы в одном флаконе. Домохозяйки выбирают goDB.
В новой версии при сохранении совместимости с mysqli добавлены надстройки по следующим пунктам:
BEGIN
+ COMMIT
(ROLLBACK
)bind_param
, bind_result
Кроме того, добавлены следующие возможности:
Объект ссылка разделяет подключение с основным объектом, но может иметь другие настройки (префикс, отладка, декоратор запросов).
Формат разбора bool
.
Метод __invoke()
.
В PHP 5.3 запросы можно выполнять прямо так: $one = $db('SELECT 1', null, 'el');
Методы getPrefix()
, getDebug()
и т.д.
Реструктуризация юнит-тестов: теперь вместо одного файла папка с тестами.
Все предложения пишите на форуме или присылайте на мыло.
В ближайшее время возможно следующее:
Ничто не заставляет делать какое-то дело, как необходимость делать другие более важные дела.
Поэтому goDB продолжает радовать нас новыми версиями.
В новой версии (1.2.2):
Плейсхолдер ?bool: вставка значения для столбца типа BOOL.
Формат представления результата kassoc и его подвид kassoc:$col.
Формат же vars теперь позволяет выборку по одному столбцу: его значение станет как ключём массива, так и его элементом.
Плюс добавлены исключения goDBExceptionFetchUnknown
и goDBExceptionFetchUnexpected
.
Также местами переписан код.
Сам класс теперь можно просмотреть прямо на сайте не скачивая архивов.
Ну и конечно, можно всё-таки скачать архив (ZIP, 5K)
В версии 1.2.1 исправлен незначительный бажок.
А чтобы снизить вероятность незначительных бажков в будущем, добавлены unit-тесты.
Для юнит-тестов используется PHPUnit.
~/godb$ phpunit --colors goDBTest.php
PHPUnit 3.5.0 by Sebastian Bergmann.
............................................................ 60 / 60
Time: 4 seconds, Memory: 4.25Mb
OK (60 tests, 126 assertions)
~/godb$
Наконец, впервые за несколько лет, обновил документацию по goDB. Она по-прежнему убогонькая и пафосная, но теперь полностью описаны все новые возможности.
Ну и, так как просто описывать старьё скучно, выпустил новую версию.
Для всех плейсхолдеров теперь есть «длинные» синонимы:
$db->query('INSERT INTO `table` SET ?set', array($set)); $db->query('INSERT INTO `table` VALUES ?values', array($values)); ... |
Полный список в документации.
$data = array( 'one' => 'Раз', 'two' => 'Два', 'three' => 'Три', ); $pattern = 'SELECT * FROM `table` WHERE `one`=?:one AND `two`=?:two OR `three`=?:three ORDER BY ?:one ASC'; |
Можно комбинировать тип плейсхолдера и имя: ?set:name
.
В одном запросе использовать простые и именованные плейсхолдеры нельзя.
Подробнее в документации.
Добавлены новые параметры конфигурации charset
и link
:
$config = array( 'host' => 'localhost', ... 'charset' => 'utf8', ); |
Не нужно при подключении вызывать SET NAMES. Особенно удобно для отложенных подключений.
link
позволяет сделать ссылку на другую базу. Подробнее в разделе о пространстве имён.
Также несколько изменена иерархия подключений.
При правильном использовании несовместимостей нет. А так, немного есть.
После года разгильдяйничества, решил снова заняться своей библиотечкой для работы с MySQL.
Изменения в версии 1.1.3 незначительны, но, надеюсь, что вскоре будет что-нибудь поинтереснее.