Learning by doing
Trainers with practical experience
Detailed course material
Clear content description
Tailormade content possible
Training that proceeds
In the course Symfony Framework Programming participants learn how to build modern PHP applications with the latest version of the state of the art Symfony Framework.
Symfony has evolved in recent years into one of the most popular PHP frameworks. This is due to the ease of use, the good performance, the dependency injection mechanism and directly deployable components.
In this course you will learn to install Symfony and prepare an environment for application development. Symfony's routing architecture is discussed, the handling of requests and the generation of responses.
Attention is paid to Twig templates en template inheritance.
Next the Doctrine Object Relational Mapping implementation is discussed. Using Doctrine PHP classes and their relations can be stored in the database.
Symfony offers many facilities for Forms and these are discussed extensively. Also the validation of forms is treated.
Attention is paid to service classes, the service architecture and the registration of services with the container.
The security facilities that Symfony has to offer, like authentication and authorization with the User Entity class are discussed as well.
Also part of the subject matter are advanced subjects like Symfony's kernel, hooking into the routing mechanism and the implementation of dependency injection.
Finally attention is paid to the creation of a Rest API with Symfony. At the end of the course you will have completed an extensive case study with Symfony and you are able to create robust Web applications with Symfony.
PHP developers who want to develop robust and maintainable Web Applications with the Symfony PHP Framework.
Experience with PHP Programming and object oriented development with PHP is required to participate in this course.
The theory is treated on the basis of presentation slides. The concepts are illustrated with demos. The theory is interspersed with exercises. The course times are from 9.30 to 16.30.
The participants receive an official certificate Symfony Framework Programming after successful completion of the course.
Module 1 : Symfony Intro
Module 2 : Bundles
Module 3 : Data Access
Controller and Route
How bright is the future?
Composer and Packagist
Installing Symfony via Composer
The road map
Checking the installation
Request and Response Life Cycle
Anatomy of a bundle
Generating a new bundle
Custom bundles versus AppBundle
Creating templates with TWIG
Defining and prioritizing features
Generating an entity
What is Object Relational Mapping
Inserting new Objects
Updating Table Schema
Module 4 : Caching in Symfony
Module 5 : Presentation Layer
Module 6 : Security in Symfony
Caching in Symfony
Definition of a cache
Caches in a Symfony project
Key players in the
Reverse proxy cache
Set expiration for dashboard page
ESI for selective caching
How templates are organize
Navigate or not to navigate
What is Bootstrap?
Rendering the menu
Changing the backend logo
Dashboard and Security
Security is organization
Module 7 : Testing
Module 8 : Forms and Validation
Module 9 : Rest API
TDD and BDD with Codeception
Creating a functional test
Developing the missing code
Creating the unit tests
Setting up the database
Recreating the database for test
Creating unit tests
Writing code to pass test
Running functional and unit tests
On the CI side of the story
Save and Redirect
What is REST?
REST Web Services
Simple REST Examples
REST Web Service Principles
Embedded Path Parameters
Common REST Patterns
Resources URI Access
All our courses are classroom courses in which the students are guided through the material on the basis of an experienced trainer with in-depth material knowledge. Theory is always interspersed with exercises.
We also do custom classes and then adjust the course content to your wishes. On request we will also discuss your practical cases.
The course times are from 9.30 to 16.30. But we are flexible in this. Sometimes people have to bring children to the daycare and other times are more convenient for them. In good consultation we can then agree on different course times.
We take care of the computers on which the course can be held. The software required for the course has already been installed on these computers. You do not have to bring a laptop to participate in the course. If you prefer to work on your own laptop, you can take it with you if you wish. The required software is then installed at the start of the course.
Our courses are generally given with Open Source software such as Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda and Netbeans. You will receive the digital course material to take home after the course.
The course includes lunch that we use in a restaurant within walking distance of the course room.
The courses are planned at various places in the country. A course takes place at a location if at least 3 people register for that location. If there are registrations for different locations, the course will take place at our main location, Houten which is just below Utrecht. A course at our main location also takes place with 2 registrations and regularly with 1 registration. And we also do courses at the customer’s location if they appreciate that.
At the end of each course, participants are requested to evaluate the course in terms of course content, course material, trainer and location. The evaluation form can be found at https://www.klantenvertellen.nl/reviews/1039545/spiraltrain?lang=en. The evaluations of previous participants and previous courses can also be found there.
The intellectual property rights of the published course content, also referred to as an information sheet, belong to SpiralTrain. It is not allowed to publish the course information, the information sheet, in written or digital form without the explicit permission of SpiralTrain. The course content is to be understood as the description of the course content in sentences as well as the division of the course into modules and topics in the modules.