TRAIN TO SYMFONY

the frameworkshop

The Train starts again. On new tracks.

The Train in Milan (June 29th and 30th, 2013) went like this.
The stop in Milan was the second round of the frameworkshop. Different topics, different ways, different achievements. But same strongly practical spirit.
Passengers said... "A well-made workshop, a prepared train conductor with a good disposition to dialogue! Now I have a precise and technical reference point to start from, based on Emanuele's real experience, who uses Symfony as a business tool for its daily projects".

Passengers of the first Train in Verona (April 13th and 14th, 2013) said that...
"For me it was all pure gold", without a doubt "The preparation of Emanuele was very high."                             The test project? "Interesting and complete. Could not choose better."                             In short, "I sincerely hope this becomes a regular appointment" because "Relaxed atmosphere, interesting people and cool train conductor."

 

Get on board? Straight to Symfony2

Train to Symfony is a timely convoy that offers a highly practical workshop
on this more and more adopted framework.
Through a two-day trip, the Train will take you to the desired terminal:
your mastery of Symfony2.

 

Which Train is this?

PURPOSES

The workshop will transmit you all the theory and (above all!) the practice needed to develop web projects with Symfony2.

During the course we will work on a real application in Symfony2, made by all the necessary elements in order to let you start develop your own project.

TARGET

The workshop is thought for those that:
  • "I'm interested in Symfony but my boss thinks it's not so useful, so where could I learn it?"
  • "In my company we want to move to Symfony. I'd like to learn it quickly"
  • "I've always used other frameworks. In what does Symfony differ from them?"
  • "Symfony? Hmm."

HOW IT WORKS

The workshop is divided in two days, about 8 hours the first and about 8 hours the second.
The first day we'll set the stage with a continuous alternation between slides (the theory) and code (the practice).
At the end of the first day and throughout the second we'll develop a concrete project in Symfony2.
 

Which stations will it pass through?

This is the route (made of theory and practice) you will follow during the Train.

 

THE BASICS

the framework Symfony2
PHP 5.3, namespaces
organizing the code in a Symfony2 project
Request and Response objects, HTTP protocol
 

ROUTING AND CONTROLLERS

the routing system: understanding and use
request handling, redirect, forward
effective design of controllers
 

TWIG

Twig Template Engine for PHP
from the url to the template
syntax, variables, operators, filters
blocks, inheritance and extension of templates
 

SECURITY

authentication and authorization
user roles and permissions
creation of a reserved area
use of FOSUserBundle
 

FORM

the Form component
processing: create, send, bind, validate
different type of validations
 

DATABASE

Doctrine2 ORM
Entity, Object Manager, Repository
QueryBuilder and DQL
Relationships and associations between entities
 

SWIFT MAILER

sending email with Swift Mailer
usage from controllers and services
integration with Twig
 

CACHE

principles of HTTP Caching
caching system
introduction to Edge Side Includes
 

EXTRAS

usage of Symfony console
events and listeners
Dependency Injection Container
use of the web debug toolbar
 

Where will it leave you?

YOU WILL UNDERSTAND

You will understand how it reduces the time of your work and how it increases the reliability. You will understand that enhances and facilitates the updating and management of your projects. That promotes cooperation in teams. And if you find that if we should re-invent the wheel every time we produce a car, we would still live in the caves.

YOU WILL MASTER

You will master all aspects you thought obscure and cryptic. You'll climb the steepest part of the initial learning curve. And find that it's less complicated than you think. You'll be able to deal with and independently carry out a web project using Symfony2.

WHAT WILL HAPPEN?

THEORY

The morning of the first day will be dedicated to the theory. Supported by slides, we'll examine:
  • Symfony2, the framework
  • Routing, Controllers, Actions
  • Templating, TWIG template engine
  • Doctrine, Mapping
  • Forms, validation
  • Security, Authorization, Authentication
  • DIC and Services
  • Caching

PRACTICE

You will get your hand dirty in the afternoon of the first day and the whole second day.
You will fix the theory on the code and you will face all the other topics on the agenda.
You will work to create a Symfony project: the evolved version of MusicStation. You will start from an empty folder, without neglecting any detail.
In group, you'll see and study each step more easily; alone, you will have the opportunity to practice and rehearse on the less immediate ones.
 

A little bit oh history

The first Train was held in Verona in April 2013. Since then another frameworkshop with free access was held in Milan (June 2013) and others were held at companies that wanted it in their offices.

Here is a list of the main stops, from the first Train until now:

05/06/07/08 Nov. 2013

in Milan (Italy), at a comunications agency (more details soon).

05/06 Sep. 2013

in Padua (Italy), at a comunications agency; the frameworkshop was sponsored by Fòrema (more details soon).

06 Jul. 2013

in Verona, at the head office of Manens-Tifs s.p.a.

29/30 Jun. 2013

in Milan (Italy) with free access, at the venue of Impact Hub Milano.

13/14 Apr. 2013

in Verona with free access, at TheCollective (now GeekVille).
Get the slides and the code used in the workshop of Verona.

 

The Train conductor

EMANUELE GASPARI

Was born in 1984, and grows to this day. He studied and graduated in Computer Engineering on the axis Padua-Barcelona.
He does work experience in Italy and abroad that led him now for 8 years working with PHP. Knows PHP5, develops deepening
acronyms like OOP, MVC, RAD, ORM. Forms his skills through individual and team work. He uses git.

Since 2007 and its 1.0 version he thinks that Symfony is the tool to focus firmly on.
For passion he examined in depth over the years each release of the framework made in France (also contributes to the development of some bundle/plugin); in the everyday work (and on his skin!) he tests its force
within an agency that, for medium-to-large customers, implements projects also-very-complex with gun-to-temples deadlines.

He's the creator and developer of symfonybricks.com, a web platform based on Symfony2 and released itself open source.
SymfonyBricks' purpose is the creation of a space where you can easily share guides and material on Symfony,
and at the same time it offers its own source code as an example of best practices.
http://symfonybricks.com

He is co-creator and co-developer of CopiancollaMetaTagsBundle, a bundle for Symfony 2.* to manage dynamic html meta tags.

 

Ticket office

You find all this interesting and you want to know how and where to participate to a Train?

Call me to your venue

Are you interested in hosting a Train at your location? The standard formula offers the contents you can find on this website, but in my experience it has become normal also agree on a program tailored for you.

Soon, in addition to the arguments of the standard Train to Symfony, I will publish the topics I discussed in the "advanced" versions of the Train. You can then convince yourself even more that this suit your needs!

Help me to organize one

Is there some interest for a Train to Symfony in your city or country?
If you like the idea and want to help, or if you just find a minimum of potentially interested developers, contact me!
We could be able to organize something interesting and exciting.

The only constant is the proposed quality of the Train, the rest is still to invent (I love this part)!

Keep you updated

Follow this Twitter profile to keep updated about all the news. You will know if and where a new Train will stop near you!

For every question, contact me directly, throw an idea,

WRITE TO ME

or send me an email to info [at] traintosymfony.com