Database - класс для работы с mysqli

Статус
В этой теме нельзя размещать новые ответы.

hell0w0rd

Продвинутый новичок
Уже давно все написано, зачем выдумывать велосипеды?
https://nkt.github.io/flame/

PS отсутствие тестов и названия коммитов не могут не радовать :)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
вот не написано нормальной обертки к базе, нету, просто нет нужного, и все тут
 

Василий М.

Новичок
Код не тестирован, хотя бы потому, что у него там вызывается exception которого нет: https://github.com/Vasiliy-Makogon/Database/blob/master/Mysql.php#L990
все проще - контент этого метода был только сегодня добавлен, а несуществующее исключение - это потому что изначально обертка из фреймворка вышла.

фрейм я тоже скоро выложу, сейчас переписывается.

поправил, спасибо
 

HORO

Новичок
флоат неточный и придется каждый раз number_format делать при выводе из БД. Для цен decimal используют обычно
grigori много ли делов самому написать...
 

hell0w0rd

Продвинутый новичок
Код:
BETWEEN f:minPrice AND f:maxPrice;
надо объяснять почему приведение суммы к float - это ...?
Как минимум, не хватает типов numeric, date и schema (имя таблицы, поля)
Ну смотри, это опенсорс - пришел, закоммитил, я принял. Или issue написал, как минимум. Тесты есть, качество кода вроде норм.
А сидеть в уютненьком форуме и говорить как все плохо - ну да, мы все так делаем время от времени.
date тип есть. scheme - ну, возможно. Хотя это можно было бы и вне библиотеки сделать.

Насчет приведений - они сделаны из-за особенностей PDO, на сколько я помню. Если в PDO_INT сунуть строку будет исключение. Писалось давно, точно не помню.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
@hell0w0rd, тут рядом есть соседняя ветка @Фанат -а, в которой все это детально обсасывалось. Мы даже недели 2 назад обсуждали регулярку, которой можно разбирать плейсхолдеры. Это не просто. И строку к INT надо приводить не оператором (int), а с учетом размеров.
Но если делать схему вне библиотеки и numeric вне библиотеки, то и строку к INT я тоже приведу вне библиотеки.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху