it-swarm.it

Qual è il flusso di esecuzione di Joomla, dopo che una richiesta ha raggiunto index.php fino all'output finale sul browser?

Sulla base di questa domanda: Come funzionano i template e caricano i file css/js? Processo di costruzione del sito Web con Purity III

Quote:
.... Devo presentare il mio sito Web domani e potrei chiedermi "da dove provengono i contenuti?" e non posso rispondere perché non lo capisco da solo.

Cosa succede se chiamo il sito? Nel file index.php c'è il codice php ma non riesco a trovare il punto in cui il resto del sito web viene "chiamato" o qualcosa del genere ...

e anche su tipi di domande come questa: Dove si trovano i file Joomla

Ho deciso di creare questo Q/A per lavorare come riferimento per tutte le domande simili. Chiunque desideri contribuire a rendere questo un solido post wiki della community è il benvenuto.

8
FFrewin

ToC della risposta
1. Introduzione per i principianti + collegamento risorse per principianti
2. Informazioni su Joomla Architecture
3. Joomla Execution Flow - Come funziona Joomla
4. Risorse supplementari

1. Introduzione per principianti

L'uso di Joomla per la creazione di siti è piuttosto semplice, in quanto fornisce un'area di amministrazione amichevole. Nella maggior parte dei casi questo è tutto ciò che è necessario sapere per gli utenti finali e i progettisti.

Molti principianti con una certa conoscenza dei classici html e css statici, hanno la stessa domanda/aspettativa comune: come modificare i loro file/contenuti, visto che lo visualizzano nel loro browser.

Tuttavia il modo in cui Joomla lavora dietro le quinte, è molto più complicato rispetto alla modifica di un file html e richiede conoscenze ed esperienza di programmazione avanzate per comprenderlo appieno.

Quindi, come risposta breve: non aspettarti di aprire l'app FTP/File manager e trovare un file chiamato: myArticle.html, o index.html che ti permetterà di modificarlo direttamente o cambiare l'aspetto degli elementi html della tua pagina.

Per iniziare, suggerirei di imparare prima le basi di Joomla e come gestirle dal backend. Lentamente, lentamente saranno acquisite più conoscenza ed esperienza.

Risorse per principianti

Un argomento con risorse utili ed esercitazioni è disponibile qui:
Tutorial per principianti di Joomla - Come iniziare con Joomla?


2. Informazioni su Joomla Architecture

Joomla è più di un CMS moderno basato su PHP. È un progetto Web avanzato che incorpora un'architettura multi-layer, che include:

  • Il Joomla framework - comprese le librerie di terze parti su cui si basa il framework, e i plugin che estendono il framework.
  • Applicazioni Web separate come il sito dell'amministratore, il sito front-end, l'installazione.
  • Il livello estensioni (moduli, componenti, modelli) che estendono il framework Joomla e le applicazioni.

Joomla implementa vari concetti di programmazione avanzata, Programmazione orientata agli oggetti , Modello di progettazione MVC e altri modelli di progettazione comuni, un sistema di modelli ecc. Inoltre, per non dimenticare di menzionare che Joomla utilizza un database in cui i dati vengono salvati e recuperati quando richiesto per essere visualizzati sullo schermo.


3. Descrizione semplice e breve del ciclo di esecuzione di Joomla - Come funziona Joomla

Quando raggiungi il index.php di un sito Joomla (l'applicazione JSite front-end), inizia un ciclo di esecuzione completamente nuovo , quello include:

  • Importanti includono i file che definiscono le costanti dell'applicazione [~ # ~] [~ # ~] che sono ampiamente utilizzate nell'applicazione e nelle sue estensioni.
  • Caricamento del Joomla framework e di tutte le sue classi essenziali richieste per il applicazione per lavorare lungo la strada, il framework controlla anche se esiste un file di configurazione , o dovrebbe portarci nella cartella di installazione per fare una nuova installazione di Joomla.
  • L'oggetto Applicazione viene creato e inizializzato e lo stato della sessione viene gestito (sessione nuova o esistente).
  • Viene caricato il file di configurazione che consente anche l'accesso al database.
  • Viene chiamato router. Il router è responsabile della traduzione URL in un array associativo e vice versa. Questi comandi verranno utilizzati come parametri url e inviati a PHP's $_GET SuperGlobal per creare un URL completo. L'elemento option di questo array è quello che definisce il componente che dovrebbe essere eseguito.
  • Con l'esecuzione del componente, viene creato il Oggetto documento. Il documento è archiviato in memoria e contiene i dati che verranno restituiti in seguito sul browser. Il fatto che sia archiviato come buffer in memoria consente di inserire e manipolare il contenuto in esso in nessun ordine particolare e da qualsiasi posizione. Il modello selezionato è stato memorizzato nella configurazione. Inoltre, vale la pena notare che l'unica cosa che Joomla sta facendo è eseguire il componente. Cos'altro dovrebbe succedere durante questo passaggio è il lavoro del componente.
  • Successivamente viene visualizzato il rendering della pagina , dove accanto ai dati dei componenti del passaggio precedente, i moduli e i messaggi di notifica vengono anche visualizzati e posizionati nelle rispettive posizioni del modello.
  • L'ultimo passo è quello di stampare la pagina sul browser .
  • Importante notare che durante le varie fasi del suddetto ciclo di esecuzione, ci sono Eventi plugin = punti chiamati, che consentono ai vari eventi di interferire ed estendere la funzionalità di Joomla.

Un elenco del flusso di esecuzione più dettagliato, con gli eventi del plug-in è documentato qui: Joomla Application Execution Flow


4. Risorse supplementari:

13
FFrewin

Piccolo contributo, l'elenco completo di Joomla! Plugin Events.

1
Gruber