-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
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 |
Why Symfony? Installing Symfony Console commands Namespaces Controller and Route How bright is the future? Installation 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 Best practices Custom bundles versus AppBundle Creating templates with TWIG Controller/View interaction Conditional templates Installing bundles Data fixtures Defining and prioritizing features |
Database configurations Generating an entity What is Object Relational Mapping Entity Classes Using doctrine Inserting new Objects Adding Columns Updating Table Schema Database Migrations Migrations Workflow Nullable Columns |
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 Expiration stategies Validation strategies Doctrine cache ESI for selective caching Sophisticated bundles |
Asset management How templates are organize Navigate or not to navigate What is Bootstrap? Bootstrap configuration Creating menus Rendering the menu Dashboard template Overriding templates Profile-related templates Changing the backend logo |
Authentication Authorization User Class Dashboard and Security Security is organization Authentication Authorization FOSUserBundle Security settings Adding FOSUserBundle Adding routes |
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 |
Form Input Filtering Validating Forms Creating Forms Save and Redirect Flash Messages Utilities Validators Decorators Sub Forms |
What is REST? Resource ID’s REST Web Services Simple REST Examples REST Web Service Principles Multiple Representations Embedded Path Parameters Common REST Patterns Resources URI Access JavaScript Object Notation (JSON) |
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.