I've been trying to call `Entity Manager` in a constructor:

```
function __construct()
{
    $this->getDoctrine()->getEntityManager();
    ...

```

but, as I've seen in this answer: [Stackoverflow question](https://stackoverflow.com/questions/10480299/call-to-a-member-function-has-on-a-non-object-from-symfony-2-controller), it can't be done.

So I wonder if there is a way to achieve it, as I have to call it often, and want to do some stuff in the constructor after getting the repository. 

**Edit:**

I've tried with @MKhalidJunaid answer:

```
//src/MSD/HomeBundle/Resources/config/services.yml
services:
  imageTransController.custom.service:
    class:  MSD\HomeBundle\Controller\ImageTransController
    arguments: 
        EntityManager: "@doctrine.orm.entity_manager"

```

-

```
//app/config/config.php
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: doctrine_extensions.yml }
- { resource: "@MSDHomeBundle/Resources/config/services.yml" }

```

-

```
//src/MSD/HomeBundle/Controller/ImageTransController.php
namespace MSD\HomeBundle\Controller;

use Doctrine\ORM\EntityManager;
use MSD\HomeBundle\Entity\Imagen as Imagen;
use MSD\HomeBundle\Controller\HomeController as HomeController;

class ImageTransController extends HomeController
{
    protected $em ;

    function __construct(EntityManager $entityManager)
    {
    ...

```

but I'm getting this error:

```
Catchable Fatal Error: Catchable Fatal Error: Argument 1 passed to MSD\HomeBundle\Controller\ImageTransController::__construct() must be an instance of Doctrine\ORM\EntityManager, none given, called in /home/manolo/MiServer/itransformer/app/cache/dev/jms_diextra/controller_injectors/MSDHomeBundleControllerImageTransController.php on line 13 and defined in /home/manolo/MiServer/itransformer/src/MSD/HomeBundle/Controller/ImageTransController.php line 38 (500 Internal Server Error)

```

**New attempt:**

I've also tried with @praxmatig answer:

```
//services.yml
parameters:
 msd.controller.imagetrans.class: MSD\HomeBundle\Controller\ImageTransController

services:
  msd.imagetrans.controller:
    class:  "%msd.controller.imagetrans.class%"
    arguments: [ @doctrine.orm.entity_manager  ]

```

-

```
//ImageTransController.php
namespace MSD\HomeBundle\Controller;

 use Doctrine\ORM\EntityManager;

class ImageTransController 
 {
    protected $em ;

    function __construct(EntityManager $em)
    {
        $this->em = $em;
    }
     ...

```

-

```
//routing.yml
msd_home_cambiardimensiones:
    pattern: /cambiardimensiones
    defaults: { _controller: MSDHomeBundle:msd.imagetrans.controller:cambiardimensionesAction }

```

but I get this error:

```
 Unable to find controller &quot;MSDHomeBundle:msd.imagetrans.controller&quot; - class &quot;MSD\HomeBundle\Controller\msd.imagetrans.controllerController&quot; does not exist. (500 Internal Server Error)

```