Onsite training

Bring our trainers team onsite to train your employees.

Learn more


Symfony2

Web Development with Symfony2

Learn the goodnesses of the new Symfony2 framework with the best experts and get ready to start your first Symfony2 web development projects with PHP 5.3.


This intensive Symfony2 four days training allows you to acquire the essential of the Symfony2 philosophy and tools, and teaches you the best practices for developing professional web applications with PHP 5.3.

Coming sessions


  Date Venue Price  
English Jun. 24 - Jun. 27 Rome €1,990.00 Closed
  • This session will take place from June 24, 2013 at 9:00 AM to June 27, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Jul. 1 - Jul. 4 Paris €1,990.00 Closed
  • This session will take place from July 1, 2013 at 9:00 AM to July 4, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Charles SARRAZIN.

French Jul. 1 - Jul. 4 Lyon €1,990.00 Closed
  • This session will take place from July 1, 2013 at 9:00 AM to July 4, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German Jul. 8 - Jul. 11 Cologne €1,990.00 Register
  • This session will take place from July 8, 2013 at 9:00 AM to July 11, 2013 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

English Jul. 8 - Jul. 11 Johannesburg €1,990.00 Closed
  • This session will take place from July 8, 2013 at 9:00 AM to July 11, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Jul. 16 - Jul. 19 London £1,270.00 Register
  • This session will take place from July 16, 2013 at 9:00 AM to July 19, 2013 at 5:30 PM (Europe/London) and it will be hosted by Richard Miller.

French Jul. 22 - Jul. 25 Paris €1,990.00 Register
  • This session will take place from July 22, 2013 at 9:00 AM to July 25, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German Aug. 5 - Aug. 8 Cologne €1,990.00 Register
  • This session will take place from August 5, 2013 at 9:00 AM to August 8, 2013 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

French Aug. 5 - Aug. 8 Paris €1,990.00 Register
  • This session will take place from August 5, 2013 at 9:00 AM to August 8, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Aug. 26 - Aug. 29 Paris €1,990.00 Register
  • This session will take place from August 26, 2013 at 9:00 AM to August 29, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Aug. 26 - Aug. 29 Istanbul €1,990.00 Register
  • This session will take place from August 26, 2013 at 9:00 AM to August 29, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German Sep. 2 - Sep. 5 Cologne €1,990.00 Register
  • This session will take place from September 2, 2013 at 9:00 AM to September 5, 2013 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

English Sep. 2 - Sep. 5 Moscou €1,990.00 Register
  • This session will take place from September 2, 2013 at 9:00 AM to September 5, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Sep. 9 - Sep. 12 Paris €1,990.00 Register
  • This session will take place from September 9, 2013 at 9:00 AM to September 12, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Sep. 9 - Sep. 12 Toulouse €1,990.00 Register
  • This session will take place from September 9, 2013 at 9:00 AM to September 12, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Sep. 23 - Sep. 26 Shanghaï €1,990.00 Register
  • This session will take place from September 23, 2013 at 9:00 AM to September 26, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Sep. 30 - Oct. 3 Paris €1,990.00 Register
  • This session will take place from September 30, 2013 at 9:00 AM to October 3, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Sep. 30 - Oct. 3 Tokyo €1,990.00 Register
  • This session will take place from September 30, 2013 at 9:00 AM to October 3, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Oct. 7 - Oct. 10 Bangalore €1,990.00 Register
  • This session will take place from October 7, 2013 at 9:00 AM to October 10, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Oct. 7 - Oct. 10 Lyon €1,990.00 Register
  • This session will take place from October 7, 2013 at 9:00 AM to October 10, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Oct. 14 - Oct. 17 Paris €1,990.00 Register
  • This session will take place from October 14, 2013 at 9:00 AM to October 17, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German Oct. 14 - Oct. 17 Cologne €1,990.00 Register
  • This session will take place from October 14, 2013 at 9:00 AM to October 17, 2013 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

French Oct. 14 - Oct. 17 Nantes €1,990.00 Register
  • This session will take place from October 14, 2013 at 9:00 AM to October 17, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Oct. 21 - Oct. 24 Oslo €1,990.00 Register
  • This session will take place from October 21, 2013 at 9:00 AM to October 24, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Oct. 28 - Oct. 31 Stockholm €1,990.00 Register
  • This session will take place from October 28, 2013 at 9:00 AM to October 31, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Nov. 4 - Nov. 7 Paris €1,990.00 Register
  • This session will take place from November 4, 2013 at 9:00 AM to November 7, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Nov. 4 - Nov. 7 Helsinki €1,990.00 Register
  • This session will take place from November 4, 2013 at 9:00 AM to November 7, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Nov. 12 - Nov. 15 London £1,270.00 Register
  • This session will take place from November 12, 2013 at 9:00 AM to November 15, 2013 at 5:30 PM (Europe/London) and it will be hosted by Richard Miller.

