Il passaggio delle variabili e la gestione dello stato

Quando si realizza un'applicazione per Internet, qualsiasi sia il linguaggio server-side che si andrà ad utilizzare, è estremamente importante affrontare con attenzione e consapevolezza quella che è la più significativa differenza tra la programmazione web e lo sviluppo di un normale software per computer desktop, ovvero la gestione dello stato.

Un comune programma per computer deve interagire direttamente con un unico utente e può contare su un quantitativo di memoria generalmente abbondante e soprattutto sempre disponibile durante tutta la sua esecuzione. La gestione dello stato, ovvero il ricordo di quelle informazioni legate alle precedenti operazioni effettuate dall'utente e necessarie al corretto prosieguo, avviene semplicemente memorizzando tali dati in apposite variabili (variabili di stato), sempre accessibili fino alla chiusura dell'applicazione.

Un'applicazione web invece interagisce con l'utente attraverso Internet. L'utente scrive l'indirizzo di un sito (URL) nel browser. A sua volta il browser, facendo uso del protocollo di comunicazione HTTP, invia una richiesta al server web nel quale risiede la pagina desiderata. Se viene richiesta una pagina PHP, questa viene dapprima eseguita, ovvero vengono eseguite le istruzioni in essa contenute, ed il relativo risultato viene inviato al computer che ne ha fatto richiesta. Quindi uno script PHP rimane in esecuzione esclusivamente per il tempo necessario all'elaborazione di una singola richiesta, ovvero alla realizzazione di un'unica pagina. Ovviamente tutti i dati elaborati durante l'esecuzione andranno persi al termine dello script e questo avviene per ogni pagina richiesta. Inoltre un'applicazione web può essere usata da più utenti contemporaneamente e questo fa sorgere diverse problematiche, tra cui la limitata disponibilità di risorse hardware per utente. L'impressione che un'applicazione web, ad esempio un negozio online, sia a nostra completa disposizione per tutto il tempo della navigazione è quindi solo illusoria.

La soluzione alla mancanza di stato che caratterizza il protocollo HTTP, responsabile dell'interazione tra client (utente) e server web, va cercata quindi non nel PHP in se ma nel protocollo stesso. I realizzatori del PHP hanno infatti sfruttato proprio alcune caratteristiche dell'HTTP per fornire agli sviluppatori diversi strumenti per superare in maniera brillante il problema. Questi metodi sono:

  • get
  • post
  • cookie
  • sessioni

Il primi tre metodi si basano esclusivamente su tre relativi metodi dell'HTTP (definiti quando il PHP ancora non esisteva) mentre le sessioni consistono in un abile utilizzo dei metodi get e cookie per la realizzazione di un potente sistema di persistenza dei dati. Nelle prossime pagine vedremo singolarmente l'utilizzo di queste tecniche, esponendo il relativo ambito di pertinenza e proponendo alcuni esempi.

 

Pagine: 12 3 4 5 ... 9

2 commenti

1 Rocco Sorace Rocco Sorace mercoledž 24 novembre 2010, ore 13:43
Salve,
complimenti prima di tutto per la capacit espositiva, anche un pricipiante come me riesce a segure quanto detto, inoltre gli articoli pubblicati sono veramente utili e di facile fruizione. Vorrei farvi una domanda:
va bene fin quando si tratta di pochi dati ma quando devo passare interi array come posso fare?
Grazie per la risposta che vorrete darmi.
Rocco Sorace
2 Gianni Tomasicchio Gianni Tomasicchio mercoledž 24 novembre 2010, ore 13:47
Per condividere grosse moli di dati tra una richiesta e l'altra non rimane che usare la sessione.
Effettua l'accesso o registrati per inserire un commento