Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering Symfony

You're reading from   Mastering Symfony Orchestrate the designing, development, testing, and deployment of web applications with Symfony

Arrow left icon
Product type Paperback
Published in Apr 2016
Publisher
ISBN-13 9781784390310
Length 290 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Toc

Table of Contents (14) Chapters Close

Preface 1. Installing and Configuring Symfony FREE CHAPTER 2. The Request and Response Life Cycle 3. Setting Up the Environment 4. Using Behavior-Driven Development in Symfony 5. Business Logic 6. Dashboard and Security 7. The Presentation Layer 8. Project Review 9. Services and Service Containers 10. Custom User Commands 11. More about Dev, Test and Prod Environments 12. Caching in Symfony Index

Why is it called a Dependency Injection Container?


You may have noticed that I used Service Container and Dependency Injection Container interchangeably. Based on what we have seen so far, the term Service Container makes sense: we have a couple of services and there is a container that manages them. Right?

However, what does it mean when we say Dependency Injection Container? Who injects what in this definition?

Look at the constructor in the Mava.php class again:

class Mava
{
    private $em;
    public function __construct(EntityManager $em)
    {
        $this->em = $em;
    }
    // ...
}

As you can see, we defined and initialized an EntityManager variable in its constructor and, if you look at the arguments for mava_util in services.yml, you will notice that it is actually a doctrine service called entity_manager:

   mava_util:
      class: AppBundle\Util\Mava
      arguments: ['@doctrine.orm.entity_manager']

So basically, we have injected an entity_manager dependency into our mava_util...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image