29 février au 2 mars 2012
Montréal, Canada

Diving into Symfony2 Advanced Features

The Symfony2 framework adoption is becoming bigger and bigger and most of Symfony developers would like to know more about advanced features of the framework. This special Confoo workshop will help you dive deeply in advanced features and best practices you probably don't master. We will especially focus on demystifiing and experimenting the famous dependency injection principle and the associated Container object. Then, we will have a closer look at the security layer that provides authentication and authorization mechanisms with a fined grained ACL system. This session will also introduce some of the key concepts of HTTP caching using a reverse proxy like Varnish and handling Edge Side Includes. Of course, you will discover how to test the application to ensure its reliability and long lasting. Depending on the remaining time at our disposal, we will focus on some other cool features of the framework like forms handling, validation, internationalization, Twig extension or database intregration. To make this workshop the most efficient and practical for every one, we will hack on an existing Symfony2 application instead of starting from scratch. Don't forget to bring your laptop with you!

Quick tour of Symfony2 basics (Day 1)

  • The View Controller architecture
  • Handling the HTTP request
  • Mapping URLs to Controllers
  • Rendering Twig templates
  • Understanding configuration files

Mastering Dependency Injection (Day 1)

  • Introduction to the dependency injection principle
  • Registering new services with an XML configuration file
  • Best practices ton configure global services
  • Overriding a service definition

Testing the application with PHPUnit (Day 1)

  • Testing the low level API with unit tests
  • Testing features with functional tests
  • Filtering the Response with the Crawler object

Handling and validating forms (Day 1)

  • Designing forms
  • Adding validation rules on a PHP object
  • Mastering forms templating techniques with Twig
  • Managing file uploads

Extending Twig native API (Day 2)

  • Creating and registering new Twig extensions
  • Adding new Twig global functions
  • Adding new Twig filters

Improving performances with HTTP caching (Day 2)

  • Introducing expiration and validation models
  • Caching contents on the web browser (client side)
  • Caching contents in a reverse proxy cache (server side)
  • Handling Edge Side Includes (ESI)

Managing authentication & authorization (Day 2)

  • Understanding the security layer
  • Authenticating users againsts a configuration file or a database
  • Designing basic HTTP authentication and a web form authentication
  • Restricting access to a resource depending on roles or fine grained permissions

Persisting data to a database (Day 2)

  • Designing a data model
  • Understanding Active Record and Data Mapper design patterns
  • Using an ORM library (Doctrine or Propel)

Hugo Hamon


Hugo Hamon is a PHP and Symfony certified developer. He worked nine years for SensioLabs, the creators of Symfony, as a Web developer, head of training and software architect. He joined Dayuse.com as a backend lead developer between 2018 and 2020. He's now a full time freelance PHP consultant at his own company KODERO.

Read More

Présenté par

Commandité par