2009-11-24 3 views
3

У меня есть приложение, которое растет все больше и больше. Адрес: www.aquitanda.com [бразильский португальский].Управление большими приложениями с помощью CakePHP

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

У меня для этого проекта четыре больших «интерфейса». Один из них - интерфейс commom, где каждый может просматривать браузер, регистрироваться как пользователь или как магазин и так далее. У меня есть другой интерфейс, где люди управляют своими настройками, их профилем и т. Д., Это пользовательский интерфейс. Существует интерфейс управления магазином, где люди добавляют продукты, категории, проверяют заказы и так далее. Последний из них - интерфейс магазинов.

Это означает, что у меня есть много кода, в котором используются одни и те же модели и одни и те же контроллеры, но мои контроллеры становятся огромными, а maintanence становится все сложнее и сложнее.

См., У меня есть толстые модели. Дело не в том, что действия доходят до большого кода. Просто потому, что у меня много действий.

Итак, я переместил свой код в плагины, но мне это больше не кажется «правильным», поскольку я хочу использовать плагины для других вещей вместо действий с интерфейсами.

Есть ли предложение, чтобы организовать это лучше? Должен ли я использовать префиксы и позволить моим контроллерам огромно? Должен ли я придерживаться плагинов [возможно, с пользовательскими путями]? Будет ли v.1.3 вводить что-нибудь новое по этому вопросу? Должен ли я ждать стабильной версии? Любые другие альтернативы?

Спасибо;)

+0

, когда вы говорите, что у вас много «кода, который использует те же модели и те же контроллеры»? контроллеры, которые разделяют модели, классные, но не уверены, что вы подразумеваете под кодом, который использует одни и те же контроллеры? можете ли вы создать компоненты, содержащие логику, которую разделяют контроллеры? – neilcrookes

+0

То, что я пытался сказать, состоит в том, что много кода разделяет один и тот же «объем» контроллера ... существует множество действий, которые происходят с данным контроллером. Я не знаю, ясно ли это. –

+0

Вы используете компоненты? – powtac

ответ

1

Я не думаю, что плагины, что вы хотите, как они самодостаточны. Если ваши модели уже жирны и вы хотите уменьшить логику контроллера, следующим шагом будет определение того, должен ли какой-либо код контроллера принадлежать компоненту.

+0

Да, переместите код плагина в компоненты. – powtac

+0

Согласен. Однако, как предупреждение, это также звучит так, будто у вас просто тонна строк кода. В какой-то момент вам придется иметь дело с наличием больших контроллеров: если у вас есть 300 различных действий для одного контроллера, на самом деле вы не можете сделать это, чтобы уменьшить сложность источника, кроме того, что у всех есть. –

+0

И что именно это пробовали все остальные? –

Смежные вопросы