A - PHP
ES01 - PHP Hello World
FB - 09.2026 - v1.4
“La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni… e nessuno sa il perché!”
“La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni… e nessuno sa il perché!”
Hello World
2
© FB - 10.2025
Indice
3
© FB - 10.2025
Obiettivi didattici
4
Obiettivi didattici
5
© FB - 10.2025
Introduzione teorica
6
Introduzione
7
Il modello client-server
8
© FB - 09.2026
Il modello client-server
Il modello client-server è un'architettura di rete nella quale due componenti software comunicano attraverso un meccanismo di richiesta e risposta.
Nel contesto delle applicazioni web, il client è generalmente un browser, mentre il server web riceve le richieste HTTP e restituisce le risorse richieste.
9
© FB - 12.2025
Dal modello a due livelli al modello a tre livelli
Nelle applicazioni più semplici è possibile adottare un'architettura a due livelli (two-tier), nella quale il client comunica direttamente con il sistema che gestisce i dati e la logica applicativa.
Nelle applicazioni web moderne è comune adottare un'architettura a tre livelli (three-tier), che separa le principali responsabilità del sistema.
I tre livelli dell'architettura
La separazione dei livelli consente di sviluppare, modificare e gestire le diverse parti dell'applicazione con maggiore indipendenza.
10
© FB - 09.2026
Le architetture a più livelli (N-tier)
Il modello a tre livelli può essere esteso suddividendo ulteriormente le responsabilità dell'applicazione.
Un'architettura a più livelli (N-tier) può prevedere componenti dedicati a servizi differenti, ciascuno con specifiche responsabilità.
I livelli rappresentano una separazione logica delle responsabilità: non è necessario che ciascun livello sia ospitato su un computer fisico differente.
Ad esempio, durante lo sviluppo è possibile eseguire Apache, PHP e MariaDB sullo stesso computer, mantenendo distinti i tre livelli dell'architettura.
11
© FB - 09.2026
Il protocollo HTTP
12
© FB - 12.2025
Il protocollo HTTP
HTTP (Hypertext Transfer Protocol) è un protocollo di comunicazione utilizzato per la trasmissione dei dati su Internet. Viene utilizzato per trasmettere le richieste e le risposte tra un client (ad esempio, un browser web) e un server (ad esempio, un sito web).
Il funzionamento di HTTP si basa sull'invio di messaggi di richiesta e di risposta tra il client e il server. Il client invia una richiesta al server utilizzando uno dei metodi HTTP (GET, POST, PUT, DELETE, ecc.), che indica l'azione da eseguire, e il server risponde inviando un messaggio di risposta contenente l'esito dell'azione richiesta.
HTTP utilizza un modello client-server in cui il client inizia la richiesta e il server risponde, il client può anche ricevere un cookie dal server per la gestione delle sessioni e l'autenticazione.
HTTP è un protocollo di livello applicazione, è stato creato per essere utilizzato insieme ad altri protocolli, come TCP (Transmission Control Protocol), che si occupa della trasmissione dei dati su una rete.
13
© FB - 12.2025
Il protocollo HTTP
HTTP/2 è l'ultima versione del protocollo, essa introduce nuove funzionalità come la capacità di inviare più richieste contemporaneamente, la compressione dei dati e l'uso di un solo connessione per più richieste, migliorando le performance rispetto alla versione precedente, HTTP/1.1.
14
© FB - 12.2025
Richiesta
Ecco un esempio di una richiesta HTTP inviata da un client (ad esempio, un browser web) al server (ad esempio, un sito web):
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
La prima riga della richiesta contiene il metodo HTTP (GET), l'URL della risorsa richiesta (in questo caso, /index.html) e la versione del protocollo (HTTP/1.1).
Le righe successive contengono i campi dell'intestazione, che forniscono informazioni aggiuntive sulla richiesta. Ad esempio, il campo "Host" indica il nome del server a cui la richiesta è indirizzata, il campo "User-Agent" indica il browser utilizzato dal client e il campo "Accept-Language" indica la lingua preferita dal client.
15
© FB - 12.2025
Risposta
Ecco un esempio di una risposta HTTP inviata dal server al client:
HTTP/1.1 200 OK
Server: Apache/2.4.37 (Unix)
Content-Type: text/html
Content-Length: 1234
Last-Modified: Tue, 12 Jan 2021 12:34:56 GMT
<!DOCTYPE html>
<html>
<head>
<title>Example Website</title>
</head>
<body>
<h1>Welcome to our website!</h1>
<p>Here is some sample content.</p>
</body>
</html>
La prima riga della risposta contiene la versione del protocollo (HTTP/1.1), il codice di stato (200) e una breve descrizione del codice di stato (OK).
Le righe successive contengono i campi dell'intestazione, che forniscono informazioni aggiuntive sulla risposta. Ad esempio, il campo "Server" indica il tipo e la versione del server che ha generato la risposta, il campo "Content-Type" indica il tipo di contenuto restituito e il campo "Content-Length" indica la lunghezza del contenuto restituito.
Infine, la parte successiva della risposta contiene il corpo della risposta, che è il contenuto effettivo restituito dal server. Nel caso di una pagina web, questa parte conterrà il codice HTML della pagina.
16
© FB - 12.2025
Pagine Web statiche o dinamiche
17
© FB - 09.2026
18
© FB - 12.2025
Pagine Web statiche o dinamiche
Nello sviluppo backend con PHP, la distinzione tra pagine web statiche e dinamiche risiede principalmente nel modo in cui i contenuti vengono generati e inviati all'utente finale. Una pagina web statica è costituita da file precompilati, solitamente scritti in HTML, CSS e JavaScript, che risiedono sul server esattamente così come sono stati creati dallo sviluppatore. Quando un utente richiede una pagina statica, il server si limita a prelevare il file dal disco rigido e a trasmetterlo al browser, senza apportare alcuna modifica. Di conseguenza, ogni visitatore vedrà sempre le stesse identiche informazioni, a meno che lo sviluppatore non modifichi manualmente il codice sorgente del file.
19
© FB - 09.2026
Pagine Web statiche o dinamiche
Al contrario, una pagina web dinamica viene generata in tempo reale in base a specifiche richieste o variabili, come le azioni dell'utente, l'orario o i dati memorizzati in un database. È qui che entra in gioco PHP: quando viene richiesta una pagina dinamica, il codice PHP viene eseguito sul server per assemblare i contenuti al volo. Ad esempio, una pagina di profilo utente o un catalogo di e-commerce cambieranno aspetto e dati a seconda di chi ha effettuato l'accesso o del prodotto selezionato. Il risultato finale di questa elaborazione backend è comunque un codice HTML standard, che viene inviato al browser dell'utente affinché possa essere visualizzato correttamente.
20
© FB - 09.2026
Pagine Web statiche o dinamiche
Il web server svolge il ruolo di intermediario fondamentale e vigile in tutto questo processo. Il suo compito principale è quello di ascoltare le richieste provenienti dai browser degli utenti (tramite il protocollo HTTP/HTTPS) e di decidere come gestirle. Se la richiesta riguarda una risorsa statica, come un'immagine o un file HTML, il web server la invia direttamente. Se invece la richiesta riguarda un file dinamico con estensione PHP, il web server capisce di non poter elaborare quel codice da solo e lo inoltra all'interprete PHP. Una volta che l'interprete ha tradotto il codice PHP in HTML, restituisce il risultato al web server, il quale si occupa infine di impacchettarlo e spedirlo al browser del cliente.
21
© FB - 09.2026
Pagine Web statiche o dinamiche
22
© FB - 09.2026
Introduzione a PHP
23
© FB - 12.2025
Introduzione al Server-Side
Che cos'è lo sviluppo Server-Side?
Compiti principali del Server
24
© FB - 09.2026
Common Gateway Interface
La sigla Common Gateway Interface (CGI) indica uno standard storico che ha permesso la nascita del web dinamico. Introdotto nei primi anni '90, definisce il modo in cui un server web può dialogare con programmi esterni per generare pagine HTML in tempo reale, ad esempio dopo l'invio di un modulo online.
Il suo funzionamento è molto semplice: quando un utente invia una richiesta, il server avvia un programma esterno (spesso situato nella cartella cgi-bin), gli passa i dati tramite variabili d'ambiente, riceve la risposta testuale elaborata dal software e la rispedisce al browser dell'utente.
Il principale vantaggio di CGI era la sua totale indipendenza dal linguaggio di programmazione. Non essendo un linguaggio ma un protocollo di comunicazione, consentiva di scrivere la logica di backend usando qualsiasi tecnologia esistente in grado di gestire input e output di testo, come Perl (il più usato all'epoca), C/C++, o Python.
Oggi la CGI classica è considerata obsoleta a causa di gravi problemi di prestazioni e scalabilità. Il server è infatti costretto ad avviare un nuovo processo del sistema operativo per ogni singola richiesta, esaurendo rapidamente la memoria RAM in caso di traffico elevato. Nel web moderno è stata sostituita da evoluzioni come FastCGI o da runtime integrati come Node.js e moduli server dedicati.
25
© FB - 09.2026
I Principali Linguaggi Server-Side
PHP è storicamente uno dei linguaggi lato server più diffusi e utilizzati al mondo. Nato specificamente per lo sviluppo web, alimenta una percentuale enorme di internet, anche grazie al fatto che sostiene i più famosi sistemi di gestione dei contenuti come WordPress, Joomla e Drupal. È apprezzato per la sua facilità di installazione e la vasta comunità di supporto, e framework moderni come Laravel lo hanno reso uno strumento potente e strutturato per lo sviluppo di applicazioni complesse.
JavaScript, grazie alla piattaforma di runtime Node.js, è diventato uno standard dominante anche nel backend. Questo strumento consente agli sviluppatori di utilizzare lo stesso identico linguaggio sia per la parte visiva (frontend) che per la logica del server. Node.js è particolarmente noto per le sue eccezionali prestazioni e per l'architettura a eventi non bloccante, che lo rende la scelta ideale per applicazioni in tempo reale come chat, piattaforme di streaming o strumenti di collaborazione.
Python ha guadagnato una popolarità straordinaria grazie alla sua sintassi pulita, leggibile e altamente espressiva, che riduce i tempi di sviluppo. Nel backend viene utilizzato principalmente attraverso framework robusti come Django e Flask. Oltre al web design tradizionale, Python è il linguaggio di riferimento per i progetti che integrano l'intelligenza artificiale, l'apprendimento automatico e l'analisi dei dati, settori in cui i server devono elaborare calcoli complessi prima di inviare i risultati all'utente.
26
© FB - 09.2026
I Principali Linguaggi Server-Side
Java rappresenta da decenni la scelta prediletta dalle grandi aziende e per i sistemi di livello enterprise che richiedono la massima sicurezza e scalabilità. Essendo un linguaggio fortemente tipizzato e compilato, garantisce prestazioni solide e un'ottima gestione delle risorse su larga scala. Attraverso framework come Spring Boot, Java viene impiegato per sviluppare i sistemi bancari, le piattaforme di e-commerce internazionali e le infrastrutture backend che devono gestire milioni di transazioni quotidiane.
Ruby, sebbene meno diffuso rispetto al passato, rimane un linguaggio celebre nell'ecosistema web soprattutto grazie al framework Ruby on Rails. Questo connubio si basa sul principio della "convenzione rispetto alla configurazione", permettendo ai programmatori di scrivere pochissimo codice per ottenere funzionalità complesse. È il linguaggio prediletto dalle startup per lo sviluppo rapido di prototipi e prodotti minimi funzionanti, poiché accelera drasticamente il passaggio dall'idea iniziale al software pronto per il mercato.
27
© FB - 09.2026
I Principali Linguaggi Server-Side
C# (C-Sharp), sviluppato da Microsoft, è uno dei pilastri del web development aziendale. Attraverso la piattaforma moderna e open-source .NET Core, viene utilizzato per creare applicazioni web e API incredibilmente veloci, sicure e scalabili. È il rivale diretto di Java e viene scelto da moltissime grandi imprese per la sua perfetta integrazione con i servizi cloud (come Microsoft Azure) e per la robustezza degli strumenti di sviluppo correlati.
Negli ultimi anni hanno preso fortemente piede anche linguaggi più moderni come Go (sviluppato da Google) e Rust. Go è apprezzato per l'incredibile velocità e la facilità con cui gestisce le operazioni simultanee, rendendolo perfetto per l'architettura a microservizi. Rust, d'altra parte, si sta imponendo nei contesti in cui la sicurezza della memoria e le prestazioni pure sono fondamentali, offrendo un'alternativa moderna ai classici linguaggi di programmazione di sistema.
28
© FB - 09.2026
Sviluppo server-side
29
© FB - 09.2026
30
© FB - 12.2025
31
© FB - 12.2025
32
© FB - 12.2025
33
© FB - 12.2025
34
© FB - 12.2025
I file php e i tag <?php e ?>
35
© FB - 12.2025
36
© FB - 12.2025
37
© FB - 12.2025
PHP è case sensitive e whitespace insensitive
PHP è un linguaggio di programmazione case sensitive, il che significa che le lettere maiuscole e minuscole sono considerate diverse. Ad esempio, la variabile $nome e la variabile $Nome sono due variabili diverse in PHP. Tuttavia, ci sono alcune eccezioni a questa regola. Ad esempio, i nomi delle funzioni in PHP non sono case sensitive, il che significa che la funzione count() e la funzione COUNT() sono equivalenti.
Inoltre, PHP è insensibile agli spazi bianchi, il che significa che gli spazi bianchi (come gli spazi, i tab e le nuove righe) non influiscono sulla semantica del codice PHP. Ad esempio, il seguente codice PHP è equivalente:
$nome='Mario'; è equivalente a $nome = 'Mario';
Questa regola non vale per le stringhe. Gli spazi bianchi all'interno di una stringa sono considerati parte della stringa stessa.
38
© FB - 12.2025
Esempio
39
© FB - 12.2025
Esempio - file hello.php
Ambiente di sviluppo
41
42
© FB - 12.2025
Ambiente di sviluppo per applicazioni web in Php
Per impostare un ambiente di sviluppo per lavorare con le applicazioni web PHP, è necessario installare alcuni software sul proprio computer:
In alternativa, esistono anche delle piattaforme di sviluppo come XAMPP, WAMP, LAMP, MAMP che permettono di avere tutto il necessario per iniziare a sviluppare in ambiente Windows, Linux, MacOS in un'unica soluzione.
43
© FB - 12.2025
Ambiente locale con Xampp
XAMPP è un ambiente di sviluppo software locale, gratuito e open source, progettato per consentire a programmatori e web designer di testare applicazioni web dinamiche sul proprio computer senza la necessità di acquistare un hosting o un server remoto. Il suo nome è in realtà un acronimo che racchiude tutte le tecnologie integrate al suo interno, a partire dalla lettera X che indica la sua natura multipiattaforma, rendendolo compatibile con Windows, macOS e Linux. Al suo interno troviamo Apache, ovvero il web server che gestisce le richieste HTTP, MariaDB (che ha sostituito MySQL) per il controllo e l'archiviazione dei database, e infine i linguaggi di scripting PHP e Perl, necessari per l'elaborazione del codice lato server.
L'installazione di XAMPP semplifica drasticamente la vita degli sviluppatori poiché configura automaticamente un'architettura di rete locale nota come localhost. Invece di dover installare e configurare separatamente il web server, il database e l'interprete PHP, l'utente può avviare l'intero ecosistema con un singolo clic attraverso un pratico pannello di controllo. Questo permette di creare un ambiente di test protetto, speculare a quello che si troverà online, dove è possibile sperimentare il codice, configurare CMS come WordPress o Drupal e verificare il comportamento delle pagine dinamiche in totale sicurezza prima del rilascio ufficiale.
44
© FB - 09,2026
Ambiente locale con Xampp
Un altro grande punto di forza di XAMPP è l'inclusione di strumenti amministrativi essenziali che ne espandono le funzionalità e ne facilitano la gestione quotidiana. Tra questi, il più utilizzato è senza dubbio phpMyAdmin, un'interfaccia grafica accessibile via browser che permette di amministrare i database MariaDB in modo visivo e intuitivo, eliminando la necessità di scrivere complessi comandi testuali per creare tabelle o inserire dati. Inoltre, il pacchetto include spesso server FTP e server di posta fittizi (come Mercury o Sendmail), utili per testare l'invio di email automatiche o il trasferimento di file direttamente dall'applicazione in fase di sviluppo.
Una volta avviati i servizi, è fondamentale sapere dove posizionare i file del proprio progetto, poiché l'interprete PHP non può eseguire codice posizionato in cartelle generiche come il Desktop. All'interno della directory di installazione di XAMPP esiste una cartella speciale chiamata htdocs, che rappresenta la radice del server locale. Per iniziare a sviluppare, basta creare una nuova cartella per il proprio progetto all'interno di htdocs (ad esempio htdocs/mio-sito/) e inserire al suo interno i file sorgente, come il file principale index.php.
Per visualizzare ed eseguire la pagina web dinamica appena creata, non si deve fare doppio clic sul file, ma occorre utilizzare il browser Internet. Aprendo una nuova scheda, basta digitare l'indirizzo http://localhost/mio-sito/ nella barra degli URL e premere invio. Il browser invierà la richiesta al web server Apache locale, il quale farà elaborare il codice a PHP e mostrerà a schermo il risultato finale della pagina, simulando fedelmente il comportamento di un vero sito internet pubblicato online.
45
© FB - 09,2026
Sviluppo online con Github e Codespace
Lo sviluppo online con GitHub e GitHub Codespaces rappresenta l'evoluzione moderna degli ambienti locali come XAMPP, spostando l'intero ecosistema di programmazione direttamente nel cloud. Invece di installare manualmente web server, database e interpreti sul proprio computer, questa tecnologia permette di avviare un ambiente di sviluppo completo, sicuro e preconfigurato direttamente all'interno del browser internet. Il nucleo di questo ecosistema è GitHub, la piattaforma leader per il self-hosting e il controllo versione del codice, che ospita i file del progetto (repository) e fa da base per l'attivazione dei server virtuali.
GitHub Codespaces si attiva con un solo clic da qualsiasi repository e crea istantaneamente un container cloud dedicato, equipaggiato con una versione web completa di Visual Studio Code. Questo significa che uno sviluppatore può scrivere codice PHP, gestire file ed eseguire comandi sul terminale esattamente come farebbe sul proprio computer, ma senza consumare risorse hardware locali. L'ambiente cloud è persistente: ogni modifica effettuata sul codice viene tracciata dal sistema di controllo versione Git, consentendo di salvare il lavoro con un commit e di sincronizzarlo immediatamente sul cloud per non perdere mai i progressi.
46
© FB - 09.2026
Sviluppo online con Github e Codespace
Per quanto riguarda l'esecuzione e il test delle pagine web dinamiche, Codespaces sostituisce il concetto di localhost con il port forwarding automatico. Quando si avvia un web server o un'applicazione PHP all'interno del terminale del Codespace, la piattaforma intercetta la porta di rete utilizzata e genera un URL privato e sicuro. Cliccando su questo link, lo sviluppatore può vedere l'anteprima in tempo reale del sito web dinamico direttamente nel browser, con la possibilità di condividere temporaneamente l'indirizzo con colleghi o clienti per mostrare l'avanzamento dei lavori.
La flessibilità di questo approccio si esprime al massimo nella gestione delle configurazioni attraverso i file di impostazione del container. Tramite un file di configurazione chiamato devcontainer.json, è possibile definire a monte quali estensioni di codice, versioni di PHP o database (come MySQL o PostgreSQL) debbano essere installati automaticamente all'avvio del Codespace. Questo elimina definitivamente il classico problema del "sul mio computer funziona", garantendo che ogni membro del team di sviluppo lavori esattamente sulla stessa identica configurazione software, sia che si colleghi da un computer desktop potente, sia da un tablet economico in viaggio.
47
© FB - 09.2026
Sviluppo online con la piattaforma Web4Student
La piattaforma Web4Student (W4S), raggiungibile all'indirizzo w4s.filippobilardo.it e sviluppata dal professor Filippo Bilardo, rappresenta un ambiente didattico appositamente progettato per fondere l'insegnamento pratico dei sistemi operativi Linux con lo sviluppo di applicazioni web dinamiche. Rispetto ai software commerciali per programmatori professionisti, questo ecosistema nasce per guidare gli studenti passo dopo passo, offrendo un laboratorio protetto ma speculare ai reali server di produzione industriale.
Il cuore di Web4Student risiede nella fornitura di una vera e propria VPS (Virtual Private Server) o sandbox Linux remota assegnata a ogni studente. Invece di nascondere il funzionamento del server dietro a pannelli di controllo semplificati o automatizzati, l'infrastruttura spinge l'utente a interagire direttamente con la riga di comando del terminale. In questo modo, chi studia impara a comprendere l'architettura dei sistemi operativi e i meccanismi sistemistici fondamentali, come la configurazione manuale dei servizi, l'assegnazione nativa dei permessi ai file (tramite i comandi Linux) e l'organizzazione dei percorsi dei file sul server. [1]
Dal punto di vista dello sviluppo backend e del web dinamico, la piattaforma include al suo interno un interprete PHP e un server database (come MySQL o MariaDB). Gli studenti possono scrivere ed eseguire i propri script lato server all'interno di uno spazio online dedicato, testando in tempo reale l'interazione tra codice e tabelle di dati. La particolarità dell'approccio risiede nella centralizzazione del sistema, che permette al docente di accedere in modo trasparente agli ambienti degli allievi per monitorare i progressi, validare le soluzioni o individuare errori di logica e di sintassi direttamente all'interno della piattaforma
login da shell:
ssh cognome.nome@w4s.filippobilardo.it -p 2222
48
© FB - 09.2026
Altre soluzioni di sviluppo online
Il panorama del cloud offre diverse soluzioni per lo sviluppo online, a partire dai Cloud IDE (ambienti di sviluppo nel browser). Piattaforme come Gitpod e CodeSandbox creano container virtuali istantanei partendo da repository online, permettendo di scrivere codice in un editor completo e di testarlo su server remoti. Replit si distingue invece per il suo approccio fortemente collaborativo in tempo reale, ideale per il lavoro di squadra, e include strumenti di intelligenza artificiale che assistono la programmazione in PHP e in altri linguaggi backend.
Un'altra categoria è rappresentata dalle soluzioni basate su WebContainers, come StackBlitz. Questa tecnologia innovativa permette di far girare interi server e ambienti di runtime direttamente all'interno del motore JavaScript del browser dell'utente. Il vantaggio principale di questo approccio risiede nella velocità d'esecuzione immediata e nella capacità di funzionare persino in modalità offline, pur rimanendo all'interno di una semplice scheda web.
Replit è una piattaforma di sviluppo software basata sul cloud che consente di scrivere codice, collaborare in tempo reale e pubblicare applicazioni direttamente dal browser internet. Nata originariamente come un ambiente di sviluppo online multi-linguaggio, la piattaforma si è evoluta integrando potenti funzionalità basate sull'Intelligenza Artificiale (come il noto Replit Agent), ridefinendo il modo di programmare attraverso il concetto di "vibe coding", in cui l'utente può descrivere a parole l'applicazione desiderata e l'AI si occupa di progettarla e scriverla.
49
© FB - 09,2026
Sintassi e costrutti di base
50
Variabili e costanti
51
© FB - 12.2025
Variabili e costanti
In PHP, le variabili sono contenitori di valori che possono essere modificati durante l'esecuzione del programma. Le costanti, invece, sono contenitori di valori che non possono essere modificati durante l'esecuzione del programma.
Per dichiarare una variabile in PHP, si utilizza il simbolo $ seguito dal nome della variabile. Ad esempio:
$nome_variabile = valore;�$miavar; $_ENV; $var34;
Per dichiarare una costante in PHP, si utilizza la funzione define() o la parola chiave const. Ad esempio:
define("NOME_COSTANTE", valore);�const NOME_COSTANTE = valore;
Le costanti definite con define() possono essere utilizzate ovunque nel codice, mentre le costanti definite con const possono essere utilizzate solo all'interno della classe in cui sono definite
52
© FB - 12.2025
53
© FB - 12.2025
54
© FB - 12.2025
55
© FB - 12.2025
Esempio
56
© FB - 12.2025
Tabella html con php
57
© FB - 12.2025
Esercitazione
58
Esercizio a�Tabella pitagorica
59
© FB - 10.2022
Esercizio a
Scrivere una pagina PHP in grado di generare una tabella pitagorica
Esercizio b
Saluti
61
© FB - 10.2022
Esercizio b
Realizzare una pagina PHP che scriva: “Buongiorno/Buonasera/Buonanotte Paolo, benvenuta nella mia prima pagina PHP” la scelta tra Buongiorno/Buonasera/Buonanotte è legata all’ora attuale (8 - 12 Buongiorno, 12-20 Buonasera, 20-8 Buonanotte) Il nome “Paolo” deve essere contenuto in una variabile La pagina dev’essere chiusa da “stai usando il browser “ completata con il tipo di browser impiegato dall’utente.
Esercizio c
Triangoli di asterischi
63
© FB - 10.2022
Esercizio c - Stampare triangoli di asterischi
Scrivete un'applicazione PHP che visualizza i seguenti schemi di triangoli, uno sotto l'altro. Gli schemi devono essere prodotti utilizzando cicli `for`. Tutti gli asterischi `*` devono essere stampati usando una singola istruzione `echo '*';` che visualizzerà gli asterischi uno di fianco all'altro. Utilizzate `echo <br>;` per andare alla riga successiva e `echo ' ';` per inserire uno spazio.
(a) (b) (c) (d)
* ********** ********** *
** ********* ********* **
*** ******** ******** ***
**** ******* ******* ****
***** ****** ****** *****
****** ***** ***** ******
******* **** **** *******
******** *** *** ********
********* ** ** *********
********** * * **********
Usate il codice <style>body {font-family: monospace;}</style> per cambiare il tipo di carattere del testo nella pagina a un font monospaziato, questo serve per migliorare la leggibilità quando si devono mostrare contenuti come codice sorgente o dati tabulari. (vedi risultato finale)
64
© FB - 10.2025
Valutazione
65
Griglia di valutazione
Consegna progetto tramite documento di Google
Progetto:
Descrizione dettagliata del problema da risolvere
Implementazione:
Codice corretto
Consegna del codice sorgente oppure link al file di GitHub presente nel documento
Collaudo:
Messaggi a schermo chiari
Completezza dei test (verifica che ogni parte principale del codice venga testata)
Mostrare i risultati ottenuti tramite screenshot
Eventuale descrizione dei risultati ottenuti
Esaustività dei test (copertura totale dei casi possibili o di quelli più significativi)
Originalità del lavoro svolto:
mostrare particolari che permettono di identificare l’autore del codice
capacità di spiegare ogni parte del lavoro consegnato
capacità di replicare su carta piccole porzioni del codice consegnato
capacità di implementare su carta piccole porzioni di codice con caratteristiche simile a quelle degli esercizi assegnati
66
© FB - 10.2025
Consegna del lavoro
Si ricorda l’importanza di svolgere e consegnare i progetti assegnati.��10pt. Documento di Google��es. a - tabella pitagorica (punteggio * Originalità)�30pt. - codice e collaudo
es. b - saluti (punteggio * Originalità)�30pt. - codice e collaudo
es. c - Triangoli di asterischi (punteggio * Originalità)�30pt. - codice e collaudo
67
© FB - 10.2025
Grazie per l’attenzione
Link/Riferimenti
69
© FB - 10.2025
Revisioni
v1.1 13/10/22 - versione iniziale �v1.2 13/09/23 - aggiunti gli esempi�v1.3 08/09/24 - aggiunti esempi�v1,4 18/09/26 - ampliata l’introduzione teorica�
70