PHP (acronimo ricorsivo per Hypertext Preprocessor) è uno dei linguaggi di programmazione lato server più famosi e utilizzati al mondo. Nasce nel 1994 e oggi alimenta oltre il 70% dei siti web esistenti.
PHP viene eseguito interamente sul server.
Il server elabora il codice PHP e restituisce al browser dell'utente solo semplice codice HTML, CSS
Open Source ed Economico: È completamente gratuito e supportato da una community enorme. Qualsiasi servizio di hosting, anche il più economico, supporta PHP nativamente
Integrazione Nativa con i Database: Dialoga perfettamente con quasi tutti i database esistenti, in particolare con MySQL e MariaDB
Flessibile: Può essere integrato direttamente all'interno delle pagine HTML usando i tag:
<?php
//qui ci va il codice
?>
Tag di apertura e chiusura: Tutto il codice deve essere racchiuso tra <?php ?> Ciò che sta fuori viene ignorato da PHP e trattato come semplice testo o HTML.
Variabili: Iniziano sempre con il simbolo del dollaro ($) e contengono i dati (es. $voto = 30;).
Tipi di dati: PHP gestisce stringhe (testo), numeri interi, numeri decimali, booleani (true/false), array (liste di dati) e oggetti.
Funzioni e Costrutti: Comandi nativi per controllare il flusso del programma (come if/else, i cicli foreach, e funzioni).
$_POST $_GET $_SERVER $_SESSION $_COOKIE
In PHP, queste cinque voci prendono il nome di Superglobali.
Sono array associativi integrati nel linguaggio, sempre disponibili in qualsiasi punto del codice (dentro funzioni, classi o file esterni.
$_POST Raccoglie i dati inviati al server tramite il corpo di una richiesta HTTP, quindi non visibili nell'URL.
$_GET Raccoglie i dati inviati al server tramite i parametri visibili nell'indirizzo web (la query string, dopo il punto di domanda ?).
$_SERVER Contiene dati generati dal server web. Include informazioni sugli header della richiesta, i percorsi degli script, gli indirizzi IP e il tipo di browser dell'utente.
$_SESSION Memorizza dati relativi a un singolo utente e li mantiene attivi mentre naviga tra le diverse pagine del sito. I dati sono salvati al sicuro sul server e associati all'utente tramite un ID univoco temporaneo. Prima di usarla, richiede sempre il comando session_start().
$_COOKIE Raccoglie i dati memorizzati direttamente nel computer dell'utente (all'interno del suo browser). A differenza delle sessioni, i cookie rimangono salvati anche se l'utente chiude il browser o spegne il computer, fino alla loro data di scadenza.
if()
È il costrutto fondamentale per la logica del programma. Permette di eseguire un blocco di codice solo se una determinata condizione è vera.
foreach()
È un ciclo speciale progettato esclusivamente per scorrere gli elementi all'interno di un array (una lista di dati)
isset()
È una funzione nativa che controlla se una variabile è stata creata (definita) e se il suo valore non è null. Restituisce vero (true) o falso (false).
echo
Non è una vera funzione, ma un costrutto del linguaggio. Viene utilizzato per inviare testo, numeri o codice HTML direttamente alla pagina web del browser.
print_r()
È una funzione nativa utilizzata principalmente dagli sviluppatori durante la scrittura del codice (fase di debug) per ispezionare il contenuto di variabili complesse.
array('chiave'=>'valore') o array('valore','valore','valore')
E' una struttura dati fondamentale in PHP che permette di memorizzare più valori all'interno di una singola variabile.
In PHP, gli array sono estremamente flessibili: possono contenere numeri, stringhe, booleani o persino altri array, e non hanno una dimensione fissa (possono crescere o rimpicciolirsi dinamicamente).
switch(variabile) case: condizione; break; default: break
È l'alternativa ideale a una lunga catena di if, elseif ed else.
tre componenti:
case: Definisce il valore da confrontare. Se la variabile passata allo switch corrisponde al valore del case, il codice sotto di esso viene eseguito.
break: È fondamentale. Dice a PHP di uscire dallo switch una volta eseguito il codice del case corretto. Se lo dimentichi, PHP continuerà a eseguire il codice dei case successivi, anche se non corrispondono (comportamento di fall-through).
default: È opzionale. Viene eseguito solo se nessuno dei case precedenti corrisponde alla variabile (funziona esattamente come l'ultimo else).