Разница между моделью и ресурсом модели - PullRequest
5 голосов
/ 21 января 2010

Я начинаю проект с Magento. Позвольте мне сначала сказать, что я из мира MS, я никогда раньше не использовал PHP, и хотя я довольно быстро догоняю, я являюсь новичком в php.

Я не могу понять различия между моделью, моделью ресурса, ресурсом и объектами сущности и тем, как они связаны в архитектуре magento.

Я уже несколько дней пробовал гуглить, но нашел мало информации, и то, что я нашел, на самом деле не объясняет!

1 Ответ

20 голосов
/ 22 января 2010

Magento далеко не типичен для разработки PHP, и то, что он называет вещами, не всегда согласуется с тем, что их называют другие люди. Magento разделяет слой модели на две части, как вы узнали, модель обрабатывает бизнес-логику, а часть ресурсов - только общение с базой данных. Теория заключается в том, что если вы выбрали хранилище данных, которое не было Будучи адресуемыми с помощью PDO, вы сможете поменять другой ресурс для обработки / загрузки и сохранения без какой-либо логики, которая окружает эти вещи.

Два разных типа ресурса, которые есть у magento, это Entity и Mysql4 - последний представляет собой довольно стандартную систему межсетевых таблиц, где Resource отображается на таблицу в базе данных, а первый немного сложнее. Чтобы пользователям и разработчикам было действительно легко добавлять пользовательские поля к вещам, основные части magento (продукты, клиенты, заказы и т. Д.) Представлены так называемой системой Entity-Attribute-Value (EAV), где чем иметь типизированный столбец для значения, у вас есть строка с ключом (имя столбца cf) и значением. Ресурсы Entity обрабатывают сопоставление этих таблиц eav с массивом полей, в котором хранятся данные.

Чтобы подчеркнуть, это далеко не типично для PHP-приложения, и если вы собираетесь изучать PHP, я бы выбрал другую систему.

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