passshift
@passshift
php, js, html5, css

Как писать так чтобы не повторяться?

Пишу интернет-магазин в качестве закрепления изученного материала.

В процессе написания возникает множество функций в целом похожих друг на друга, но тем не менее с различными условиями.

Так например при добавлении товара в каталог я делаю проверку введенных данных и затем в модели с помощью функции create добавляю товар если все указано верно.

После создания товара его понятное дело можно отредактировать, для сохранения изменений есть отдельная функция в модели, называется просто edit

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

Возможно ли объединить две функции в одну и как писать так чтобы не повторяться? Ведь помимо товаров в магазине предусмотрена возможность создания категорий, счетов на оплату, страниц и т.д.
  • Вопрос задан
  • 2331 просмотр
Решения вопроса 1
OlegTar
@OlegTar
программист .NET, Javascript, Perl
Ваша СУБД может поддерживать конструкцию "INSERT OR UPDATE", например, она либо вставляет элемент, либо его апдейтит, если он есть, но нужно, чтобы был уже известен айдишник.

можно также конструировать строку
$str = (условие ? 'INSERT ' : 'UPDATE ') . ''

В качестве условия можно взять проверку передан ли id в функцию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
25 апр. 2024, в 15:31
70000 руб./за проект
25 апр. 2024, в 15:26
15000 руб./за проект
25 апр. 2024, в 15:13
3000 руб./за проект