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 Mar. 5 - Mar. 8 Montreal 1990.00 € Register
  • This session will take place from March 5, 2012 at 9:00 AM to March 8, 2012 at 5:00 PM (America/Montreal) and it will be hosted by Hugo Hamon.

German Mar. 5 - Mar. 8 Köln 1990.00 € Register
  • This session will take place from March 5, 2012 at 9:00 AM to March 8, 2012 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

French Mar. 20 - Mar. 23 Paris 1990.00 € Register
  • This session will take place from March 20, 2012 at 9:00 AM to March 23, 2012 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Mar. 27 - Mar. 30 Paris 1990.00 € Register
  • This session will take place from March 27, 2012 at 9:00 AM to March 30, 2012 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Apr. 3 - Apr. 6 London 1990.00 € Register
  • This session will take place from April 3, 2012 at 9:00 AM to April 6, 2012 at 5:30 PM (Europe/London) and it will be hosted by Hugo Hamon.

French Apr. 23 - Apr. 26 Paris 1990.00 € Register
  • This session will take place from April 23, 2012 at 9:00 AM to April 26, 2012 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German Apr. 23 - Apr. 26 Hamburg 1990.00 € Register
  • This session will take place from April 23, 2012 at 9:00 AM to April 26, 2012 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

French May. 21 - May. 24 Paris 1990.00 € Register
  • This session will take place from May 21, 2012 at 9:00 AM to May 24, 2012 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German May. 21 - May. 24 Köln 1990.00 € Register
  • This session will take place from May 21, 2012 at 9:00 AM to May 24, 2012 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

French Jun. 11 - Jun. 14 Paris 1990.00 € Register
  • This session will take place from June 11, 2012 at 9:00 AM to June 14, 2012 at 5:23 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

German Jun. 25 - Jun. 28 Munich 1990.00 € Register
  • This session will take place from June 25, 2012 at 9:00 AM to June 28, 2012 at 5:30 PM (Europe/Berlin) and it will be hosted by Andreas Hucks.

English Jun. 26 - Jun. 29 Paris 1990.00 € Register
  • This session will take place from June 26, 2012 at 9:00 AM to June 29, 2012 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

English Jul. 2 - Jul. 5 London 1990.00 € Register
  • This session will take place from July 2, 2012 at 9:00 AM to July 5, 2012 at 5:30 PM (Europe/London) and it will be hosted by Hugo Hamon.

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

French Aug. 27 - Aug. 30 Paris 1990.00 € Register
  • This session will take place from August 27, 2012 at 9:00 AM to August 30, 2012 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...)

Contracting a Quality Insurance with Automated Tests

  • Introduction to PHPUnit
  • Installing the PHPUnit 3.5 unit testing framework
  • 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

Security

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

Restricting Access to the Application

  • Configuring an Apache virtual host for a Symfony2 project
  • Introduction to authentication and authorization principles
  • Establishing an authentication with a web form
  • Establishing an HTTP authentication
  • Restricting actions thanks to an access control list
  • Testing user's permissions from within the controller and the view layers

Improving Client Side Performances with HTTP Caching and ESI

  • Introduction to HTTP cache
  • Comparing caching solutions (HTTP, APC, memcached...)
  • Modifying the response object before it is sent to the client
  • Applying validation and expiration rules with HTTP headers.
  • Discovering and using Edge Side Includes (ESI)
  • Installing et configuring the Symfony2 Reverse Proxy Cache

Extending Symfony2 and Twig

  • Understanding the Dependency Injection (or Inversion of Control) design pattern
  • Configuring new Symfony2 services in the dependency injection container
  • Extending Twig with macros, functions and filters
  • Installing and activating third party bundles

Session details


Reference code

SF2C4

Price

Starts at 1990.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

+33 140 998 205

We remain at your disposal for further information.

Contact us