это хорошо :)
я просто создаю естественную конкуренцию :) кому что удобнее, тот то и юзает :)
Форум → Разработка → Базы данных → goDB vs DudeSql
goDB vs DudeSql
-
12 июня 2009 г. 2:58, спустя 23 секунды
https://smappi.org/ - платформа по созданию API на все случаи жизни -
12 июня 2009 г. 3:00, спустя 2 минуты 3 секунды
шутка юмора :)
У тебя класс для ограничения синтаксиса и возможностей SQL для разработчика хомпаги?
А также нубы юзающие той класс даже и не будут знать что такое SQL, вот они когда повзраслеют будут охуевать то :))
Типа разговор Работодателя с твоим нубом:
Р. - Вы знаете что такое SQL?
Н. - Я знаю goDB! Это охуенно и ниипет, только нужен PHP и супер-либа goDB!Сапожник без сапог -
12 июня 2009 г. 3:01, спустя 40 секунд
ты же юзаешь jQuery? или на плейнжс пишешь? … ты не знаешь что такое яваскрипт? …. спорноСапожник без сапог -
12 июня 2009 г. 3:02, спустя 1 минуту 15 секунд
phpdude, у goDB синтаксис то SQL, и только абстракция от интерфейсов mysqli.
А твоя либа изменяет сам синтаксис SQL! А это ЯДhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
12 июня 2009 г. 3:03, спустя 50 секунд
я то знаю, ибо начал программировать раньше чем jQuery появился, так что ты херню несешь ;)
ты же юзаешь jQuery? или на плейнжс пишешь? … ты не знаешь что такое яваскрипт? …. спорноhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
12 июня 2009 г. 3:10, спустя 7 минут 2 секунды
Короче, меня заебал холивар. Из всей ветки я понял, что твоя либа умеет делать селект, причем без выборки столбцов и без жоинов…
Пошел делать раздел пихослета, больше не слова сегодня сюда :)https://smappi.org/ - платформа по созданию API на все случаи жизни -
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();!! разве не приятно?
:)
пысы я нисколько не наезжаю)))) просто рассказываю предисторию всей свистопляскиСапожник без сапог -
12 июня 2009 г. 3:12, спустя 57 секунд
почему столбцы не умеет? умеет конечно :)
Короче, меня заебал холивар. Из всей ветки я понял, что твоя либа умеет делать селект, причем без выборки столбцов и без жоинов…
Пошел делать раздел пихослета, больше не слова сегодня сюда :)
$sql->field("username");
или так
$sql->field("username","password","regtime");
чтото такое :)Сапожник без сапог -
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(), в которую передадим аргумент из формы как это будет выглядеть? -
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. так удобнее? :)Сапожник без сапог -
12 июня 2009 г. 11:12, спустя 11 минут 29 секунд
вопрос к тебе - какие запросы ты чаще всего пишешь? :)
Последние пару запросов, которые были мной написаны, это запросы использующие пару джоинов.
Делаю я следующим образом:
Через удобный мне mysql гуй я пишу запрос к бд, прогоняю его через эксплейн и если надо оптимизирую, после вставляю его в готовую строку и заменяю переменные на плейсхолдеры.
в твоем варианте мне придется разбить свой запрос согласно логике твоего класса.
$select = new DudeSql_Select("users",10)->field("username");
Данный код мне интуитивно говорит такой запрос:
select username from users limit 10 -
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())
{
….
}Сапожник без сапог -
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"
); -
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) сколько и какие столбцы используются в моем варианте и в годб?
я за легкое понимаение кода, а не за монстрообразную кашу. с годб получается каша - хуй поймешь что значение, что колонка, что поля, что массив значений. передатся параметры массивами и ниухя не понятно то ли это массив значений, толи это массив описывающий колонку БДСапожник без сапог -
Пожалуйста, авторизуйтесь, чтобы написать комментарий!