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
| - | Date | Venue | Price | ||
|---|---|---|---|---|---|
|
Feb. 6 - Feb. 8 | Paris | 1490.00 € | Register | |
|
|||||
|
May. 2 - May. 4 | Paris | 1490.00 € | Register | |
|
|||||
|
Nov. 5 - Nov. 7 | Paris | 1490.00 € | Register | |
|
|||||
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 PDFFrom 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
Reference code
SF1C1
Price
Starts at 1490.00 € (ex. tax)
Audience
Beginners, developers
Duration
3 days
Training type
Workshop
Topics
Configuration, MVC, Sessions, Doctrine, Templating
Pre-requisites
OOP, PHP5
For further information
+33 140 998 205
We remain at your disposal for further information.


