Можно ли иметь только одну модель для вопросов и комментариев? - PullRequest
0 голосов
/ 04 марта 2012

Я хочу использовать методы для вопросов и комментариев, например add_question(), get_all_quests(), add_comment() и т. Д., Только в одной модели.Почему, вы можете спросить, потому что у меня есть одна функция validate_html(), которая проверяет HTML-код, и я хочу проверить его в комментариях и вопросах (потому что люди могут вводить HTML-код в комментариях и вопросах).Так можно ли так делать?

Ответы [ 2 ]

2 голосов
/ 04 марта 2012

Проще говоря - нет. Суть модели в том, что она должна инкапсулировать данные относительно этого конкретного элемента, например все данные о вопросе и все данные о комментарии.

Однако вы также хотите максимизировать повторное использование кода. Самый лучший способ сделать это - создать класс Validator, который содержит метод validate_html (). Это может затем использоваться в вашем контроллере - если вы выполняете MVC - для проверки моделей.

2 голосов
/ 04 марта 2012

Функция validate_html () должна идти в отдельную систему библиотеки. Таким образом, наряду с MVC должен существовать четвертый уровень, называемый библиотекой, который может использоваться всеми приложениями

Пожалуйста, обратитесь к моему ответу здесь: Правильное место для размещения логики в MVC для получения дополнительной информации.

function add_question()
{
// do stuff
$library->validate_html();
}

function add_comment()
{
// do stuff
$library->validate_html();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...