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