Italian SymfonyDay 2017. Goals of this event are to show best practices and high level case studies. This event is organised by PUG Milano with the help of GrUSP.

Friday 20th October 2017

10:10 Behat from zero to hero: a practical guide to Symfony integration and usage
Talk by Matteo Moretti, Samuele Lilli in Main Track (50 minutes)

Utilizzare Behat è un must per chiunque voglia svolgere BDD a livello funzionale. Utilizzarlo nella maniera corretta non è così immediato: i context crescono, le chiamate asincrone creano problemi di temporizzazione, i tests sono lenti e tutto diventa improvvisamente difficile da gestire. Questo talk è mirato a mostrare come all’interno di un’applicazione Symfony sia possibile utilizzare Behat per raggiungere questo scopo, senza abbandonare il BDD al crescere della dimensione e della complessità della vostra applicazione.

11:30 Biglietti, prego! A ticket for the (command) bus
Talk by Francesco Face in Main Track (50 minutes)

Ti è mai capitato di ritrovarti a scrivere controller enormi pieni di funzionalità? O che un cliente ti chiedesse di aggiungere un nuova funzionalità all’interno di un flusso già esistente? Hai mai sognato che esistesse un modo per scrivere codice realmente manutenibile, disaccopiato e semplice da far evolvere? Ti presento il Command Bus, un pattern che ti permette di scrivere codice altamente espressivo e manutenibile. In questo talk ti mostrerò i vantaggi dell’utilizzare il Command Bus (e anche l’Event Bus) con un esempio pratico in Symfony, usando la libreria SimpleBus.

12:25
16
Symfony Without Bundles
Talk by Ettore Delprino in Main Track (25 minutes)

Siamo abituati ad iniziare un progetto Symfony e come prima cosa, ancora prima della configurazione definiamo il, o i vari, bundle che conterranno la logica della nostra app. In questo talk vedremo se realmente serve accoppiare così tanto il nostro codice al framework che stiamo utilizzando e che benefici porta mantenere una dominio slegato da Symfony.

14:00 Disinstallare FOSUserBundle e vivere felici
Talk by Massimiliano Arione in Main Track (25 minutes)

Gran parte dei progetti Symfony iniziano con un semplice passo: installare FOSUserBundle. E se invece potessimo farne a meno e lo disinstallassimo? Se addirittura fosse ancora meglio riuscire a non installarlo? Se alla fine di questo talk non ne sarete convinti, quantomeno potrete essere maggiormente consapevoli degli svantaggi che questo bundle si porta dietro.

14:30 Reliable service integration
Talk by Simone Di Maulo in Main Track (50 minutes)

Ci capita spesso di dover integrare la nostra applicazione con servizi di terze parti (api HTTP, SMTP, etc...). Non sempre questi servizi sono affidabili, a volte sono troppo lenti, a volte hanno un rate limit più basso rispetto alle nostre esigenze. In questo talk vedremo come costruire passo passo un'integrazione tra un'applicazione symfony e un servizio esterno, risolvendo questi problemi per migliorare affidabilità ed esperienza utente.

15:25 Symfony Cache component: speed-up your application with a new layer of cache
Talk by Simone D'Amico in Main Track (25 minutes)

Con la versione 3.1 di Symfony è stato introdotto il componente Cache che fornisce un'implementazione di PSR-6 per l'aggiunta della cache alle tue applicazioni. Il componente fornisce già degli adapters per gli scenari più comuni in un’applicazione web. All’interno del talk parleremo di: come funziona il componente Cache, quali sono i benefici che puoi trarne e come è stato utilizzato in un caso d’uso reale.

16:20 Symfony and frontend: a better way
Talk by Gabriele Martini in Main Track (25 minutes)

Mentre negli ultimi anni tool e best practices per lo sviluppo frontend hanno subito un profondo cambiamento, l’evoluzione degli strumenti frontend legati a Symfony non ha seguito lo stesso ritmo. In questo talk vedremo come è possibile "svecchiare" la nostra tool-chain e ottenere un ambiente di sviluppo moderno ed efficace. In particolare ci concentreremo nell'integrazione tra Symfony e Vue.js, astro nascente dei framework Javascript, in accoppiata con webpack. Esploreremo inoltre Encore, la nuovissima libreria ufficiale con cui il team core di Symfony sta tentando di riavvicinare i due mondi dello sviluppo web.

16:50 CQRS e Event Sourcing: che l'Evento sia con te
Talk by Oscar Fanelli in Main Track (25 minutes)

L’incremento dei servizi di terze parti integrati nel tuo applicativo mina la mantenibilità del codice. Utilizzando un bundle Symfony che ascolta tutti gli eventi scatenati, un pattern CQRS e l’event sourcing isoleremo rapidamente le problematiche e replicheremo le azioni da compiere in caso di rottura dell’applicativo.