> Symfony 5 >

Course Overview

Login to bookmark this course

Upgrading & What's New in Symfony 5!

Embrace the upgrade to Symfony 5! Dive into new features including auto-validation and a revised approach to password security.

  • 3260 students
  • EN Captions
  • EN Script
  • Certificate of Completion

Your Guides

About this course

What PHP libraries does this tutorial use?

// composer.json
{
    "require": {
        "php": "^7.3.0",
        "ext-iconv": "*",
        "antishov/doctrine-extensions-bundle": "^1.4", // v1.4.2
        "aws/aws-sdk-php": "^3.87", // 3.110.11
        "composer/package-versions-deprecated": "^1.11", // 1.11.99
        "doctrine/annotations": "^1.0", // 1.10.1
        "doctrine/doctrine-bundle": "^2.0", // 2.0.6
        "doctrine/doctrine-migrations-bundle": "^1.3|^2.0", // 2.1.2
        "doctrine/orm": "^2.5.11", // v2.7.2
        "doctrine/persistence": "^1.3.7", // 1.3.8
        "easycorp/easy-log-handler": "^1.0", // v1.0.9
        "http-interop/http-factory-guzzle": "^1.0", // 1.0.0
        "knplabs/knp-markdown-bundle": "^1.7", // 1.8.1
        "knplabs/knp-paginator-bundle": "^5.0", // v5.0.0
        "knplabs/knp-snappy-bundle": "^1.6", // v1.7.0
        "knplabs/knp-time-bundle": "^1.8", // v1.11.0
        "league/flysystem-aws-s3-v3": "^1.0", // 1.0.23
        "league/flysystem-cached-adapter": "^1.0", // 1.0.9
        "league/html-to-markdown": "^4.8", // 4.8.2
        "liip/imagine-bundle": "^2.1", // 2.3.0
        "nexylan/slack-bundle": "^2.1", // v2.2.1
        "oneup/flysystem-bundle": "^3.0", // 3.3.0
        "php-http/guzzle6-adapter": "^2.0", // v2.0.1
        "phpdocumentor/reflection-docblock": "^3.0|^4.0", // 4.3.4
        "sensio/framework-extra-bundle": "^5.1", // v5.5.3
        "symfony/asset": "5.0.*", // v5.0.2
        "symfony/console": "5.0.*", // v5.0.2
        "symfony/dotenv": "5.0.*", // v5.0.2
        "symfony/flex": "^1.0", // v1.21.6
        "symfony/form": "5.0.*", // v5.0.2
        "symfony/framework-bundle": "5.0.*", // v5.0.2
        "symfony/mailer": "5.0.*", // v5.0.2
        "symfony/messenger": "5.0.*", // v5.0.2
        "symfony/monolog-bundle": "^3.5", // v3.5.0
        "symfony/property-access": "4.4.*|5.0.*", // v5.0.2
        "symfony/property-info": "4.4.*|5.0.*", // v5.0.2
        "symfony/security-bundle": "5.0.*", // v5.0.2
        "symfony/sendgrid-mailer": "5.0.*", // v5.0.2
        "symfony/serializer": "4.4.*|5.0.*", // v5.0.2
        "symfony/twig-bundle": "5.0.*", // v5.0.2
        "symfony/validator": "5.0.*", // v5.0.2
        "symfony/webpack-encore-bundle": "^1.4", // v1.7.2
        "symfony/yaml": "5.0.*", // v5.0.2
        "twig/cssinliner-extra": "^2.12", // v2.12.0
        "twig/extensions": "^1.5", // v1.5.4
        "twig/extra-bundle": "^2.12|^3.0", // v3.0.1
        "twig/inky-extra": "^2.12", // v2.12.0
        "twig/twig": "^2.12|^3.0" // v2.14.4
    },
    "require-dev": {
        "doctrine/doctrine-fixtures-bundle": "^3.0", // 3.3.0
        "fzaninotto/faker": "^1.7", // v1.8.0
        "symfony/browser-kit": "5.0.*", // v5.0.2
        "symfony/debug-bundle": "5.0.*", // v5.0.2
        "symfony/maker-bundle": "^1.0", // v1.14.3
        "symfony/phpunit-bridge": "5.0.*", // v5.0.2
        "symfony/stopwatch": "4.4.*|5.0.*", // v5.0.2
        "symfony/var-dumper": "5.0.*", // v5.0.2
        "symfony/web-profiler-bundle": "4.4.*|5.0.*" // v5.0.2
    }
}

Symfony 5 is here! Newer & shinier... of course! But exactly what is new?

Symfony 5 builds on top of the shoulders of Symfony 4. It doesn't completely change any directory structures or add any ground-breaking new way of developing. But it does come with some key new features to make life easier. Let's upgrade... then try some of those out. We'll cover:

  • composer.json & extra.symfony.require
  • Upgrading to Symfony 4.4
  • New Flex commands for updating recipes
  • Updating all the most important recipes
  • Finding & Removing deprecations
  • Upgrading to Symfony 5
  • New secrets management
  • Auto-validation
  • The new PHP 7.4 "preload" file
  • Using "migrate_from" to migrate your hashed passwords for max security
  • bin/console lint:container

And these are just my favorite features (see Symfony.com 4.4/5.0 Features Blog for even more). Let's get to work!

Next courses in the Symfony 5: Learn More Tricks section of the Symfony 5 Track!

7 Comments

Sort By
Login or Register to join the conversation
Mike P. avatar Mike P. 4 years ago

Looking forward for this great course! Cant wait!

1 | Reply |
Alberto rafael P. avatar Alberto rafael P. 4 years ago

when??????

1 | Reply |

Hey Alberto,

This course is still on the planning stage, but we're working hard on it right now! Most probably we will start releasing it at the end of this year, or in the early January. Thank you for your patience and interest in our new screencasts!

Cheers!

| Reply |

Hi! I'm following this course along with my own application. I'm using friendsofsymfony/user-bundle. I see that the fos-userbundle doesn't support SF5. I want to make the switch from fos-user to the symfony/maker-bundle. BUT i can't find if it's possible to create an invitation for new users like the fos-userbundle does. My application is a "private" aplication and users can only register if they recieve an inviation from an existing user -> the new user has to use the inviationcode to fill in the registration form. Is there some tutorial available or do you have some starting point for me? Thanks in advance!

| Reply |

Hey lexhartman

Yea... the FOSUserBundle is falling behing and basically it's been replaced by MakerBundle + ResetPasswordBundle. What you could do is implement it yourself, it should not be that hard, you need to generate a random key for your links (something similar as the reset password functionality) and a route, when someone hits your "invitation" route, you check the key argument, and if it's valid, show the registration form.

I hope it helps. Cheers!

1 | Reply |

Thank you MolloKhan. Well, seems like i have to really do something myself, pfff... i thought i just could copy everyhting and didnt have to do anything myself. Just kidding off course. Actually it's always nice to make something. I just wanted to know that i didn't have to write something that's already "out there". Thanks for the starting point!

| Reply |

haha, I hope you enjoy the process :)
you can check how the ResetPasswordBundle generate those secure links to get an idea of what you have to do. Just remember, the token you generate will be bound to a user, so you can then look by that token in the database and get a user object back

Cheers!

| Reply |

Delete comment?

Share this comment

astronaut with balloons in space

"Houston: no signs of life"
Start the conversation!