German Nov. 18 - Nov. 21 Cologne €1,990.00 Register
  • This session will take place from November 18, 2013 at 9:00 AM to November 21, 2013 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

French Nov. 18 - Nov. 21 Paris €1,990.00 Register
  • This session will take place from November 18, 2013 at 9:00 AM to November 21, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Nov. 18 - Nov. 21 Singapore €1,990.00 Register
  • This session will take place from November 18, 2013 at 9:00 AM to November 21, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Nov. 25 - Nov. 28 Melbourne €1,990.00 Register
  • This session will take place from November 25, 2013 at 9:00 AM to November 28, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

French Dec. 2 - Dec. 5 Paris €1,990.00 Register
  • This session will take place from December 2, 2013 at 9:00 AM to December 5, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German Dec. 9 - Dec. 12 Cologne €1,990.00 Register
  • This session will take place from December 9, 2013 at 9:00 AM to December 12, 2013 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

French Dec. 16 - Dec. 19 Paris €1,990.00 Register
  • This session will take place from December 16, 2013 at 9:00 AM to December 19, 2013 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.


Goals


In four days, discover the essential of the Symfony2 framework with the best experts in the world. You will how to master the MVC design pattern, forms management, authentification principles and of course the best practices with unit testing and HTTP caching.


Program

Download the program as PDF

Object Oriented Programming

  • Classes vs objects
  • Constructor / destructor
  • Properties and methods
  • Inheritance
  • Visibility
  • Exceptions
  • Namespaces

Exploring Symfony2

  • General introduction to the framework and its integrated tools
  • Standard edition installation
  • Symfony2 project architecture (application, bundles, libraries)
  • HTTP request and response principle
  • Routing configuration
  • Environments
  • Creating a new Bundle architecture

Configuration and Debugging Tools

  • The web debug toolbar
  • The profiler application
  • Annotations, XML, YAML and PHP configuration

Templating with Twig

  • Twig template engine syntax
  • Templates inheritance
  • Templates and actions inclusion
  • View helpers: filters, functions and macros
  • Supporting output formats (html, json, xml, atom…)

HTTP Request Processing

  • Designing controller classes and actions
  • Mapping controllers with the routing system
  • Generating raw responses and template based responses
  • Accessing request data
  • Dealing with the end user's session
  • Dealing with cookies
  • Triggering a 404 error page and redirects

Interacting with a Relational Database

  • Introduction to PDO (DSN, prepared statements, transactions...)
  • Opening a connection on an SQLite or MySQL server
  • Executing an SQL query on the database
  • Securing SQL queries with transactions and prepared statements
  • Factoring the business logic into model classes
  • Implementing the data mapper or active record patterns for model classes

Handling End User's Forms Submission

  • Discovering the form framework
  • Creating and processing basic forms
  • Defining validation rules to validate submitted data
  • Prototyping the form rendering with Twig
  • Retrieving validated user's data
  • Designing and validating advanced forms (embedded forms, file upload...)

Security

  • Securing your code against XSS issues
  • Securing your code against CSRF issues
  • Protecting your SQL queries to avoid SQL injection issues

Contracting a Quality Insurance with Automated Tests

  • Introduction to PHPUnit
  • Installing PHPUnit
  • Understanding the goals of unit testing the code
  • Configuring a new unit test suite for PHPUnit
  • Writing unit tests cases
  • Executing the unit tests suite
  • Generating and understanding the code coverage report
  • Writing and executing functional tests

Interacting with the User and Forms

  • Discovering the form framework
  • Creating and processing basic forms
  • Applying validation rules on each form fields
  • Prototyping forms rendering with Twig
  • Customizing forms rendering with themes
  • Defining and working with a data model
  • Applying validation constraints on submitted data

Restricting Access to the Application

  • Configuring Apache for Symfony2
  • Introduction to authentication and authorization principles
  • Establishing an authentication with a web form
  • Establishing a security policy with access control list
  • Testing user’s access rights

Improving Client Side Performances with HTTP Cache and ESI

  • Introduction to HTTP cache
  • Comparing several caching solutions
  • Modifying the response object before it’s sent to the client
  • Applying validation and expiration rules on pages
  • Discovering and using Edge Side Includes (ESI)
  • Installing et configuring the Symfony2 Reverse Proxy Cache

Dependency Injection and Service Container

  • Understanding the dependency injection principle
  • Introduction to services container
  • Listing Symfony built-in services
  • Registering new services in the container
  • Accessing a service from the container
  • Reading and writing global parameters from the container
  • Exposing and validating a semantic configuration for a bundle

Session details


Reference code

SF2C4

Price

Starts at €1,990.00 (ex. tax)

Audience

PHP web developers

Duration

4 days (28 hours)

Training type

Workshop

Topics

PHP 5.3, OOP, PDO, MVC, Twig, MySQL, Best practices, Unit Testing, PHPUnit, Forms, Security, HTTP Cache

Pre-requisites

Mastering object oriented programming in PHP


For further information

We remain at your disposal for further information.

Contact us