Symfony Beginner
Good to know
Training goal
This training will teach the participants the basic mechanisms of the Symfony PHP framework.
Detailed contents
The training is regularly updated to be consistent with the latest Symfony evolutions.
The training material is a web application project that will be developed by each participant. Hands-on work takes place throughout the training, so that participants progressively learn how to correct their mistakes.
The emphasis is on good practices.
Course materials provided
The trainer will distribute the training materials in electronic format at the end of the training.
In addition, the work done during these 3 days will result in the creation of a step-by-step versioned web application. Each participant is invited to keep on their machine the code of the training project, which they will have written themselves with the help of the trainer, because this code can be used as a technical base for future projects.
Prerequisites
In order to fully benefit from the training, participants must have previous professional experience in the following areas :
- object-oriented PHP development
- use of a relational database
Participants should have a computer with a LAMP environment, including preferably the following elements :
- An internet connection allowing the installation of PHP extensions and packages from packagist and working with ease (if the training is held outside our premises)
- An IDE they master (PHPStorm, SublimeText, VSCode, ...)
- A UNIX shell
- A currently supported version of PHP (https://www.php.net/supported-versions.php)
- Git installed (useful for composer dependencies)
- One MySql/MariaDB server per person
- Administrator rights on the machine
It is recommended for the participants to use a text editor they are comfortable with, so that they can focus on the training. Installing Symfony before the training is not necessary, participants will install it with the trainer during the training.
If the training is held in the Client's premises, we require for the Client to provide a separate room for the training to take place, big enough to accommodate all participants and the trainer, for the whole duration of the training. A video projector or wide screen TV must be provided so that the participants can see the trainer's laptop computer screen. A paperboard or whiteboard, and Internet access would be appreciated.
Training course
Quick Tour
History
Install
Architecture
Fundamentals
Routing
Controller
PDO connection
Parameters
Twig
Display a simple template
CSS
Inheritance
Services
Introduction
Dependency Injection
Service definition
Autowiring
Forms
Installation
Form Types
Building Forms
Rendering Forms
Validating Forms
Doctrine
Install
Creating an entity class
Mapping
Migration
Persisting Object to the database
Update an object
Delete an object
Relations / Associations
Querying an object
Security
The User
The Firewall
Authenticating Users
Logging out
Fetch the current user
Access control