




Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
modello client-server e le sue principali caratteristiche
Tipologia: Appunti
1 / 8
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





Ogni operazione eseguita sul Web coinvolge un client e un server. Un client è un dispositivo (ad esempio un browser) che effettua una richiesta ad un server remoto. Il server remoto attraverso un linguaggio di scripting (come per esempio PHP ) interpreta la richiesta del client ed invia una risposta (ad esempio una pagina HTML, un oggetto JSON o un XML) al client. A questo punto il client è in grado di interpretare, a sua volta, la risposta ricevuta e fornirla all’utente; nel caso del browser riceverà una pagina HTML che mostrerà all’utente. Il web funziona dunque, semplificando molto, a due livelli:
PHP nasce nel 1994 dalla tastiera di Rasmus Lerdorf; inizialmente esso veniva presentato come una serie di Common Gateway Interface (CGI) per binari scritti in C, al fine di tracciare il numero di visite all’interno di una homepage personale. Da qui il primo nome del PHP: Personal Home Page. In seguito però verrà rinominato in Hypertext Preprocessor , mantenendo tuttavia l’acronimo originale. Il linguaggio si diffuse velocemente presso la community Open Source, al punto che nel 1998 venne rilasciata la versione 3 che, alla fine dello stesso anno, coprirà circa il 10% dei server presenti in Rete. Nel 2000 verrà rilasciata la versione 4. Le release di PHP attualmente in uso sono le 5.6 – 7.0 – 7.1 – 7.2. Secondo gli ultimi aggiornamenti PHP risulta utilizzato in circa l’85% dei siti Web a livello mondiale, seguito da ASP. È di gran lunga il linguaggio server-side più usato e deve gran parte del suo successo alla sintassi molto simile al C e alla sua facilità di apprendimento. Caratteristiche e vantaggi del PHP Come detto, il PHP appartiene alla famiglia dei linguaggi C-Like, ovvero quei linguaggi la cui sintassi è molto simile a quella del C. Vediamo nella seguente tabella alcune differenze e similitudini tra quest’ultimo e PHP. Linguaggio C Linguaggio PHP Tipizzazioni molto forte Tipizzazione debole Paradigmi supportati: imperativo, procedurale, strutturato Paradigmi supportati: imperativo, funzionale, object-oriented, procedurale, riflessivo Supporta i puntatori Non supporta i puntatori Utilizzato principalmente per software Desktop Utilizzato principalmente per applicativi Web Operazioni con le stringhe particolarmente complicate Operazioni con le stringhe molto semplici da effettuare Non supporta I/O filesafe Supporta I/O filesafe Non supporta system calls Supporta system calls Tipi di dati numerici supportati: int8_t, u int8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, int, uint, char, uchar, short, ushort, long, ulong, long long, ulong long Tipi di dati numerici supportati: 32-bit signed int, 64-bit signed int (long integer) Tipi di dati float supportati: single precision float, double, long double Tipi di dati float supportati: double precision float Supporta array di dimensioni fisse Non supporta array di dimensioni fisse Non supporta array associativi Supporta array associativi
Il PHP è stato sviluppato principalmente per il Web, questo implica che la maggior parte delle sue caratteristiche sono state implementate in funzione di esso. Il linguaggio, ad esempio, consente di accedere in maniera semplicissima alle richieste HTTP di tipo GET e POST. La specifica HTTP definisce 9 tipi di metodi alcuni dei quali non sono però usati o supportati dal PHP; i più diffusi restano sicuramente i già citati GET e POST. GET è il metodo con cui vengono richieste la maggior parte delle informazioni ad un Web server, tali richieste vengono veicolate tramite query string, cioè la parte di un URL che contiene dei parametri da passare in input ad un’applicazione (ad esempio www.miosito.com/pagina-richiesta?id=123&page=3). Il metodo POST, invece, consente di inviare dati ad un server senza mostrarli in query string, è ad esempio il caso delle form. Un’altra caratteristica importante è l’accesso in lettura/scrittura ai cookie del browser e il supporto alle sessioni sul server. I cookie sono delle righe di testo usate per tenere traccia di informazioni relative ad un sito Web sul client dell’utente. Le sessioni sono utilizzate anch’esse per memorizzare informazioni relative all’utente, ma vengono salvate sul server e non sul client; esse vengono utilizzate, ad esempio, per gestire l’accesso a contenuti riservati da parte di utenti registrati. Questi argomenti verranno trattati in sezioni dedicate. PHP fornisce delle librerie per accedere alla maggior parte dei database (MySQL, Postgres, SQLite..), per interagire con i server Web (Apache..), per manipolare le immagini (GD), per effettuare connessioni remote (cUrl) e molto molto altro, inoltre, anche se nato come linguaggio per Web, potrà essere utilizzato come linguaggio per lo scripting da riga di comando. Uno dei punti di forza del PHP è la community molto attiva. Sono migliaia le librerie di terze parti che ampliano le funzionalità di base e, nella maggior parte dei casi, sono tutte rilasciate con licenza Open Source. Numerosissimi anche i framework sviluppati con questo linguaggio (Zend Framework, Symfony Framework, CakePHP..) così come anche i CMS (WordPress, Drupal, Joomla..). PHP è multipiattaforma , cioè può essere utilizzato sia in ambienti unix-based (Linux, Mac OSX) che su Windows. La combinazione più utilizzata, però, resta quella LAMP ovvero Linux come sistema operativo, Apache come Web server, MySQL per i database e PHP. Perché imparare PHP Perché è importante conoscere il PHP? Perché è il linguaggio di scripting lato server più utilizzato al Mondo e la richiesta di sviluppatori dotati di questa competenza è ancora in crescita; perché la curva di apprendimento rispetto ad altri linguaggi è molto meno ripida e sarà possibile divenire operativi in tempi più brevi; infine, fattore non secondario, perché PHP è Open Source.
AMPPS è un software che consente di installare automaticamente Apache, MySQL, PHP, il linguaggio Python e Softaculous (una script library che automatizza l’installazione di Web applications in un sito Internet). È una soluzione cross-platform, quindi installabile indipendentemente dal sistema operativo ed è l‘applicativo installato sulle macchine di laboratorio. WAMP è un development tool per Windows che installa e configura per noi Apache, MySQL e PHP. Utile l’interfaccia sulla barra vicino all’orologio di sistema con cui è possibile cambiare la versione dei vari software o abilitare/disabilitare le singole estensioni di Apache e PHP. XAMPP installa su tutti i sistemi operativi Apache, MySQL, PHP e Python, attraverso il Package management system Bitnami consente, come AMPPS, di installare sulla nostra macchina i principali CMS con qualche click. MAMP è nato per piattaforme Apple, in seguito però è stata rilasciata anche una versione per Windows. Contiene al suo interno Apache, MySQL, PHP, Python e il linguaggio PERL. Gli Editor di testo Per scrivere il codice dei nostri script non abbiamo bisogno di particolari software ma sarebbe sufficiente un qualsiasi editor di testo. È preferibile però utilizzare un editor che supporti l’ indentazione e la colorazione del codice , in maniera rendere più leggibili i sorgenti. Tra gli editor di testo più noti abbiamo:
Coda è un software per Mac molto potente. Uno dei suoi punti di forza è la possibilità di connettersi automaticamente in FTP o in SSH al server, oppure di eseguire direttamente query SQL sul nostro database. VIM è una versione più potente e con interfaccia grafica del famosissimo editor VI distribuito nella quasi totalità dei sistemi UNIX. Anch’esso è multipiattaforma. Gli IDE Nel caso in cui siano necessari strumenti più avanzati come l’ autocompletamento del codice , si potrebbe preferire un IDE al semplice editor di testo. Gli IDE ( Integrated Development Environment ) sono software che aiutano i programmatori a sviluppare codice attraverso l’autocompletamento delle funzioni, dei metodi, delle classi, tramite la colorazione del codice o la segnalazione di errori di sintassi senza dover eseguire il codice per individuarli. Alcuni degli IDE più noti sono i seguenti, tutti multipiattaforma: