Corso PHP
CORSO PHP (aggiornato sempre all’ultima versione stabile)
Il PHP è un linguaggio di programmazione, ovvero uno scripting “server-side” molto utilizzato, OpenSource e gratuito. PHP è l’acronimo di Hypertex Prepropocessor ed è utilizzato fondamentalmente nello sviluppo web ambito BACK-END.
I suoi principali punto di forza sono tre:
- Può essere completamente integrato nell’HTML
- Può essere utilizzato su tutti i sistemi operativi compresi Linux e MacOS; lavora con quasi tutti i server web
- Supporta una completa gamma di Database
In generale con PHP è possibile raccogliere dati da un forum, creare e sviluppare pagine con contenuti dinamici (es. creare piattaforme web con registrazione utente e creazione user), mandare e ricevere cookies e molto altro ancora.
La richiesta di sviluppatori back-end e PHP è molto alta sul mercato del lavoro ed è ormai una tecnologia utilizzatissima nei progetti web.
Requisiti per gli studenti: conoscenze basi di almeno un linguaggio di programmazione
Obiettivi del corso: acquisire le competenze per lo sviluppo web con PHP 8 ad oggetti
Corso PHP erogato solo per aziende e su richiesta. Modalità virtual classroom online o frontale.
Docente Programmatore PHP senior con pluriennale esperienza nel settore
Vuoi essere ricontattato?
Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:
Programma Didattico (40 ore):
Modulo 1 – Fondamenti e contesto
Motivazioni per l’uso di OOP in PHP — limiti del paradigma procedurale
Introduzione agli oggetti: classi, istanze, responsabilità
Cenni sulle novità di PHP 8 / 8.x rilevanti per l’OOP
Type system avanzato: union types, mixed, static, never
Named parameters, nullsafe operator, match expressions
Constructor property promotion (definizione proprietà direttamente nel costruttore)
Novità introdotte in PHP 8.3/8.4 (tipizzazione delle costanti, deep-cloning delle proprietà readonly, property hooks, visibilità asimmetrica)
Modulo 2 – Basi di programmazione a oggetti
Definizione di classe
Creazione di oggetti (istanze)
Proprietà (attributi / campi)
Metodi (funzioni dell’oggetto)
Differenza tra membri statici e istanza
Introduzione ai tipi (type hints) per parametri e ritorni
Modulo 3 – Costruttori, visibilità e principi di incapsulamento
Metodo magico __construct() e, se rilevante, __destruct()
Promotion delle proprietà nel costruttore (PHP 8)
Visibilità: public, protected, private
Costanti di classe (incluse novità di PHP 8.3/8.4)
Metodi getter / setter (pattern convenzionali)
Progetti di incapsulamento: best practice
Modulo 4 – Ereditarietà, overriding e classi finali
Ereditarietà semplice (extends)
Overriding di metodi
Uso di parent::
Keyword final (classi finali, metodi finali)
Tipi covarianti / controvarianti nei metodi (parametri / ritorni) con il tipo (PHP 8)
Esercizi pratici
Modulo 5 – Classi astratte, interfacce e polimorfismo
Classi astratte: definizione, metodi astratti
Interfacce: regole, implementazione
Polimorfismo: il “contratto” di interfacce e classi astratte
Uso combinato: interfacce + ereditarietà
Multipli contratti con interfacce
Esercizi guidati
Modulo 6 – Trait, composizione, design e operazioni sugli oggetti
Trait (reuse di metodi)
Composizione vs ereditarietà
Delegation / design pattern semplici (es. Strategy, Decorator)
Type hinting avanzato (tipi union, interfacce, static)
Clonazione con __clone()
Deep cloning, oggetti immutabili
Esercitazioni pratiche
Modulo 7 – Integrazione, casi reali e best practice
Refactoring di codice procedurale in OOP
Caso di studio completo: progettazione di un mini modulo (es. gestione utenti, entità articolo, etc.)
Gestione delle eccezioni e validazioni nei metodi
Design orientato agli oggetti e principi SOLID (introduzione)
Testing di unità su classi (cenni)
