如何在symfony2服务中使用多个参数

时间:2018-08-26 14:54:07

标签: php symfony symfony-2.8

这是我的服务文件代码

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 :(得分:0)

您在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保持为最小。这将对性能产生影响。

希望这会有所帮助。谢谢。