magento
Struttura MVC
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:
- 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
- L'applicazione Magento crea un'istanza dell'oggetto Front Controller
- Inoltre, il front controller istanzia oggetti Router (specificati nel modulo config.xml, tag globale)
- Ora, il router è responsabile per "abbinare" il nome che è nel nostro URL
- Se viene trovata la "corrispondenza", vede il nome del controller e il nome del metodo nell'URL, che viene infine chiamato.
- 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.
- 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).
- 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.
- Il blocco contiene la logica PHP. Fa riferimento a Modelli per qualsiasi dato dal DB.
- 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
MVC Flow in Magento
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow