Tutorial Principale PHP8+
Basi
Introduzione al linguaggio PHP
Iniziare a lavorare
Esecuzione del codice PHP
Problema con le codifiche
Output degli errori PHP
Codice completo per lanciare PHP
Codice di avvio migliorato
Panoramica dei comandi PHP iniziali
Commenti in PHP
Commenti nel libro di testo
Dump delle variabili
Funzioni in PHP
Variabili
Utilizzo delle variabili
Modifica dei valori delle variabili
Operazioni matematiche con i numeri
Operazioni matematiche con le variabili
Priorità delle operazioni matematiche
Priorità uguale
Parentesi raggruppanti
Sfumature di raggruppamento
Frazioni
Numeri negativi
Resto della divisione
Elevamento a potenza
Priorità dell'elevamento a potenza
Stringhe
Concatenazione di stringhe
Spazi nella concatenazione di stringhe
Lunghezza della stringa
Problema con il cirillico
Tag
Attributi dei tag
Valori booleani
Valore null
Conversione automatica dei tipi
Conversione automatica in stringa
Sfumature della conversione in stringa
Conversione in numero
Conversione in frazione
Conversione della frazione in intero
Conversione del numero in stringa
Caratteri della stringa
Cifre nella stringa
Accesso alle cifre del numero
Sfumature dell'operazione di assegnazione
Operazioni abbreviate
Incremento
Tipo prefisso e postfisso
Pratica nella ricerca degli errori
Pratica sulle operazioni
Pratica sulle formule
Array
Introduzione agli array
Visualizzare il contenuto di un array
Elemento singolo dell'array
Array associativi
Trucco con le chiavi
Ordine degli elementi
Lunghezza dell'array
Modifica degli elementi
Sovrascrittura degli elementi dell'array
Incremento degli elementi
Riempimento degli array
Assegnazione esplicita delle chiavi
Chiavi da variabili
Pratica nella ricerca degli errori
Condizioni
Costruzione if-else
Operatori maggiore e minore
Controllo dell'uguaglianza
Controllo della disuguaglianza
Confronto di variabili
Tipi di dati e costruzione if-else
Numeri tra virgolette
Uguaglianza per valore e tipo
Disuguaglianza per valore e tipo
Sfumature nel confronto dei tipi di dati
Condizioni complesse in if-else
AND logico
OR logico
Priorità delle operazioni di confronto
Raggruppamento delle condizioni
Inversione delle espressioni
Costruzione if-else e valori booleani
Confronto non stretto dei valori logici
If abbreviato
Sfumatura delle operazioni abbreviate
Comando isset
Soppressione dei warning
Controllo degli elementi dell'array
Comando empty
Opzionalità del comando else
Opzionalità delle parentesi graffe
Problema dell'opzionalità delle parentesi
Combinazioni if-else
Costruzione elseif
If annidati
Costruzione switch
Opzionalità di default
Costruzione match
Opzionalità di break
Operatore ternario
Operatore di coalescenza null
Catene di operatori di coalescenza null
Operazioni logiche
Determinazione della parte dell'ora
Controllo della lunghezza di stringhe e array
Controllo del carattere della stringa
Controllo del resto della divisione
Pratica sulla ricerca degli errori
Pratica if else
Cicli
Introduzione
Ciclo foreach
Ciclo foreach con chiavi
Ciclo while
Ciclo for
Condizioni nei cicli
Accumulo della somma dei numeri
Accumulo della somma degli elementi
Formazione di stringhe nel ciclo
Opzionalità delle parentesi graffe
Problema dell'opzionalità delle parentesi
Istruzione break
Istruzione continue
Lavorare con i flag
Cicli annidati
Ciclo for per array
Riempimento di array in un ciclo
Modifica di array in un ciclo
Suggerimenti per scrivere codice
Pratica per trovare errori
Pratica sui cicli
Multidimensionalità
Introduzione
Array tridimensionale
Array associativi
Array arbitrari
Iterazione di array multidimensionali
Iterazione di array tridimensionali
Lavorare con le chiavi
Riempimento di array multidimensionali
Riempimento con numeri in sequenza
Array di array associativi
Conversione di array multidimensionali
Funzioni matematiche
Funzioni per le stringhe
Lunghezza della stringa
Maiuscole/minuscole
Estrazione di stringhe
Controllo delle stringhe
Ricerca nelle stringhe
Divisione delle stringhe
Pulizia degli estremi della stringa
Stampa della stringa con inserimento
Formattazione dei numeri
Inversione della stringa
Riempimento della stringa
Lavorare con i tag
Codici dei caratteri
Conteggio delle sottostringhe
Parti delle stringhe
Funzioni degli array
Ricerca negli array
Elementi terminali
Slicing degli array
Splicing degli array
Intervallo negli array
Riempimento degli array
Unione degli array
Chiavi-Valori
Inversione
Sostituzione
Rimozione duplicati
Conteggio elementi
Suddivisione in sotto-array
Ordinamento
Operazioni sugli insiemi
Casuale
Tempo
Lavorare con timestamp
Formattazione
Analisi di date in formato libero
Verifica della correttezza
Fuso orario
Modifica
Confronto di stringhe
Confronto di date senza anno
Appartenenza di una data a un intervallo
Confronto di timestamp
Funzioni personalizzate
Introduzione
Parametri della funzione
Parametri multipli
Parametri variabili
Parametri opzionali
Istruzione return
Chiamata sequenziale di funzioni
Sfumatura di return
Ciclo e return
Applicazione di return nei cicli
Tecnica di lavoro con return
Flag nelle funzioni
Operatori logici nelle funzioni
Consigli sulle funzioni
Pratica sulla ricerca degli errori
Pratica sulle funzioni
Ambito di visibilità
Riferimenti-primitivi
Riferimenti-array
Riferimenti in foreach
Variabili interne
Variabili esterne
Variabili omonime
Variabili globali
Modifica dei parametri
Parametri-riferimento
Ricorsione
Ricorsione
Esempio con parametro
Somma degli elementi dell'array
Ricorsione e array multidimensionali
Somma di un array multidimensionale
Manipolazione degli elementi
Espressioni Regolari
Introduzione
Operatori di Ripetizione
Parentesi di Raggruppamento
Escape dei Caratteri Speciali
Lista dei Caratteri Speciali
Parentesi Graffe
Limitazione della Golosità
Gruppi di Caratteri
Set di Caratteri
Inversione dei Set di Caratteri
Particolarità del Cirillico
Caratteri Speciali all'interno dei Set
Gruppi di Caratteri all'interno dei Set
Caratteri Speciali-Eccezione all'interno dei Set
Simbolo Accento Circonflesso all'interno dei Set
Particolarità del Trattino all'interno dei Set
Inizio e Fine della Stringa
Fine o Inizio di una Parola
Comando 'o'
Delimitatori
Escape dei Delimitatori
Backslash
Controllo della Stringa
Test Automatico delle Espressioni Regolari
Controllo dell'Intera Stringa
Gruppi di Cattura nella Ricerca
Ricerca di Tutte le Corrispondenze
Tutte le Corrispondenze nei Gruppi di Cattura
Modifica del Comportamento della Ricerca
Parentesi Non Catturanti
Gruppi di Cattura nella Sostituzione
Gruppi di Cattura nell'Espressione
Gruppi di Cattura Nominati
Gruppi di Cattura Nominati all'interno dell'Espressione
Numero Comune dei Gruppi di Cattura
Lookahead
Lookbehind
Sostituzione con Callback
Modificatori
Ignorare il Maiuscolo/Minuscolo nelle Regex
Commenti nelle Espressioni Regolari
Utilizzo di Unicode nelle Regex
Modifica della Golosità delle Regex
Escape dei Caratteri Regolari nelle Regex
Multipli Modificatori delle Regex
Escape Automatico dei Caratteri Speciali
Filtraggio dell'Array
Suddivisione della Stringa in un Array
Formazione delle stringhe
Inserimento di variabili
Inserimento di elementi di array
Inserimento di elementi di array associativi
Ciclo e inserimento di variabili
Inserimento di elementi di array in un ciclo
Inserimento di elementi di array multidimensionali in un ciclo
Generazione di tag
Generazione di tag con attributi
Ciclo e generazione di tag
Ciclo e generazione di tag da array
Ciclo e generazione di tag e attributi
Ciclo e generazione di tabelle HTML
Generazione di una tabella HTML utilizzando un singolo ciclo
Generazione di una tabella HTML utilizzando due cicli annidati
Inserimento di codice PHP in HTML
Comando echo breve
Output di variabili in HTML
Output di elementi di array in HTML
Condizioni e interruzione del codice PHP
Blocco else nell'interruzione del codice PHP
Blocco elseif nell'interruzione del codice PHP
Cicli e interruzione del codice PHP
Array in un ciclo nell'interruzione del codice PHP
Forme
Introduzione alle forme
Metodo di invio del modulo
Recupero dei dati del modulo
Recupero dati modulo con metodo GET
Recupero dati modulo con metodo POST
Gestione del modulo in un unico file
Nascondere il modulo dopo l'invio
Salvataggio dei valori del modulo
Salvataggio del valore predefinito del modulo
Codice abbreviato per salvare i valori predefiniti
Elemento textarea
Salvataggio del valore textarea dopo l'invio
Checkbox
Sfumature nell'uso delle checkbox
Salvataggio del valore nella checkbox
Pulsanti radio
Salvataggio del valore nei pulsanti radio
Select
Attributo value nei select
Salvataggio del valore nei select
Richieste GET
Richieste GET tramite link
Pratica
Sessioni
Introduzione alle sessioni
Problemi possibili
Utilizzo delle sessioni su una singola pagina
Rimozione delle sessioni
Terminazione dell'intera sessione
Sessioni e moduli
Scrittura di array nelle sessioni
Cookies
Introduzione ai cookie
Problema di impostazione dei cookie
Impostazione immediata dei cookie
Contatore di ricaricamento della pagina
Tempo di vita del cookie
Rimozione dei cookie
Rimozione immediata dei cookie
File System
Lettura di file
Scrittura di file
Combinazione di operazioni
Percorsi relativi
Percorsi assoluti
Vantaggi del percorso assoluto
Percorsi assoluti allo script
Rinomina di file
Spostamento di file
Copia di file
Eliminazione di file
Determinazione della dimensione dei file
Verifica dell'esistenza di file
Creazione di cartelle
Eliminazione di cartelle
Rinomina di cartelle
Spostamento di cartelle
Lettura del contenuto di una cartella
Distinguere una cartella da un file
Analisi del contenuto di una cartella
Inclusione di file
Divisione del markup in elementi
Scrittura dell'inclusione in una variabile
Inclusione di file
Inclusione singola di file
Scrittura dell'inclusione in una variabile
Basi di dati
Introduzione alle basi di dati
PhpMyAdmin
Tabella di test users
Manipolazioni preparatorie
Invio di query al database
Ricerca degli errori nel database
Test del funzionamento
Problemi di codifica
Codice di test completo
Ottenere il risultato
Ottenere il risultato come array
Formazione dell'array in un ciclo
Selezione dei record
Operazioni logiche
Campi di selezione
Inserimento dei record
Inserimento record con colonne mancanti
Aggiornamento dei record
Cancellazione dei record
Ordinamento dei record
Limitazione della quantità
Conteggio della quantità
Ottenere il conteggio
Query avanzate
Organizzazione del Database
Collegamento delle tabelle
Recupero dei dati da tabelle collegate
Catena di tabelle collegate
Collegamento tramite tabella di relazione
Relazioni familiari
Diversi discendenti
Doppia relazione
Pratica
Pratica con il Database
Tabella di test users
Formattazione dell'output
Rimozione dei dati
Visualizzazione dei dati
Aggiunta di dati
Modifica dei dati
Lavorare con HTTP
Libro di HTTP
Metodo della richiesta HTTP
Intestazioni della richiesta HTTP
Array delle intestazioni della richiesta HTTP
Intestazioni della risposta HTTP
Problema con le intestazioni della risposta HTTP
Problema con include
Invio della linea iniziale della risposta HTTP
Invio dello stato della risposta HTTP
Reindirizzamenti
Introduzione ai reindirizzamenti
Reindirizzamento istantaneo
Richieste GET e reindirizzamento
Auto-reindirizzamento con aggiunta di parametri
Messaggi flash
Array di messaggi flash
Salvataggio dei moduli
Messaggi di successo dell'invio
Reindirizzamento alla convalida del modulo
Autenticazione
Introduzione
Autorizzazione
Sessioni
Logout dalla sessione
Registrazione
Autorizzazione immediata alla registrazione
Aggiunta dell'id alla sessione
Nascondere la password
Controllo della disponibilità del login
Validazione
Hashing
Aggiunta del salt alla registrazione
Aggiunta del salt all'autorizzazione
Funzione password_hash
Profilo
Account
Cambio password
Conferma password
Rimozione account
Permessi
Registrazione con separazione dei permessi
Permessi e normalizzazione del database
Motore del sito
Introduzione
Utilizzo di htaccess
Motore basato su file
Titolo nel motore basato su file
Titoli in un array
Titoli nel contenuto
Pagina 404 nel motore basato su file
Motore basato su database
URL leggibili nel motore
Routing semplice
Routing con parametri nominati
Parametri multipli nella rotta
Pratica