Buscar..


Observaciones

MVC significa Model-View-Controller. Cualquier aplicación que separe su acceso a datos, lógica de negocios e interfaz de usuario se llama MVC. Puede haber dos tipos de MVC: basado en convenciones y basado en configuración. Por ejemplo, cakePHP está basado en convenciones, es decir, solo necesita seguir las instrucciones del sistema central para preparar su módulo en unas pocas líneas. Magento se basa en la configuración, es decir, debe especificar cada una de las cosas en el archivo de configuración de su módulo para que funcione. Magento tiene controlador (para enrutamiento), bloque, modelo y archivo de plantilla. Cómo funciona el MVC de Magento:

  1. Cuando ingresas la URL (algo como http://mysite.com/frontname/controller/method/param1/value1/param2/value2) , esta URL es interceptada por un archivo PHP llamado index.php que crea una instancia de la aplicación Magento
  2. La aplicación Magento crea una instancia del objeto Front Controller
  3. Además, el controlador frontal crea una instancia de los objetos del enrutador (especificados en config.xml, etiqueta global del módulo)
  4. Ahora, Router es responsable de "hacer coincidir" el nombre de usuario que se encuentra en nuestra URL
  5. Si se encuentra "coincidencia", verá el nombre del controlador y el nombre del método en la URL, que finalmente se llama.
  6. Ahora, dependiendo de lo que está escrito en el nombre de la acción (nombre del método), se ejecuta. Si se llama a alguno de los modelos, el método del controlador creará una instancia de ese modelo y llamará al método que se solicita.
  7. Luego, la acción del controlador (método) crea una instancia del objeto Diseño, que llama al Bloque especificado para este nombre de acción (método) (Cada nombre de acción del controlador tiene un archivo de plantilla y bloque asociado, que se puede encontrar en app / design / frontend o adminhtml / namespace / module / layout / module.xml, nombre del archivo de diseño (module.xml) se puede encontrar en config.xml de ese módulo, en la etiqueta de actualizaciones de diseño).
  8. El archivo de plantilla (.phtml) ahora llama al bloque correspondiente para cualquier solicitud de método. Por lo tanto, si escribe $ this-> methodName en el archivo .phtml, verificará "methodName" en el archivo de bloque que está asociado en el archivo module.xml.
  9. Bloque contiene la lógica de PHP. Hace referencia a los modelos para cualquier dato de DB.
  10. Si el bloque, el archivo de plantilla o el controlador necesitan obtener / establecer algunos datos de / a la base de datos, pueden llamar al modelo directamente como Mage :: getModel ('nombre de módulo / nombre de modelo').

Entender MVC en Magento

introduzca la descripción de la imagen aquí

MVC Flow en Magento

introduzca la descripción de la imagen aquí



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow