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

  1. Quick Tour

    1. History

    2. Install

    3. Architecture

  2. Fundamentals

    1. Routing

    2. Controller

    3. PDO connection

    4. Parameters

    5. Twig

      1. Display a simple template

      2. CSS

      3. Inheritance

  3. Services

    1. Introduction

    2. Dependency Injection

    3. Service definition

    4. Autowiring

  4. Forms

    1. Installation

    2. Form Types

    3. Building Forms

    4. Rendering Forms

    5. Validating Forms

  5. Doctrine

    1. Install

    2. Creating an entity class

    3. Mapping

    4. Migration

    5. Persisting Object to the database

    6. Update an object

    7. Delete an object

    8. Relations / Associations

    9. Querying an object

  6. Security

    1. The User

    2. The Firewall

    3. Authenticating Users

    4. Logging out

    5. Fetch the current user

    6. Access control

They recommend our trainings