ФорумРазработкаБазы данных → goDB vs DudeSql

goDB vs DudeSql

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 2:58, спустя 23 секунды


    я просто создаю естественную конкуренцию :) кому что удобнее, тот то и юзает :)
    это хорошо :)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 3:00, спустя 2 минуты 3 секунды


    У тебя класс для ограничения синтаксиса и возможностей SQL для разработчика хомпаги?
    А также нубы юзающие той класс даже и не будут знать что такое SQL, вот они когда повзраслеют будут охуевать то :))

    Типа разговор Работодателя с твоим нубом:
    Р. - Вы знаете что такое SQL?
    Н. - Я знаю goDB! Это охуенно и ниипет, только нужен PHP и супер-либа goDB!
    шутка юмора :)
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 3:01, спустя 40 секунд

    ты же юзаешь jQuery? или на плейнжс пишешь? … ты не знаешь что такое яваскрипт? …. спорно
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 3:02, спустя 1 минуту 15 секунд

    phpdude, у goDB синтаксис то SQL, и только абстракция от интерфейсов mysqli.
    А твоя либа изменяет сам синтаксис SQL! А это ЯД
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 3:03, спустя 50 секунд


    ты же юзаешь jQuery? или на плейнжс пишешь? … ты не знаешь что такое яваскрипт? …. спорно
    я то знаю, ибо начал программировать раньше чем jQuery появился, так что ты херню несешь ;)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 3:10, спустя 7 минут 2 секунды

    Короче, меня заебал холивар. Из всей ветки я понял, что твоя либа умеет делать селект, причем без выборки столбцов и без жоинов…
    Пошел делать раздел пихослета, больше не слова сегодня сюда :)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 3:12, спустя 1 минуту 21 секунду


    phpdude, у goDB синтаксис то SQL, и только абстракция от интерфейсов mysqli.
    А твоя либа изменяет сам синтаксис SQL! А это ЯД
    яндексдирект тут не причем, у меня блог не монетизируется =)))

    вопрос на засыпку … ?a = arrya если я не ошибаюсь … разве это не изменяет синтаксис скл? как это в скл передать массив ? чо за хуйня? =))

    а у меня абстракция от скл, ибо скл - всего лишь низкий уровень общения скрптов и базы данных. ты по видимому еще с явой не сильно столкнулся, так там редко кто юзает скл в чистом виде, ибо это пиздец :)

    а в .net есть тоже интересные вещи, например я знаю разработчиков чудесной штуки DataObjects .net которая была еще в .нет1.1 (это я к тому что встроеных в .нет прокладок еще не было), которая позволяла делать ачаровательные вещи вида

    class User: DataObjects{
    public ..
    public ..
    public …
    public …


    }

    и о чудо!

    User user = new User();
    user.username = "adword";
    user.password = Encryption.MD5.GenerateNext(encdoging.asci.getbytes("qwerty"));
    user.regtime = new DateTime().seconds;

    user.save(); //!!!!!

    так вот я это к тому, что знаешь зачем такие вещи используются? по простой причине - чтобы работать с бизнес логикой приложения, а не с низкоуровневой хуйней. я не отрицаю что чистый скл иногда нужен, но когда отойдешь от постулата, что  пользователь - строка бд, а не например массив или обхект базы данных, то тогда представление о скл меняется в корне и он становится все лишь транспортом и не больше.

    ведь куда удобнее работать с обхектами, не правда ли? :)

    пысы dataobjects умели многое, например

    DataObjects.ApplicationDomain.RecreateDatabase();!! разве не приятно?

    :)

    пысы я нисколько не наезжаю)))) просто рассказываю предисторию всей свистопляски
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 3:12, спустя 57 секунд


    Короче, меня заебал холивар. Из всей ветки я понял, что твоя либа умеет делать селект, причем без выборки столбцов и без жоинов…
    Пошел делать раздел пихослета, больше не слова сегодня сюда :)
    почему столбцы не умеет? умеет конечно :)

    $sql->field("username");
    или так
    $sql->field("username","password","regtime");

    чтото такое :)
    Сапожник без сапог
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 12 июня 2009 г. 10:54, спустя 7 часов 41 минуту 27 секунд

    Вмешаюсь в ваш холивар.
    phpdude, нескажу что твой класс УГ, я около 1,5лет назад разрабатывал свой аналогичный класс, после забросил т.к. не было времени на это.
    Если смотреть по существу и проводить сравнение goDB vs DudeSQL то:
    1) В твоем класса кода получается больше чем написать запрос в гоДБ.
    2) Пока не юзерфрендли
    3) Все гениальное просто, что не скажешь о том, как построить через твою либу запрос.

    Я приверженец гоДБ, но пытаюсь судить беспристрастно основываясь на увиденном коде.


    $sql->mask(SQL_MASK_WHERE,”? AND ? AND (? OR ?) AND ?”);

    Четно говоря поразило. или просто - песдец)

    если надо использовать какую нить из функций мускла, например CONCAT(), в которую передадим аргумент из формы как это будет выглядеть?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 11:01, спустя 6 минут 52 секунды


    Вмешаюсь в ваш холивар.
    phpdude, нескажу что твой класс УГ, я около 1,5лет назад разрабатывал свой аналогичный класс, после забросил т.к. не было времени на это.
    Если смотреть по существу и проводить сравнение goDB vs DudeSQL то:
    1) В твоем класса кода получается больше чем написать запрос в гоДБ.
    2) Пока не юзерфрендли
    3) Все гениальное просто, что не скажешь о том, как построить через твою либу запрос.

    Я приверженец гоДБ, но пытаюсь судить беспристрастно основываясь на увиденном коде.


    $sql->mask(SQL_MASK_WHERE,”? AND ? AND (? OR ?) AND ?”);

    Четно говоря поразило. или просто - песдец)

    если надо использовать какую нить из функций мускла, например CONCAT(), в которую передадим аргумент из формы как это будет выглядеть?


    это был пример натянутый за уши. маски нужны только в тяжелых случаях, в обычных случаях - селект с where .. and and and такие вещи не нужны. вопрос к тебе - какие запросы ты чаще всего пишешь? :)

    я понимаю что для профи ОРМ (насколько я понял подобные штуки называют) неудобны, ибо у них как не запрос, так пиздец. но для простой манипуляции данных - выбрать по неслохным критериям, добавить, в будущем апдейт и тп. то это подходит, если туда добавить игноре всякие и тп, тогда в реале будет пизздец. кстати сейчас подумал о том, что можно напрямую использовать классы(скорее всего, я не проверял, пока некогда) в виде $select = new DudeSql_Select("users",10)->field("username") = select username from users where id = 10. так удобнее? :)
    Сапожник без сапог
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 12 июня 2009 г. 11:12, спустя 11 минут 29 секунд


    вопрос к тебе - какие запросы ты чаще всего пишешь? :)

    Последние пару запросов, которые были мной написаны, это запросы использующие пару джоинов.
    Делаю я следующим образом:
    Через удобный мне mysql гуй я пишу запрос к бд, прогоняю его через эксплейн и если надо оптимизирую, после вставляю его в готовую строку и заменяю переменные на плейсхолдеры.

    в твоем варианте мне придется разбить свой запрос согласно логике твоего класса.


    $select = new DudeSql_Select("users",10)->field("username");

    Данный код мне интуитивно говорит такой запрос:

    select username from users limit 10
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 11:20, спустя 8 минут 10 секунд

    $select = new DudeSql_Select("users","id",10)->field("username");


    есть такое решение))

    в любом случае я думаю, что ты используешь запросы вида select x from t where a=b and c=d and f=g and .=. and .=. order by x ? так вот такие запросы лично мне удобнее писать не в плейнскл, а в виде класса

    $sql = DudeSql::create("t");
    $sql->a = "b";
    $sql->c = "d";
    $sql->f = "g";

    $sql->order("x");

    $q = $mysqli->query($sql);

    while($r = $q->fetch())
    {
    ….
    }
    Сапожник без сапог
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 12 июня 2009 г. 11:28, спустя 7 минут 46 секунд

    phpdude, я говорил о джойнах а ты жопу показал :)

    давай конкретно вот запрос, переделай его под свою класс:

    goDB::queryDB(
               "select ?c, ?c, IF(?c=1,?c,?c) as price, count(?c) as `count`, (IF(?c=1,?c,?c) * count(?c)) as `sum` FROM ?t LEFT JOIN ?t ON ?c = ?c WHERE ?c = ?  AND ?c = 0 GROUP BY ?c",
               array(array("products","id"),array("products","name"),array("products", "is_sale"), array("products", "saleprice"), array("products", "price"),array("products","id"),array("products", "is_sale"), array("products", "saleprice"), array("products", "price"),array("products","id"), "shoppingCart", "products", array("products","id"),array("shoppingCart","products_id"), array("shoppingCart", "SID"), self::$SID, "orders_id", array("products","id")),
               "assoc"
           );
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 11:50, спустя 21 минуту 47 секунд

    disc, я же говорю что с жойнами пока я не делал, ибо не хватило времени и посчитал что для беты данной хватит, а если не нужна будет никому, то я буду ее только для себя развивать и не буду говорить что я пиздатый и тп :))

    раз жойнов нет, то

    $sql = DudeSql::create("ShoppingCart");

    $sql->field("id","products");
    $sql->field("name","products");
    $sql->field("is_sale","products");
    $sql->field("saleprice","products");
    $sql->field("price","products");
    $sql->field("id","products");
    $sql->field("is_sale","products");
    $sql->field("saleprice","products");
    $sql->field("price","products");
    $sql->field("id","products");
    $sql->mask(SQL_MASK_COLUMNS,"?, ?, IF(? = 1, ?, ?) as `price` COUNT(?) as `count`, (IF(?=1, ?, ?) * COUNT(?)) as `sum`");

    $sql->SID = 10;
    $sql->orders_id = 0;

    $sql->order("id","products");


    нечто такое, зато! это хотя бы можно прочитать. вот посмотри на решение с годб и на мой код и скажи за 5 секунд(этого времени достаточно сосчитать до 10) сколько и какие столбцы используются в моем варианте и в годб?

    я за легкое понимаение кода, а не за монстрообразную кашу. с годб получается каша - хуй поймешь что значение, что колонка, что поля, что массив значений. передатся параметры массивами и ниухя не понятно то ли это массив значений, толи это массив описывающий колонку БД
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 июня 2009 г. 11:50, спустя 12 секунд

    тут запрос

    http://94.31.169.103/sqlbuilder/trunk/
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!