it-swarm-es.tech

¿Cuál es el flujo de ejecución de Joomla, después de que una solicitud llega a index.php hasta la salida final en el navegador?

Según esta pregunta: ¿Cómo funcionan las plantillas y cómo cargan los archivos css/js? Proceso de creación de sitios web con Purity III

Cita:
.... Tengo que presentar mi sitio web mañana y me preguntarán "¿de dónde viene el contenido?" y no puedo responder porque no lo entiendo yo mismo.

¿Qué sucede si llamo al sitio? En el archivo index.php hay un código php, pero no puedo encontrar el lugar donde se llama al resto del sitio web o algo así ...

y también sobre el tipo de preguntas como esta: Dónde se encuentran los archivos de Joomla

Decidí crear este Q/A para trabajar como referencia para todas las preguntas similares. Cualquier persona que desee contribuir para que esta sea una publicación wiki comunitaria sólida es bienvenida.

8
FFrewin

ToC de respuesta
1. Introducción para principiantes + enlace de recursos para principiantes
2. Sobre la arquitectura de Joomla
3. Flujo de ejecución de Joomla: cómo funciona Joomla
4. Recursos suplementarios

1. Introducción para principiantes

Usar Joomla para la construcción del sitio es bastante simple, ya que proporciona un área de administración amigable. En la mayoría de los casos, esto es todo lo que se necesita saber para los usuarios finales y los diseñadores.

Muchos principiantes con algunos conocimientos sobre html y css estáticos clásicos tienen esta misma pregunta/expectativa común: cómo editar sus archivos/contenido, ya que ven que se representa en su navegador.

Sin embargo la forma en que Joomla trabaja detrás de escena, es mucho más complicado que editar un archivo html y requiere conocimientos y experiencia avanzados en programación para comprenderlo completamente.

Como respuesta breve: no espere abrir la aplicación FTP/File manager y busque un archivo llamado: myArticle.html o index.html que le permitirá editarlo directamente o cambiar la apariencia de los elementos html de su página.

Para comenzar, sugeriría aprender primero los conceptos básicos de Joomla y cómo administrarlo desde el back-end. Lentamente, lentamente se adquirirán más conocimientos y experiencia.

Recursos para principiantes

Puede encontrar un tema con recursos útiles y tutoriales aquí:
Tutoriales para principiantes de Joomla - ¿Cómo comenzar con Joomla?


2. Acerca de la arquitectura de Joomla

Joomla es más que un CMS moderno construido en PHP. Es un proyecto web avanzado que incorpora arquitectura de múltiples capas, que incluye:

  • El marco de trabajo de Joomla , que incluye bibliotecas de terceros en las que se basa el marco y los complementos que amplían el marco.
  • Aplicaciones web separadas como el sitio del administrador, el sitio front-end, la instalación.
  • La capa de extensiones (módulos, componentes, plantillas) que amplían el marco de Joomla y las aplicaciones.

Joomla implementa varios conceptos avanzados de programación, Programación Orientada a Objetos , Patrón de diseño MVC y otros patrones de diseño comunes, un sistema de plantilla etc. Además, no olvide mencionar que Joomla utiliza un base de datos donde los datos se guardan y se recuperan cuando se solicita que se muestren en la pantalla.


3. Descripción breve y simple del ciclo de ejecución de Joomla: cómo funciona Joomla

Cuando llegue a la index.php del sitio a Joomla (la aplicación JSite front-end), comienza un ciclo de ejecución completamente nuevo , eso incluye:

  • Incluye importantes archivos que definen las constantes de la aplicación [~ # ~] [~ # ~] que se utilizan ampliamente en la aplicación y sus extensiones.
  • Carga del marco de Joomla y todas sus clases esenciales que se requieren para aplicación para trabajar en el futuro, -el marco también verifica si hay un archivo de configuración en su lugar, o si debería llevarnos a la carpeta de instalación para realizar Una nueva instalación de Joomla.
  • El objeto Aplicación se crea e inicializa y se maneja el estado de la sesión (sesión nueva o existente).
  • Se carga el archivo de configuración , que también proporciona acceso a la base de datos.
  • Se llama a enrutador. El enrutador es responsable de traducir URL a una matriz asociativa de comandos y viceversa. Estos comandos se utilizarán como parámetros de URL y se enviarán a PHP's $_GET SuperGlobal para crear una url completa. El elemento option de esta matriz es el que define el componente que debe ejecutarse.
  • Con la ejecución del componente, se crea el Documento Objeto. El documento se almacena en la memoria y contiene datos que se devolverán más tarde en el navegador. El hecho de que se almacena como búfer en la memoria permite colocar y manipular contenido en él sin ningún orden en particular y desde cualquier ubicación. La plantilla seleccionada se ha almacenado en la configuración. Además, vale la pena señalar que lo único que Joomla está haciendo es ejecutar el componente. Lo que debería suceder durante este paso es el trabajo del componente.
  • Luego viene la Representación de la página , donde junto con los datos del componente del paso anterior, los módulos y los mensajes de notificación también se representan y colocan en sus posiciones de plantilla.
  • El último paso es enviar la página al navegador .
  • Es importante tener en cuenta que durante varias etapas del ciclo de ejecución anterior, hay Eventos de complementos = puntos que se llaman, que permiten que los diversos eventos interfieran y extiendan la funcionalidad de Joomla.

Aquí se documenta una lista de flujo de ejecución más detallada, con los eventos del complemento: Flujo de ejecución de la aplicación Joomla


4. Recursos suplementarios:

13
FFrewin

Pequeña contribución, la lista completa de Joomla! Plugin Events.

1
Gruber