PHP: MVC и модель - PullRequest
       23

PHP: MVC и модель

1 голос
/ 06 мая 2010

Меня интересует одна вещь при создании моделей. Если я сделаю, например, модель страницы. Это оба: он может извлечь одну строку из таблицы или все строки. Каким-то образом я смешиваю объекты и базу данных.

Я думал, что это так: Мне пришлось бы создать Page-класс, который бы представлял одну строку в таблице. Он также будет иметь все основные CRUD-методы.

Тогда мне нужно было бы создать класс Pages (своего рода коллекцию), который бы извлекал строки из таблицы и создавал объект Page из каждой строки. Это что-то странное?

Если бы кто-то мог объяснить мне идею модели повсюду ... Я снова запутался.

Может быть, я думаю, что ООП слишком сложно ..

И, кстати, этот форум великолепен. Надеюсь, люди просто поймут мои проблемы. Хех. Я долгое время был программистом процедурного стиля, и теперь через 3 месяца я погрузился в OOP, MVC и PHP, и я просто с каждым днем ​​все больше и больше волнуюсь, когда исследую этот материал!

Ответы [ 2 ]

1 голос
/ 06 мая 2010

Это зависит от того, представляют ли ваши модели экземпляры или являются просто объектами ORM.

Если модель представляет экземпляр, то каждая запись (строка) в базе данных станет новым объектом модели. «Все записи» будут просто представлены массивом этих объектов. Например, Ruby on Rails делает это так.

Если ваша Модель является скорее объектом ORM, она просто представляет базу данных как таковую и позволяет вам получать записи из базы данных через нее. Результаты могут быть в каком-либо объекте контейнера или просто в обычном массиве. CakePHP, например, использует этот метод.

1 голос
/ 06 мая 2010

Это оба: он может получить один строка из таблицы или все строки.

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

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

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