1 of 70

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é!”

2 of 70

Hello World

Creazione di semplici applicazioni web con php (sito 2)

​

​

�

​

​

2

© FB - 10.2025

3 of 70

Indice

�

​

​

3

© FB - 10.2025

4 of 70

Obiettivi didattici

4

5 of 70

Obiettivi didattici

  • le variabili in php e i costrutti di base del linguaggio

​

5

© FB - 10.2025

6 of 70

Introduzione teorica

6

7 of 70

Introduzione

7

8 of 70

Il modello client-server

8

© FB - 09.2026

9 of 70

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.

  • Il client richiede risorse o servizi attraverso la rete.
  • Il server riceve le richieste, le elabora e restituisce le risposte.
  • La comunicazione avviene mediante protocolli di rete, come HTTP e HTTPS.

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

10 of 70

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

  1. Presentazione (Presentation Tier) - Gestisce l'interfaccia utente e l'interazione con il browser.
  2. Logica applicativa (Application Tier) - Elabora le richieste, applica le regole dell'applicazione e coordina le operazioni.
  3. Dati (Data Tier) - Memorizza, organizza e rende disponibili i dati persistenti.

La separazione dei livelli consente di sviluppare, modificare e gestire le diverse parti dell'applicazione con maggiore indipendenza.

10

© FB - 09.2026

11 of 70

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à.

  • Client web o applicazione mobile
  • Reverse proxy / Load balancer – Gestisce l'instradamento delle richieste e può distribuire il carico.
  • Server applicativi PHP – Espongono API e implementano la logica applicativa.
  • Servizi dati – DBMS, cache e altri sistemi di persistenza.

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

12 of 70

Il protocollo HTTP

12

© FB - 12.2025

13 of 70

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

14 of 70

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

15 of 70

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

16 of 70

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

17 of 70

Pagine Web statiche o dinamiche

17

© FB - 09.2026

18 of 70

18

© FB - 12.2025

19 of 70

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

20 of 70

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

21 of 70

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

22 of 70

Pagine Web statiche o dinamiche

22

© FB - 09.2026

23 of 70

Introduzione a PHP

23

© FB - 12.2025

24 of 70

Introduzione al Server-Side

Che cos'è lo sviluppo Server-Side?

  • Rappresenta il "dietro le quinte" di un'applicazione web (Backend).
  • Gestisce la logica di business, l'accesso ai database e la sicurezza.
  • Elabora le richieste del browser (Client) e restituisce la risposta corretta (HTML, JSON).

Compiti principali del Server

  • Elaborazione dei dati: Calcoli, autenticazione e logica applicativa.
  • Interazione con i Database: Salvataggio, recupero e modifica delle informazioni.
  • Sicurezza: Protezione dei dati sensibili e controllo degli accessi.

24

© FB - 09.2026

25 of 70

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

26 of 70

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

27 of 70

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

28 of 70

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

29 of 70

Sviluppo server-side

29

© FB - 09.2026

30 of 70

30

© FB - 12.2025

31 of 70

31

© FB - 12.2025

32 of 70

32

© FB - 12.2025

33 of 70

33

© FB - 12.2025

34 of 70

34

© FB - 12.2025

35 of 70

I file php e i tag <?php e ?>

35

© FB - 12.2025

36 of 70

​

​

36

© FB - 12.2025

37 of 70

37

© FB - 12.2025

38 of 70

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

39 of 70

Esempio

39

© FB - 12.2025

40 of 70

Esempio - file hello.php

41 of 70

Ambiente di sviluppo

41

42 of 70

42

© FB - 12.2025

43 of 70

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:

  • Un server web: Apache o Nginx sono i più popolari
  • Un database: MySQL o MariaDB sono i più utilizzati
  • PHP: è necessario installare l'ultima versione stabile di PHP sul proprio computer
  • Un editor di codice: Esistono molti editor di codice disponibili, come Atom, Sublime Text, Visual Studio Code, etc.

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

44 of 70

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

45 of 70

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

46 of 70

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

47 of 70

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

48 of 70

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

49 of 70

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

50 of 70

Sintassi e costrutti di base

50

51 of 70

Variabili e costanti

51

© FB - 12.2025

52 of 70

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 of 70

53

© FB - 12.2025

54 of 70

54

© FB - 12.2025

55 of 70

55

© FB - 12.2025

56 of 70

Esempio

56

© FB - 12.2025

57 of 70

Tabella html con php

57

© FB - 12.2025

58 of 70

Esercitazione

58

59 of 70

Esercizio a�Tabella pitagorica

59

© FB - 10.2022

60 of 70

Esercizio a

Scrivere una pagina PHP in grado di generare una tabella pitagorica

61 of 70

Esercizio b

Saluti

61

© FB - 10.2022

62 of 70

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.

63 of 70

Esercizio c

Triangoli di asterischi

63

© FB - 10.2022

64 of 70

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 '&nbsp;';` 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

65 of 70

Valutazione

65

66 of 70

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

67 of 70

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

68 of 70

Grazie per l’attenzione

69 of 70

Link/Riferimenti

69

© FB - 10.2025

70 of 70

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