Как правильно делать "экшаны"?

KorP

Новичок
Вопрос в общем то больше теоретический. Есть сайт с неким функционалом, например каталог товаров,ну и функционал-добавление товара в корзины. Так вот каким образом правильнее всего реализовывать добавление в корзину? Сейчас делаю по простому - есть некий файл action.php которому передвётся id товара, он проверяет правильность передаваемых данных и запускает некую функцию по добавлению информации в базу и редирнктит обратно в каталог. Собственно таким образом все "экшаны собраны в один файл и так этим и пользуюсь. Вот собственно вопрос - на сколько такой подход вообще адекватен? Какие ещё могут быть варианты реализации? Как это реализовывается при ООП подходе?
 

Mols

Новичок
KorP
Не совсем понял... Вы считаете, что добавление разных товаров в корзину это разные действия?
Что значит "экшаны собраны в один файл "?
 

KorP

Новичок
KorP
Не совсем понял... Вы считаете, что добавление разных товаров в корзину это разные действия?
Что значит "экшаны собраны в один файл "?
нет, под разными экшанами имеется ввиду - добавление, удаление, редактирование и т.д. естественно что функция добавления в корзину это один экшан
 

Mols

Новичок
KorP
Как по мне, Вы немного не правильно сформулировали вопрос)))
Вот взять например ZF - котроллер это класс, действия - методы класса. Итого - всё в одном файле, но по умолчанию по разным урлам)))
Так что вопрос у Вас наверное всё таки не про "один файл".... хотя хз.
Вот это "Как это реализовывается при ООП подходе" вообще очень сложно понять.
Опять же потому что:
1. не очень понятно что понимается под словом "это"
2. ООП подход к чему?
3. Да и вообще... только Hrakk знает ответ на этот вопрос ))))

Итого. Для удаления/добавление/редактирования правильно иметь отдельные актионы (но они могут быть и в одном файле).
 

Adelf

Administrator
Команда форума
У тебя должно быть в модели реализовано сохранение, удаление и т.д.
Валидация тоде должна быть рядом.
а у этого action.php должна быть простая задача - проверить что пришло и попросить модель сделать нужное.

Как реализовывать модель - сказать трудно. Судя по твоему посту ты оперируешь понятием "файл", а не "класс". Я пишу на Кохана. у меня контроллер(внутри которого экшены) - это класс, модель - тоже класс(иногда не один на одну сущность). валидация - тоже класс.
 

KorP

Новичок
Как реализовывать модель - сказать трудно. Судя по твоему посту ты оперируешь понятием "файл", а не "класс". Я пишу на Кохана. у меня контроллер(внутри которого экшены) - это класс, модель - тоже класс(иногда не один на одну сущность). валидация - тоже класс.
Да, до этого я в общем то писал без применения ООП, а сейчас как раз осваиваю кохану.
 

Mols

Новичок
ну тогда тут 2 вопроса. Один про роутинг/диспетчеризацию, а второй про работу моделями вообще.
Это конечно обсуждение сферического коня в вакууме, но получается, что должна быть модель для записи в заказе, и модель заказа.
Модель заказа умеет добавлять/извлекать/удалять записи из себя. Ну и создавать/редактировть/удалять себя
Модель записи - создавать/редактировть/удалять себя.
Для тех моделей которые сохраняются в базе - чаще всего существует маппер и сущность... Маппер умеет из записей в базе создавать сущности, и сохранять сущности в базу.
По поводу того, что должны уметь сущности - мнения расходятся... кто-то считает, что вообще ничего (наверное более распространённое мнение)... кто-то наделяет их какой-то логикой.
 
Сверху