эти три параметра в where ну очень не красиво смотряся, да и '?' в качестве аргументов это вобще фейл как по мне.
неужели нельзя как то подругому реализовать?
эти три параметра в where ну очень не красиво смотряся, да и '?' в качестве аргументов это вобще фейл как по мне.
неужели нельзя как то подругому реализовать?
flaky, похоже ты не видел какой билдер в кохане ![]()
Я не хочу тебя огорчать, но помоему других более подходящих вариантов нет.
Koenig, в where параметр $type я вижу проверка идет с учетом регистра. Т.е. если я захочу написать LIKE вместо like (а я всегда так пишу), то ничего не выйдет.
А вот здесь вообще мультибайтовую функцию зачемто применил, когда вполне хватилобы strtolower
(mb_strtolower($type), array('asc', 'desc')) Screamer, наоборот, можно в обоих регистрах писать, по сути хватило бы и обычной функции
Screamer, http://fuelphp.com/docs/classe ... .html я тут подсмотрел
правда смотрел вызов, код не смотрел, там файлов куча
Koenig, сейчас вот даже специально в ман заглянул. in_array() учитывает регистр строки.
А у тебя там в методе where():
$str = in_array($type, array(/*ololo ...*/))
? '`' . $field . '`' . $type
. (is_int($value)
? $value
: ($value == '?'
? $value
: ($type == 'like'
? "'%" . $value . "%'"
: "'" . $value . "'"
)
)
)
: die('invalid argument in where');Screamer, это потом, когда пишешь запрос!, сразу видишь сообщение где косяк
Koenig, везде в принципе подход одинаковый, я сейчас сам мельком полистал сырцы. Файлов говоришь куча, билдер что-ли не смог найти?
core\classes\database\query
В принципе для библиотеки это нормально, когда куча файлов.
Было бы не плохо если бы ты довел класс до конца включая форматирование как рекомендуется в PSR.
Заюзал неймспейсы, что бы можно было автозагрузчиком подхватить не вмешиваясь ни в код класса, ни в код автозагрузчика (Подразумевается, если автозагрузчик ориентирован на неймспейсы конечно же.)
Исключения, чтобы можно было перехватывать ошибки ну и т.д.