Ricerca…


Osservazioni

MVC è l'acronimo di Model-View-Controller. Qualsiasi applicazione che separa l'accesso ai dati, la logica aziendale e l'interfaccia utente è chiamata MVC. Ci possono essere due tipi di MVC: basati sulla convenzione e basati sulla configurazione. Ad esempio, cakePHP è basato sulla convenzione, ovvero basta seguire le istruzioni del sistema principale per preparare il modulo in poche righe. Magento è basato sulla configurazione, ovvero devi specificare ogni cosa nel file di configurazione del tuo modulo per farlo funzionare. Magento ha un controller (per il routing), un blocco, un modello e un file modello. Come funziona MVC di Magento:

  1. Quando inserisci l'URL (qualcosa come http://mysite.com/frontname/controller/method/param1/value1/param2/value2) , questo URL viene intercettato da un file PHP chiamato index.php che istanzia l'applicazione Magento
  2. L'applicazione Magento crea un'istanza dell'oggetto Front Controller
  3. Inoltre, il front controller istanzia oggetti Router (specificati nel modulo config.xml, tag globale)
  4. Ora, il router è responsabile per "abbinare" il nome che è nel nostro URL
  5. Se viene trovata la "corrispondenza", vede il nome del controller e il nome del metodo nell'URL, che viene infine chiamato.
  6. Ora, a seconda di ciò che è scritto nel nome dell'azione (nome del metodo), viene eseguito. Se vengono chiamati tutti i modelli, il metodo del controller creerà un'istanza di quel modello e chiamerà il metodo in esso richiesto.
  7. Quindi l'azione del controller (metodo) crea un'istanza dell'oggetto Layout, che chiama il blocco specificato per questo nome di azione (metodo). Ogni nome di azione del controller ha un blocco e un file modello associato, che può essere trovato in app / design / frontend o adminhtml / namespace / module / layout / module.xml file, il nome del file di layout (module.xml) può essere trovato in config.xml di quel modulo, nel tag di aggiornamento del layout).
  8. Il file di modello (.phtml) ora chiama il blocco corrispondente per qualsiasi richiesta di metodo. Quindi, se scrivi $ this-> methodName nel file .phtml, controllerà "methodName" nel file di blocco associato nel file module.xml.
  9. Il blocco contiene la logica PHP. Fa riferimento a Modelli per qualsiasi dato dal DB.
  10. Se Block, Template o Controller devono ottenere / impostare alcuni dati da / a database, possono chiamare Model direttamente come Mage :: getModel ('nomedipo / nome modello').

Comprendi MVC in Magento

inserisci la descrizione dell'immagine qui

MVC Flow in Magento

inserisci la descrizione dell'immagine qui



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow