Обновление купона

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #1 makki » 18.12.2018, 12:59

Вопрос к разработчикам: почему в файле api/Coupons.php в функции update_coupon стоит такой sql запрос:

Код: Выделить всё

$query = $this->db->placehold("UPDATE __coupons SET ?% WHERE id in(?@) LIMIT ?", $coupon, (array)$id, count((array)$id));

а не такой

Код: Выделить всё

$query = $this->db->placehold("UPDATE __coupons SET ?% WHERE id=? LIMIT 1", $coupon, intval($id));

В каких случаях $id может быть массивом?
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #2 zyxer » 18.12.2018, 15:04

по умолчанию, вроде не может быть, но я думаю что это сделано для бОльшей гибкости. В любом случае это вообще никак не вредит и не тормозит систему. Или у вас есть другое мнение? Интересно услышать )
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #3 makki » 18.12.2018, 16:30

zyxer писал(а):по умолчанию, вроде не может быть, но я думаю что это сделано для бОльшей гибкости. В любом случае это вообще никак не вредит и не тормозит систему. Или у вас есть другое мнение? Интересно услышать )
Не вижу смысла писать конструкции, которые не задействованы. Это лишь сбивает с толку программиста при работе с кодом.
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #4 korshunov » 19.12.2018, 07:02

makki писал(а):Не вижу смысла писать конструкции, которые не задействованы. Это лишь сбивает с толку программиста при работе с кодом.

Сейчас не задействованы - возможно, позже понадобятся.
А в данном случае - код простой и понятный, он никак с толку сбить не может.

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

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #5 makki » 19.12.2018, 08:33

korshunov писал(а):Сейчас не задействованы - возможно, позже понадобятся.
Программист должен быть минималистом. Это известная истина. Об этом книги пишут.
А в данном случае - код простой и понятный, он никак с толку сбить не может.
Код сбивает с толку не своей непонятностью, а ненужной формулировкой.
Мне как-то раз пригодилось - надо было добавить для купонов установку даты массово...
А у меня была обратная ситуация, когда надо было работать с конкректным купоном по id. Пришлось делать расследование, где в движке востребован массив id. И как оказалось нигде. Более того функция называется update_coupon а не update_coupons
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #6 korshunov » 19.12.2018, 09:52

makki писал(а):Программист должен быть минималистом.

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

В системе полно мест, где можете найти возможности для куда большей экономии. А экономить на приведении типа (array) - как-то несерьезно.

makki писал(а):Код сбивает с толку не своей непонятностью, а ненужной формулировкой.
Не понял, где Вы нашли ненужную формулировку. Код малюсенький, для CMS стандартный, похожий встречается во многих местах. Все крайне просто, особенно для тех, кто уже работал с системой.


makki писал(а):А у меня была обратная ситуация, когда надо было работать с конкректным купоном по id. Пришлось делать расследование...

Очень интересно, что за ситуация и что за расследование, если все прекрасно работает как для одиночного id, так и для массива...


makki писал(а):Более того функция называется update_coupon а не update_coupons

С многими другими аналогичными функциями та же ситуация, функции называются update_page, update_banner, update_product.


Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 26 гостей