Développer de nouvelles fonctionnalités dans Magento Magento Core

Le noyau de Magento (Magento Core) est le moteur utilisé par les modules (voir Figure 19.2). Il renforce Zend Framework et Varien Library par des classes utilitaires très riches :

 Approche MVC avancée (gestion des blocs et des helpers, front controller, routeur).

 Gestion de la configuration.

 Gestion du cache.

 Objets d'accès aux données (data access objects).

 Gestion des thèmes.

 Gestion des langues et de la traduction à la volée.

 Web services.

 Gestion des utilisateurs et des droits d'accès.

 Gestion de la portée (globale, site web, magasin, vue).


figure 19.2. le rôle central de magento core dans la dépendance des modules.
Figure 19.2. Le rôle central de Magento Core dans la dépendance des modules. © Pearson



A savoir : Magento aurait-il deux noyaux ? Ce n'est pas le cas, mais certaines discussions entre développeurs sèment le doute? En fait, deux dossiers portent le nom core dans la distribution standard de Magento :

 app/code/core/

Ce dossier contient tous les modules fournis en standard (moteur et modules métier).

 app/code/core/Mage/Core

Ce dossier ne contient que le moteur de Magento, celui qui fait tourner tout le reste, en particulier les autres modules du dossier app/code/core.

Quelle est la meilleure pratique ? Réserver core pour définir le noyau seul semble idéal, mais ne pas utiliser core pour designer le dossier app/code/core est difficile ! À défaut de terme précis, à chacun de
vérifier sur quoi porte la discussion.