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
- 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
- PHPDoc and annotations
- Introduction to dependency injection
- Unit testing with PHPUnit
- 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
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
- 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
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
- 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
- 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
- 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
Advanced Object Oriented Programming
Object Oriented Programming Best Practices
HTTP, Composer and Symfony
The HttpFoundation Component
The Routing Component
The HttpKernel Component
The EventDispatcher Component
The DependencyInjection Component
Introduction to the Twig template engine
Time program
Day 1
Appreciation of the training
Global average :
- Educational rating : N.C
- Content rating : N.C
- Pace rating : N.C
We also recommend the following courses
-
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!