PHP/Introduzione/Come funziona: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 3:
{{Linguaggio PHP}}
 
Durante il caricamento di una [[w:Pagina web|pagina web]], il [[w:Browser|Browser]] leggefa una richiesta al [[w:WEB server|web server]], il soloquale si incarica di restituirgli una "pagina" contenente codice HTML:. caricaUna tabellevolta ricevuta tale pagina, immaginiche in realtà è un file (solitamente avente estensione "HTM" o "HTML", testiper eindicare tuttiil glitipo oggettidi staticicontenuto), dellail pagina.[[w:Browser|Browser]] Maè comein sigrado comportadi quandodisegnare incontrail uncontenuto codicedella PHP?pagina sullo schermo interpretando il linguaggio [[w:HTML|HTML]].
 
Le pagine nelle quali è presente codice PHP, che sono memorizzate sul [[w:server|server]] (con estensione generalmente "PHP", ma potrebbero avere anche estensione HTML o altro), non sono direttamente lette ed interpretate dal [[w:Browser|Browser]] ma vengono interpretate da un modulo aggiuntivo del [[w:WEB server|web server]] che è appunto il modulo PHP.
Per caricare e quindi decifrare il codice PHP, il browser lo invia al [[w:webserver|webserver]] [[w:Apache|Apache HTTP Server]] instalato nel [[w:Server|server]] del sito. Questo è in grado di analizzare il codice e di restituirlo sotto forma di testo semplice (che può contenere anche [[w:Tag|tags]] HTML). Quindi il passaggio dei dati avviene così:
 
Tutte le volte che al [[w:WEB server|web server]] viene fatta la richiesta di una pagina, questa viene analizzata dal server stesso. Se all'interno della pagina viene riconosciuta la presenza di codice PHP (delimitato da [[w:tag|tags]] -marcatori- appositi) questa viene passata al modulo PHP che si preoccuperà di restituirla (in un certo senso la riscrive) nel formato [[w:HTML|HTML]], direttamente interpretabile dal browser richiedente.
Utente (richiama la pagina) --> Browser (carica il codice HTML della pagina) --> Apache (carica il codice PHP e lo restituisce come testo) --> Browser (restituisce il codice PHP decodificato e quello HTML) --> Utente
 
Il susseguirsi logico delle varie fasi è il seguente:
In alcuni casi, il webserver Apache può richiedere dati ad un [[w:Database|database]] (di norma il più utilizzato è il [[w:MySQL|MySQL]]) che tramite una serie di [[w:Query|queries]] e alcuni comandi che vedremo in seguito restituisce i dati contenuti in tabelle archiviate consentendo una gestione ancora più dinamica del sito. In questo caso, il passaggio dei dati avviene così:
1. Utente chiama la pagina (inserendo l'[[w:url|URL]] o cliccando un [[w:link|link]])
2. il Browser inoltra la richiesta al [[w:WEB server|web server]]
3. il [[w:WEB server|web server]] cerca la pagina (il file) richiesto
4. se la pagina contiene codice PHP viene passata al modulo PHP, altrimenti si va al punto 5
4a.il modulo PHP interpreta la pagina PHP e restituisce la corrispondente pagina HTML
5. la pagina "HTML" viene spedita al browser richiedente
6. il browser, una volta recvuta la pagina, la legge e la disegna a monitor
 
Una pagina [[w:Pagina web|pagina web]] è da considerare composta da due componenti fondamentali: la struttura o [[w:layout|layout]] e il contenuto.
Utente (richiama la pagina) --> Browser (carica il codice HTML della pagina) --> Apache (carica il codice PHP e si connette al database) --> MySQL (seleziona i dati dalle tabelle e li restituisce al webserver) --> Apache (rielabora i dati acquisiti e li restituisce come testo) --> Browser (restituisce il codice PHP decodificato e quello HTML) --> Utente
Per [[w:layout|layout]] intendiamo tutto ciò che descrive come la pagina deve essere disegnata, tabelle, colori, [[w:fonts|font]], [[w:frame|frames]]...in generale tutto ciò che può essere definito mediante il linguaggio [[w:HTML|HTML]]. Per contenuto consideriamo, per semplicità, tutto ciò che non è struttura ma informazione che la pagina ci offre.
In un [[w:sito web|sito web]] di solito la struttura resta all'incirca la stessa per tutte le pagine. Quel che cambia è il contenuto.
 
Per facilitare il lavoro ai [[w:WEB master|web master]] la soluzione sarebbe quella di poter separare "fisicamente" il contenuto delle pagine dalla loro struttura. Il PHP viene in aiuto soprattutto in tali situazioni: generalmente un pagina viene costruita memorizzando in un file la struttura (della generica pagina) e in un [[w:database|database]] il contenuto. In questo modo quello che è il compito dell'[[w:interprete|inteprete]] PHP è quello di assemblare la pagina inserendo il contenuto caricato dal database nella struttura.
 
Il funzionamento a questo punto differisce leggermente da quello sopra riportato in quanto il punto 4a si modifica in questo modo:
 
4a: il modulo PHP interpreta la pagina PHP, richiede al database il contenuto da inserire, genera e restituisce la corrispondente pagina HTML.
 
[[Categoria:Linguaggio PHP|Come funziona]]