Onsite training

Bring our trainers team onsite to train your employees.

Learn more


Symfony

Mastering Symfony & Doctrine

Learn about the web PHP framework with experts


To discover and begin with the Symfony framework, you will program some real examples. You will discover all technical and functional aspects of the framework.

Coming sessions


Infos Date Language Venue Price  
Infos 22-Sep 24, 2010 French Paris 1400.00 € Register
  • This session will take place from September 22, 2010 at 9:00 AM to September 24, 2010 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

Infos 20-Oct 22, 2010 French Paris 1400.00 € Register
  • This session will take place from October 20, 2010 at 9:00 AM to October 22, 2010 at 5:00 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

Infos 24-Nov 26, 2010 French Paris 1400.00 € Register
  • This session will take place from November 24, 2010 at 9:00 AM to November 26, 2010 at 5:30 PM (Europe/Paris) and it will be hosted by Hugo Hamon.

Infos 01-Dec 3, 2010 English Paris 1400.00 € Register
  • This session will take place from December 1, 2010 at 9:00 AM to December 3, 2010 at 5:30 PM (Europe/Paris) and it will be hosted by Gilles Taupenas.

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


Goals


  • Take the Symfony PHP framework into your hands through concrete examples, and develop a full web application, which allows you to discover the main web development techniques: MVC, templating, authentification, and much more...

Program

Download the program as PDF

From a « flat » PHP file to MVC design architecture

  • Understanding the layers architecture
  • Understanding the MVC pattern theory
  • Moving the business logic into separated classes
  • Using the alternative PHP syntax to generate templates
  • Splitting the projet in several levels : application, modules and actions
  • Browsing into the symfony project's files
  • Using a decorator to share the repeated view's elements
  • Creating links thanks to helpers
  • Managing a navigation bar

Templating with symfony

  • Reading request's parameters and passing them to the view
  • Exploiting helpers to generate reusable templates
  • Building modular templates with partials and slots
  • Managing the webdesign appreance thanks to the layout
  • Exploiting CSS
  • Building a reusable component to share with several modules
  • Exploring symfony's available helpers (text, number, date)
  • Using the view.yml file and response's methods to modify the view
  • Templating best practices

Framework installation

  • Installing symfony from a sandbox, PEAR or SVN
  • Understanding the symfony's SVN repository organization
  • Bootstrapping a project and module
  • Bootstrapping a version control management
  • Upgrading symfony
  • Installing symfony on a production server

Symfony developpment environment

  • Using the symfony's command line tools
  • Using several developpment environments
  • Understanding how a request is performed thanks to the webdebug toolbar
  • Understanding the cascading configuration principle
  • Learning the YAML syntax
  • Understanding the configuration's caching and the symfony's cache:clear task
  • Exploring configuration files (settings.yml, app.yml, projectConfiguration.class.php)
  • Debugging a symfony application (traces, log_message)
  • Installing plugins : pros and cons

Routing and HTTP Protocol

  • Understanding what is an URL
  • Distinguishing the difference between a GET and a POST request
  • Using Apache and its URL rewriting module for incoming requests
  • Understanding the bidirectionnal routing
  • Writing a routing.yml file (order, tokens, default values, requirements...)
  • Distinguishing a redirect and a forward statement
  • Adding a custom extension to a page
  • Using the name routing rules
  • Using the routing to generate a navigation tree

Best practices

  • Security: saving the application from XSS and CSRF attacks
  • Refactoring the code and benefit from the ORM power
  • Exploiting the command line and tasks
  • Respecting coding conventions

Object Relational Mapping Abstraction

  • Describing the database schema with a YAML syntax for Doctrine
  • Configuring symfony to use Doctrine
  • Connecting an application to a database (databases.yml)
  • Manipulating business objects
  • Generating a model object thanks to Doctrine
  • Abstracting SQL queries in order to switch to an another database
  • Writing DQL (Doctrine Query Language) queries
  • Using the Doctrine generated classes (accessors, mutators, magic methods)
  • Using DQL to manage objects' relations
  • Refactoring the action code into the model

Admin Generator

  • Generating and bootstraping a module
  • Understanding the difference between a scaffolding and an administration
  • Bootstrapping an administration interface
  • Exploring the generated code
  • Using the generator.yml file to edit the generated code
  • Editing the list view (displayed fields, pagination, filters, tooltips, actions, virtual columns)
  • Editing the edit view (admin tags, actions)
  • Using themes

ACL, credentials and sessions

  • Managing alert and error messages (flashes)
  • Storing data in the user's session and access to the values
  • Managing users authentification
  • Disconnecting a user
  • Testing the credentials
  • Setup the ACLs thanks to the credentials system

Sending e-mails

  • Discovering Swift Mailer
  • Sending e-mails from your application
  • Understanding how the queue works

Automated tests

  • Validating a piece of code thanks to a unit test
  • Using Lime and the symfony command line to launch tests
  • Feeding a test database with fixtures
  • Validating a feature with a functional test
  • Using the sfTestBrowser object to simulate a navigation between pages
  • Check if an un element exists in the page thanks to the DOM CSS selectors
  • Automating tests

Session details


Price

Starts at 1200.00 €

Audience

Beginners, developers

Duration

3 days

Training type

Workshop

Topics

Configuration, MVC, Sessions, Doctrine, Templating

Pre-requisites

OOP, PHP5


For further information

+33 1 40 99 81 09

We remain at your disposal for further information.
Contact us