1. Introduzione al linguaggio PHP 7
Il PDF di questo documento è disponibile |QUI|.
Gli esempi di questo documento sono disponibili |QUI|.
Questo documento fa parte di una serie di quattro articoli:
- [Introduzione al linguaggio PHP7 attraverso esempi (2019)]. Questo è il documento in questione;
- [Introduzione al linguaggio ECMAScript 6 attraverso esempi (2019)];
- [Introduzione al framework VUE.JS attraverso esempi (2019)];
- [Introduzione al framework NUXT.JS attraverso esempi (2019)];
Si tratta di documenti destinati ai principianti. Gli articoli seguono un ordine logico ma sono vagamente correlati tra loro:
- il documento [1] presenta il linguaggio PHP 7. Il lettore interessato solo al linguaggio PHP e non al linguaggio JavaScript degli articoli successivi si fermerà qui;
- i documenti [2-4] mirano a realizzare un client JavaScript per il server di calcolo delle imposte sviluppato nel documento [1];
- i framework JavaScript [vue.js] e [nuxt.js] degli articoli 3 e 4 richiedono la conoscenza del JavaScript delle ultime versioni di ECMASCRIPT, ovvero quelle della versione 6. Il documento [2] è quindi destinato a coloro che non conoscono questa versione di JavaScript. Esso fa riferimento al server di calcolo delle imposte realizzato nel documento [1]. Il lettore di [2] dovrà quindi, in alcuni casi, fare riferimento al documento [1];
- una volta acquisita padronanza di ECMASCRIPT, è possibile affrontare il framework VUE.JS che consente di creare client JavaScript eseguibili in un browser in modalità SPA (Single Page Application). Si tratta del documento [3]. Esso fa riferimento sia al server di calcolo delle imposte realizzato nel documento [1] sia al codice del client JavaScript autonomo realizzato in [2]. Chi legge il documento [3] dovrà quindi, in alcuni casi, fare riferimento ai documenti [1] e [2];
- una volta acquisita padronanza di VUE.JS, è possibile affrontare il framework NUXT.JS che consente di creare client JavaScript eseguibili in un browser in modalità SSR (Server Side Rendered). Esso fa riferimento sia al server di calcolo delle imposte descritto nel documento [1], al codice client JavaScript autonomo realizzato in [2] e all’applicazione [vue.js] sviluppata nel documento [3]. Il lettore di [4] dovrà quindi, in alcuni casi, fare riferimento ai documenti [1], [2] e [3];
Il presente documento propone un elenco di script da console PHP 7 in diversi ambiti (strutture del linguaggio, accesso ai file, ai database e alla rete Internet). La programmazione web viene affrontata tramite i servizi web. In questo documento, per «servizio web» si intende qualsiasi applicazione web che produca testo in chiaro. Si tratta di server di dati e non di server di pagine web, che sono un mix di HTML, CSS e JavaScript. Vengono trattati concetti web classici (protocollo HTTP, risposte jSON o XML, gestione delle sessioni, autenticazione) utilizzati anche nella programmazione web classica.
Oggigiorno è frequente sviluppare applicazioni web in modalità client/server:

- in [1], il browser web visualizza le pagine web destinate a un utente [5, 7]. Queste pagine contengono codice JavaScript che implementa un client di un servizio web di dati [2] e un client di un server di frammenti di pagine web [3]. Un framework ben consolidato in questo ambito è Angular 2 di Google (maggio 2019);
- In [2], il server web è un server di dati. Può essere scritto in qualsiasi linguaggio. Non genera pagine web nel senso classico del termine (HTML, CSS, JavaScript), tranne forse la prima volta. Tuttavia, questa prima pagina può essere ottenuta da un server web classico [3] (non un server di dati). Il JavaScript della pagina iniziale genererà quindi le diverse pagine web dell’applicazione, ottenendo i dati [4] da visualizzare dal server web che funge da server di dati [2]. Può inoltre recuperare frammenti di pagina web [5] per presentare tali dati dal server di pagine web [3];
- in [4], l’utente avvia un’azione;
- in [6,7]: riceve i dati integrati in un frammento di pagina web;
In questo documento scriveremo applicazioni client/server in PHP7 con la seguente struttura:

Qui abbiamo un’applicazione client/server scritta in PHP. Uno script da console [9] interrogherà un server di dati [4]. Quanto appreso qui per scrivere il servizio dati potrà essere riutilizzato in un’applicazione web. Il servizio dati in PHP potrà essere mantenuto, mentre il client PHP verrà sostituito da un client JavaScript.
Come filo conduttore del documento, realizzeremo un servizio di calcolo delle imposte in 13 versioni. La versione 13 avrà la seguente architettura:

Il livello [web] del server avrà un’architettura MVC (Model – View – Controller). L’intero corso PHP 7 è finalizzato alla realizzazione di questa versione.
Gli script presenti in questo documento sono commentati e la loro esecuzione in console è riportata. Talvolta vengono fornite spiegazioni aggiuntive. Il documento richiede una lettura attiva: per comprendere uno script, è necessario leggere sia il codice, sia i commenti, sia i risultati dell’esecuzione.
Serge Tahé, luglio 2019