MVC общая функциональность - PullRequest
0 голосов
/ 25 декабря 2011

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

У меня есть 3 разных объекта (контроллера), которые могут иметь комментарии. Мне было любопытно, так как это общая функциональность для всех этих 3 объектов (читать комментарии, писать комментарии и т. Д.). Итак, мой вопрос: как это должно быть разработано? (Где разместить все распространенные методы контроллера и как обрабатывать методы модели). Каков правильный подход MVC для этого? Как сохранить СУХОЙ?

Ответы [ 3 ]

2 голосов
/ 25 декабря 2011

Заставьте 3 контроллера наследоваться от базового контроллера с помощью этих методов.Кроме того, наличие CommentController, в зависимости от варианта использования, будет.

Надеюсь, это поможет.

1 голос
/ 25 декабря 2011

Полагаю, вы прочитали сообщение в блоге Фила, а затем =).

Если вы хотите поделиться логикой между другими контроллерами, вы можете просто создать библиотеку комментариев, модель комментариев и загрузить ее длякаждый из других классов.

Библиотеки Codeigniter

Что касается вашей базы данных, если вы хотите хранить все комментарии в одном месте, вы, вероятно, могли бы сделать что-то вроде этого:

comment_id comment_text comment_relation comment_relationId

... Где отношение и отношение id будут ссылаться на другую таблицу и некоторый конкретный фрагмент содержимого.

Я думаю, что это был бы хороший подход.

1 голос
/ 25 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...