Symfony 3.3: Upgrade, Autowiring & Autoconfigure

1:03:27

What you'll be learning

// composer.json
{
    "require": {
        "php": ">=5.5.9",
        "symfony/symfony": "3.3.0-RC1", // v3.3.0-RC1
        "doctrine/orm": "^2.5", // v2.7.2
        "doctrine/doctrine-bundle": "^1.6", // 1.6.8
        "doctrine/doctrine-cache-bundle": "^1.2", // 1.3.0
        "symfony/swiftmailer-bundle": "^2.3", // v2.6.2
        "symfony/monolog-bundle": "^3.1", // v3.1.0
        "symfony/polyfill-apcu": "^1.0", // v1.3.0
        "sensio/distribution-bundle": "^5.0", // v5.0.22
        "sensio/framework-extra-bundle": "^3.0.2", // v3.0.26
        "incenteev/composer-parameter-handler": "^2.0", // v2.1.2
        "knplabs/knp-markdown-bundle": "^1.4", // 1.5.1
        "doctrine/doctrine-migrations-bundle": "^1.1", // v1.2.1
        "stof/doctrine-extensions-bundle": "^1.2" // v1.2.2
    },
    "require-dev": {
        "sensio/generator-bundle": "^3.0", // v3.1.4
        "symfony/phpunit-bridge": "^3.0", // v3.2.8
        "nelmio/alice": "^2.1", // v2.3.1
        "doctrine/doctrine-fixtures-bundle": "^2.3" // 2.3.0
    }
}

Symfony 3.3 comes with some FRESH new dependency injection changes! Yes, autowiring, autoconfigure, auto-registration of services! Autobots, roll out! In this tutorial, we will:

  • Upgrade to Symfony 3.3
  • Learn about the new _defaults keyword
  • Update service ids to be class names
  • Discuss public versus private services
  • Upgrade to the new services.yml format without breaking our project
  • Auto-register all classes in src/AppBundle as services (what!?)
  • Handling classes that have multiple services registered
  • Understanding autowiring and aliases
  • Using named arguments when autowiring fails

Say hello to the bigger, faster, strong way of service configuration!


Your Guides

Ryan Weaver

Buy Access

Questions? Conversation?