Как использовать несколько аргументов в сервисе symfony2 - PullRequest
0 голосов
/ 26 августа 2018

Это код моего сервисного файла

adminusercheck.commonFunc:
        class:        adminBundle\Helpers\CommonFunctions
        #arguments: ["@session"]        

        arguments:
            - @doctrine.orm.entity_manager
            - @session

Это код моего сервисного класса

use Doctrine\ORM\EntityManager;
class CommonFunctions{

    private $session;
    protected $em;

    public function __construct(Session $session, EntityManager $em)
    {
        $this->session = $session;
         $this->em = $em;
    }

1 Ответ

0 голосов
/ 09 октября 2018

Ваш порядок аргументов в constructor не совпадает с тем, что находится внутри файла служб.

Следующее,

public function __construct(Session $session, EntityManager $em)

Должно быть,

public function __construct(EntityManager $em, Session $session)

Важно отметить, что важен порядок аргументов.

https://symfony.com/doc/2.8/components/dependency_injection.html

На отдельной ноте постарайтесь свести DI к минимуму.Это повлияет на производительность.

Надеюсь, это поможет.Спасибо.

...