Da quali stazioni passerà?

TEORIA

La mattina del primo giorno sarà dedicata alla teoria. Supportati da slides, approfondiremo:

  • Symfony3, il framework

  • Routing, Controllers, Actions

  • Templating, TWIG template engine

  • Doctrine, Mapping

  • Form, Validazione

  • Security, Autorizzazione, Autenticazione

  • DIC e Servizi

  • Caching

PRATICA

Il pomeriggio del primo giorno e tutto il secondo ti sporcherai le mani.

Fisserai la teoria sul codice e affronterai tutti gli altri argomenti in programma.

Lavorerai alla creazione di un progetto Symfony: la versione evoluta di MusicStation. Lo farai partendo da una cartella vuota, senza trascurare alcun minimo dettaglio.

In gruppo, vedrai e studierai i passaggi più agevoli; da solo, avrai la possibilità di esercitarti e fare prove su quelli meno immediati.


 
LE BASI

Il framework Symfony3

Namespaces

Organizzazione del codice di un progetto Symfony3

Oggetti Request e Response, protocollo HTTP

 
ROUTING E CONTROLLERS

Il sistema di routing: comprensione ed uso

Request handling, redirect, forward

Design efficace di controllers

 
TWIG

Twig Template Engine per PHP

Dall'url al template

Sintassi, variabili, operatori, filtri

Blocchi, ereditaretà ed estensione di templates

 
SICUREZZA

Autenticazione e autorizzazione

Ruoli e permessi di utenti

Creazione di un'area riservata

Utilizzo di FOSUserBundle

 
FORM

Il componente Form

Elaborazione: creazione, invio, bind, validazione

Diverse modalità di validazione

 
DATABASE

Doctrine2 ORM

Entità, Object Manager, Repository

QueryBuilder e DQL

Relazioni e associazioni tra entità

 
SWIFT MAILER

Invio di email con Swift Mailer

Utilizzo da controller e servizi

Integrazione con Twig

 
CACHE

Principi di Caching HTTP

Il sistema di caching

Introduzione a Edge Side Includes (ESI)

 
EXTRAS

Utilizzo della console Symfony

Eventi e listeners

Dependency Injection Container

Utilizzo della web debug toolbar

Per poi applicare tutto questo alla creazione di un progetto concreto basato su Symfony3 (~12 ore):

M
MusicStation

In questo progetto creato da zero c'è tutto il necessario perché tu possa poi sviluppare autonomamente i tuoi progetti.

Approfondimento di ogni passo del processo di creazione di un sito.

Ogni soluzione adottata verrà trattata e motivata.

Condivisione degli accorgimenti e i suggerimenti che derivano dalla mia diretta esperienza quotidiana nello sviluppo con Symfony.