PHP и MVC, многоуровневые модели

Это - дурная привычка работать с многоуровневыми моделями в одном действии контроллера? Это должно всегда быть похожим на один контроллер одна модель одно представление?

12
задан Gordon 26 April 2010 в 10:07
поделиться

3 ответа

Нет, конечно, неплохая привычка. Если вы работаете с несколькими таблицами, потребуются разные модели.

Проблема не столько в этом, сколько в способности фреймворка обрабатывать сложные запросы, объединения и фильтрацию на основе этих моделей. Это один из тех медвежатников, когда вы «обязаны» следовать особой эстетике фреймворка в отношении взаимодействия с базой данных, но это, конечно, зависит от того, какой фреймворк и насколько вы полагаетесь на магическое поведение.

Не каждый проект - это простой блог! :)

edit: Я должен также сказать, что подобные вещи - одна из моих основных проблем с фреймворками MVC в целом. Компромисс между тем, чего пытается достичь ваш проект, и тем, что позволяет фреймворк, всегда будет там, где потеряны волосы и потрачены на поздние ночи ..

11
ответ дан 2 December 2019 в 19:30
поделиться

Я не мог представить, что могу работать только с одной моделью за раз. Эти базы данных неспроста называются «реляционными базами данных». Все таблицы взаимодействуют друг с другом.

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

4
ответ дан 2 December 2019 в 19:30
поделиться

Как все говорят, вы можете делать то, что хотите. Я бы посоветовал поискать на сайте фреймворк, который вы используете, и посмотреть, как его используют другие люди. У них там часто есть «Проекты, использующие XXXX Framework».

И, как и комментарий Троэльскина, одна таблица не всегда соответствует одной модели. Некоторые из примеров, использующих базовый шаблон Active Record (например, CodeIgniter), как правило, соответствуют методу модели 1 таблица 1.

1
ответ дан 2 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: