Класс для безопасной работы с MySQL

Василий М.
просто они помнят наверное как Фанат их тут банил и отправлял читать маны.
 
Есть одна грустная штука, связанная со $stats: утечка памяти.
Долгий скрипт, выполняющий очень много запросов, неизбежно упадет с memory_limit.
 
Что интересно, http://pyha.ru/go/godb/
Жаль, я не уделял достаточно внимания этому ресурсу.
Чувак ещё в 10 году сделал типизованные. Я пришёл к ним только в начале 12
 
Ну в том же DbSimple они изначально были. Он какого года, 2006 вроде? По крайней мере, году в 2008 я эту идею именно оттуда взял.
 
Фанат
Апладирую стоя за хабру! Не главное написать класс, который что-то выполняет! Главное среди дебрей "да у меня такой же" продраться.
Я уважал, уважать стал больше!
 
Ну в том же DbSimple они изначально были. Он какого года, 2006 вроде? По крайней мере, году в 2008 я эту идею именно оттуда взял.
Вот они какие-то неявно типизованные. Не было акцента на этом. И видеть-то я их видел, но совершенно не обращал внимания (когда её щупал). А потом начисто забыл.
 
Фанат
Думаю, было бы неплохо добавить еще один плэйсхолдер для типа float. Сейчас вы рекомендуете использовать ?s для вставки float. Но если, например, на сервере установлена локаль, где разделителем дробной части числа является запятая, то при вставке дробного значения придется самостоятельно форматировать float нужным образом. В DbSimple, например, есть отдельный плэйсхолдер, который выполняет для этих целей str_replace(',', '.', floatval($value))
 
например, на сервере установлена локаль, где разделителем дробной части числа является запятая
Это такой геморрой, глюкота, кривота и вообще бредятина, что лучше сразу от этого избавляться:
PHP:
setlocale(LC_NUMERIC, 'C');
 
С дной стороны - это правильно.
Но с другой - нужная ведь фича, если говорить о самом классе - не?
Нужная. У меня, например, f() есть.

[offtop]
Хотя с запятой я, конечно, не парюсь. Мне достаточно одного вот этого
Код:
$ php -r 'setlocale(LC_ALL, "ru_RU.UTF-8"); $f = 1.2; $s = (string)$f; $f2 = (float)$s; var_dump($f, $s, $f2);'
float(1,2)
string(3) "1,2"
float(1)
чтобы раз и навсегда поставить LC_NUMERIC='C'.

Если на выводе нужна запятая, это делается через number_format в шаблонизаторе.
Если на входе принимаются флоаты с запятыми, конвертация делается фильтром формы.

Думаю, с все большим проникновением компьютеров в жизнь рано или поздно традиционная в России запятая отомрет как атавизм. Собственно, уже сейчас для многих точка выглядит привычнее.
[/offtop]
 
Сверху