2010-01-21 4 views
4

Je commence un projet avec Magento. Laissez-moi d'abord dire, que je viens du monde MS, je n'ai jamais utilisé PHP auparavant, et tandis que im rattraper assez rapidement, je suis un ph ph newb.Différence entre modèle et ressource modèle

Je n'arrive pas vraiment à saisir les différences entre le modèle, le modèle de ressource, la ressource et les objets d'entité et comment ils sont liés dans l'architecture magento.

J'ai essayé de googler pendant des jours maintenant et j'ai trouvé peu d'information, et ce que j'ai trouvé n'explique pas vraiment cela!

Répondre

18

Magento est loin d'être typique du développement PHP et ce qu'il appelle les choses n'est pas toujours d'accord avec ce que les autres appellent. Magento divise la couche du modèle en deux parties comme vous l'avez reconnu, avec le modèle gérant la logique métier et la partie Ressource traitant uniquement de la base de données - la théorie étant que si vous avez choisi un magasin de données qui n'était pas N'étant pas adressable avec PDO, vous seriez capable d'échanger une ressource différente pour gérer/charger et sauvegarder, sans aucune logique qui entoure ces choses. Les deux types de ressources que possède Magento sont Entity et Mysql4 - ce dernier étant un système de passerelle de table assez standard, où la ressource est mappée à une table de la base de données, la première est un peu plus compliquée. Afin de permettre aux utilisateurs et aux développeurs d'ajouter facilement des champs personnalisés, les composants principaux de Magento (produits, clients, commandes, etc.) sont tous représentés par ce que l'on appelle le système Entity-Attribute-Value (EAV). que d'avoir une colonne typée par valeur, vous avez une ligne avec une clé (cf nom de la colonne) et une valeur. Les ressources d'entité gèrent le mappage de ces tables eav sur le tableau de champs contenant les données. Pour souligner cependant, c'est loin d'être typique d'une application PHP et si votre intention est d'apprendre PHP, je choisirais un système différent.

+0

Merci! Donc, les ressources sont très similaires à une couche de données dans le monde .NET? J'apprends le PHP pour pouvoir faire des extensions magento. Je trouve cependant que j'aime son architecture et sa flexibilité. Mais il manque sereinement de documentation. –

+0

Il y a une très bonne introduction aux modèles (et autres) par les chaps à Inchoo - c'est une extension qui ne fait rien de plus que configurer l'accès à une table DB (ie pas utile pour un magasin, mais bon pour developrs): //inchoo.net/ecommerce/magento/getting-started-with-magento-orm-setting-up-the-model/ – Greg

Questions connexes