Flag of Ukraine
SymfonyCasts stands united with the people of Ukraine

Upgrading & What's New in Symfony 5!

3:14:24

What you'll be learning

// 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/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
        "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.17.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/security-bundle": "5.0.*", // v5.0.2
        "symfony/sendgrid-mailer": "5.0.*", // v5.0.2
        "symfony/serializer-pack": "^1.0", // v1.0.2
        "symfony/twig-bundle": "5.0.*", // v5.0.2
        "symfony/twig-pack": "^1.0", // v1.0.0
        "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/inky-extra": "^2.12" // v2.12.0
    },
    "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/profiler-pack": "^1.0", // v1.0.4
        "symfony/var-dumper": "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!


Your Guides

Ryan Weaver

Buy Access

Join the Conversation?

7
Login or Register to join the conversation
Mike P. Avatar
Mike P. Avatar Mike P. | posted 3 years ago

Looking forward for this great course! Cant wait!

1 Reply
Alberto rafael P. Avatar
Alberto rafael P. Avatar Alberto rafael P. | posted 3 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
Cat in space

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

userVoice