SF2C7 | Mastering OOP with PHP and the Symfony2 Components

  • This five days training course is the best starting point for all PHP developers who wish to get the object oriented programming approach with PHP and learn how to build web applications with robust and proven standalone software modules. This is also the ideal training course for PHP developers who would like to get ready to work with famous object oriented frameworks like Drupal 8, Silex, Symfony, Zend Framework, Laravel... This training course will enable you to get to the next level with PHP and object oriented programming. During these five days, you will discover how to benefit from the famous Symfony components to build powerful web applications.
  • Prerequisites

    Good knowledge of the PHP language basics
  • Goals

    This training course is targeted to PHP developers who wish to get all the required basics and best practices in object oriented development. This is also the ideal training course to learn how to build professional and robust web applications thanks to the standalone and reusable set of Symfony components. This course also enables you to get ready to develop on top of popular frameworks and CMS’ like Drupal 8, Silex or Laravel. In five days only, learn all the basics of the PHP object oriented design approach with our expert trainers from the field, and take the main Symfony components into your hands to build robust and modern PHP web applications.

Full program

Introduction to Object Oriented Programming

  • Introduction to OOP concepts
  • Pros of the OOP concepts
  • Main principles and implémentations
  • New features since PHP 5.3

The Basics of Object Oriented Programming

  • Classes
  • Objects
  • Propriétés
  • Methods
  • Constructor
  • Destructor
  • Scopes (public, private et protected)
  • Reference assignation
  • Single inheritance principle
  • Argument typing
    • Advanced Object Oriented Programming

      • Abstract classes and methods
      • Final classes and methods
      • Magic methods
      • Overriding and overloading methods
      • Exceptions
      • Interfaces
      • Static properties and methods
      • Class autoloading
      • Object cloning
      • Virtual methods calls
      • Object serialization and unserialization
      • Namespaces

      Object Oriented Programming Best Practices

      • PHPDoc and annotations
      • Introduction to dependency injection
      • Unit testing with PHPUnit

      HTTP, Composer and Symfony

      • HTTP protocol and client / serveur interactions
      • Industrialising PHP (PSRs, coding conventions, coding styles)
      • Introduction to the Symfony framework
      • The Symfony community
      • The Symfony components
      • Introduction to Composer
      • Installing the Symfony components with Composer

      The HttpFoundation Component

      • The Request object
      • The Response object
      • The Session object
      • The Cookie object
      • Reading the request parameters
      • Generating and modifying the response
      • Sending the response to the client
      • Dealing with the user's session
      • Triggering HTTP redirects

      The Routing Component

      • Introduction to routing
      • The Router object
      • The RouteCollection object
      • The Route object
      • Configuring routes in the router
      • Matching routes with the router
      • Generating urls based on the routing configuration
      • Mapping parameters with a route
      • Constrainting urls parameters with requirements

      The HttpKernel Component

      • The HttpKernelInterface interface
      • The HttpKernel object
      • The ControllerResolver object
      • Creating an application kernel
      • Converting the request into a response
      • Matching the current request
      • Executing a controller
      • Generating a response
      • Handling 404 error pages
      • Handling 500 error pages

      The EventDispatcher Component

      • Introduction to the Observer design pattern
      • The EventDispatcher object
      • Dispatching events in the application
      • Connecting listeners to dispatched events
      • Extending the application with the event dispatcher
      • Using events and listeners to filter the request and the response

      The DependencyInjection Component

      • Introduction to dependency injection
      • The service container object
      • Configuring the service container
      • Registering services into the container
      • Requesting a service to the container
      • Storing global configuration parameters in the container

      Introduction to the Twig template engine

      • Installing Twig with Composer
      • Rendering a template with Twig
      • Passing variables to the Twig template
      • Using template inheritance to avoid code duplications
      • Filters, functions, macros, operators, testers and tags
      • Variables management with the dot notation
      • Creating Twig extensions

Time program

Day 1

Appreciation of the training

Global average :

  1. Educational rating : N.C
  2. Content rating : N.C
  3. Pace rating : N.C
  • Duration

    5 day(s)
  • Level

    Beginner
  • Available languages

    French
  • Available countries

    France
From €2,490.00
No session scheduled

No session is scheduled for this course. However we organize tailored training courses: contact us for more informations!