Web Development with Symfony3 Training Course

Primary tabs

Course CodeCourse Code

symfony3webdev

Duration Duration

28 hours (usually 4 days including breaks)

Requirements Requirements

  • Knowledge of Object Oriented Programming concept
  • Knowledge of PHP
  • Basic knowledge of any MVC/MVP framework

Course OutlineCourse Outline

Object Oriented Programming

  • Classes and objects
  • Properties and methods
  • Constructor and destructor methods
  • Class inheritance
  • Attributes and methods scopes (visibility)
  • Error handling with exceptions
  • Namespaces

Introducing the Symfony famework

  • Introducing the Symfony framework and its ecosystem
  • Installing the Symfony « Standard Edition Distribution »
  • Discovering the Symfony project architecture (application, bundles, libraries, bundles etc.)
  • Understanding the HTTP request processing workflow
  • Understanding the concept of environment (development, production and testing)
  • Introducing the coding and files naming conventions
  • Discovering the concept of a « Bundle »

Debugging the Code

  • Getting help from the « Web Debug Toolbar »
  • Introspecting the recorded logs
  • Profiling HTTP requests thanks to the « Web Profiler » application
  • Spotting problems thanks to explicit errors and exceptions stack traces
  • Using the Debug and VarDumper components features

Configuring the application

  • Comparing the supported built-in configuration format: XML, YAML and PHP
  • Configuring the application thanks to global parameters
  • Configuration application’s routes and URLs with annotations
  • Overriding the configuration defined by a built-in or third-party « bundle »

Generating Contents for the End User

  • Introducing the Twig templates engine
  • Comparing Twig and raw PHP templating strategies
  • Accessing global variables from Twig templates (request, session, user)
  • Using tags, filters and function to generate and format contents in a Twig template
  • Making templates truly extensible thanks to the template inheritance feature
  • Splitting templates into smaller templates chunks to avoid code duplications
  • Rendering a Symfony controller from within a Twig template
  • Generating URLs based on the application’s routes configuration
  • Rendering Symfony forms with custom Twig view helpers

Developping Controller and Analyzing the Request

  • Designing a controller class with its action methods
  • Mapping URL patterns to Symfony controllers thanks to annotations
  • Generating raw responses and Twig templates based responses
  • Accessing client’s information from the Request object
  • Reading and writing session data
  • Reading and writing cookies data
  • Triggering a 404 error page when the resource is not found
  • Triggering an internal redirect to another controller to avoid code duplications
  • Redirecting the user to another page

Interacting with the End User thanks to Forms

  • Discovering the « Form » component
  • Designing and processing simple web forms
  • Adding validation constraints on submitted form fields’ data
  • Prototyping the form rendering thanks to Twig view helpers
  • Gathering the form submitted data and processing them
  • Sending the form validated and filtered data by e-mail to some recipient

Internationalizing and Localizing the User Interface

  • Discovering the « Translation » component
  • Changing the default user’s locale
  • Defining custom abstract translation keys in Twig templates
  • Dealing with dynamic translations including pluralized sentences

Dependency Injection and Service Container

  • Understanding the dependency injection principle
  • Getting started with the Symfony service container
  • Listing all built-in Symfony services thanks to the command line tools
  • Registering new custom business services in the dependency injection container
  • Accessing a registered service from the service container
  • Creating and accessing global configuration parameters from the container

Contracting a Quality Insurance with Automated Tests

  • Discovering the PHPUnit tests automation framework
  • Understanding the goals of automating tests (unit and functional tests)
  • Configuring an automated tests suite
  • Designing and executing a unit tests suite
  • Designing and executing a functional tests suite
  • Generating code coverage reports

Interacting with the End User and Forms

  • Designing and processing web forms
  • Automating form rendering with Twig view helpers
  • Customizing form rendering with built-in and custom Twig form themes
  • Configuring form field types as services
  • Applying built-in validation constraint rules on submitted data
  • Applying custom validation constraint rules on submitted data
  • Contextualizing the data validation thanks to validation groups

Restricting Access to Secured Areas of the Application

  • Getting started with authentication and authorization principles
  • Securing some application’s pages thanks to a form based authentication strategy
  • Implementing the Security Guard sub component to handle authentication
  • Setting up an access control policy based on user’s roles
  • Testing user’s permissions from a controller and a Twig template
  • Registering custom authorization rules thanks to the security « voters »

Improving Application Performances with HTTP Caching and ESI

  • Getting started with the HTTP caching workflows
  • Discovering the different kind of cache systems
  • Comparing the expiration and validation cache strategies
  • Applying expiration and validation cache constraints to generated web pages
  • Caching page fragments thanks to the ESI technology (« Edge Side Includes »)
  • Installing and configuring the Symfony’s built-in reverse-proxy cache

Querying a Relational Database System with Doctrine

  • Discovering the basics of the Doctrine ORM
  • Understanding the concepts of « entities » and « repositories »
  • Automating PHP classes and SQL queries code generation with Doctrine
  • Persisting data to the database thanks to the Doctrine ORM entity manager
  • Fetching data back from the database thanks to Doctrine
  • Building and executing custom SQL queries thanks to the Doctrine Query Builder object

TestimonialsTestimonials

I like the Doctrine concept in Symfony taken by the trainer. The trainer is more energetic and make the sessions more interactive. I think it is a great capability of the trainer

Kumaran Chandran - U Software Systems India Pvt Ltd

I liked the trainer's communication & knowledge in Symfony 3 and associated technologies. He had taken enough effort to teach and demonstrate with some examples in the respective topics. I can say my symfony knowledge and confidence level is gone up after this training.

Hari Kumar - U Software Systems India Pvt Ltd

Industry hitting Technology

Sripal Sri - U Software Systems India Pvt Ltd

Abhinav did an excellent job! Within four days he covered all the important concepts that are used in REAL software development. I am so thankful have him as our trainer!

Vijay Joseph - U Software Systems India Pvt Ltd

the way of delivering speech

Bhaskar naidu Reddy - U Software Systems India Pvt Ltd

Bookings, Prices and EnquiriesBookings, Prices and Enquiries

Private Classroom
 
Private Classroom
Participants are from one organisation only. No external participants are allowed. Usually customised to a specific group, course topics are agreed between the client and the trainer.
Private Remote
From 1270EUR
Private Remote
The instructor and the participants are in two different physical locations and communicate via the Internet. More Information

The more delegates, the greater the savings per delegate. Table reflects price per delegate and is used for illustration purposes only, actual prices may differ.

Number of Delegates Private Remote
1 1270EUR
2 735EUR
3 557EUR
4 468EUR
Public Classroom
From 4070EUR
Request
Public Classroom
Participants from multiple organisations. Topics usually cannot be customised

The more delegates, the greater the savings per delegate. Table reflects price per delegate and is used for illustration purposes only, actual prices may differ.

Number of Delegates Public Classroom
1 4070EUR
2 2185EUR
3 1557EUR
4 1243EUR
Cannot find a suitable date? Choose Your Course Date >>
Too expensive? Suggest your price

Related Categories

Related Courses

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients