2013-03-13 5 views
1

Я создаю свое первое маленькое приложение с PHP и пытаюсь сделать MVC.MVC в php, модель для категорий?

На моем сайте требуются довольно большие массивы городов и категорий.

Мой вопрос довольно простой, но поскольку массивы являются данными для веб-сайта, все это будут только массивы php, должны ли массивы быть помещены в их собственные модели?

Из того, что я понял, модели используются для бизнес-логики и доступа к данным, поскольку города и категории в основном являются данными, оправдывают ли они их наличие модели?

И если ответ не является почему и что мне делать?

Благодаря

+1

Inb4 использовать рамки. <- Не надо. – Shoe

+0

Я не хочу рамки, я не изучаю использование фреймворков. – Griff

+0

Вам следует научиться использовать фреймворк. Некоторые из них понимают основы дизайна. –

ответ

3

Модель отвечает за получение, редактирование, удаление и вообще управлять данными. Данные обычно исходят из некоторых статических источников, таких как базы данных, файлы XML и т. Д.

Вы должны создать классы моделей, которые взаимодействуют с этими данными. Это то, что должна делать модель. Очевидно, вы можете хранить данные в частных членах так, как вы хотите, массивы, другие классы и т. Д.

Возможно, вам интересно, почему это хорошая идея? Ну, данные должны храниться в классах, потому что вы можете установить видимость для членов класса. Элементы данных обычно являются частными, так что вы можете решить, какие действия разрешены, что приведет к улучшению дизайна и безопасности.

Также модели обычно не содержат в себе никакой логики. Это контроллер, который имеет дело с логикой. Именно в архитектуре MV (Model/View) модели реализуют некоторую логику.

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

+1

Спасибо, просто хотел, чтобы он очистился – Griff

0

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

я настоятельно рекомендую вам сделать:

Используйте рамки на некоторое время, как и Symphony2 или ZF. Они по умолчанию заставят вас в mvc, и это улучшит ваши практические знания.

Читать эту книгу/Библия Design Patterns