Logo Domenico Calipari Blog
Logo Domenico Calipari Blog

martedì, novembre 29, 2011

Magento: Architettura MVC Configuration-Based

Architettura MVC Magento


L'architettura di Magento utilizza quello che è noto come Pattern MVC ( Model-View-Controller o in italiano Modello-Vista-Controllore). Esistono diverse implementazioni del pattern MVC. Quella più utilizzata è la cosiddetta MVC convention-based. Magento è invece un sistema definito MVC configuration-based. 
In un sistema MVC convention-based se per esempio si vuole aggiungere un nuovo Controller o anche un nuovo Model, basta creare il file (o la classe per meglio dire) interessato e il sistema dovrebbe riconoscerlo automaticamente. In un sistema configuration-based come Magento, oltre ad aggiungere il nuovo file/classe al codice predefinito, spesso si deve eplicitare al sistema che si è creata una nuova classe o un nuovo gruppo di classi. In Magento ogni Module ha associato un file chiamato config.xml. Questo file contiene tutte le configurazioni rilevanti per il Module di Magento. A tempo di esecuzione tutti questi files vengono caricati in un gigante albero di configurazione. Per esempio, se si vogliono usare dei Models in un Modulo personalizzato bisogna aggiungere del codice al config.xml dicendo a Magento esplicitamente che si vuole utilizzare quei Models:


<models>
     <packagename>
          <class>Packagename_Modulename_Model</class>
    <packagename>
</models>

Lo stesso vale per gli Helpers, Blocks, Routes per i Controllers, Event Handlers etc... Quasi ogni volta che si vuole sfruttare la potenza del sistema di Magento, è necessario fare qualche modifica o aggiunta al file di configurazione.

Link e Fonte: Magento Commerce Knowledge Base


0 commenti:

Posta un commento