1
# Sonata\MediaBundle/Resources/config/admin.yml
services:
    sonata.admin.post:
        class: Sonata\MediaBundle\Admin\MediaAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: "Content", label: "Post" }
        arguments:
            - ~
            - Sonata\MediaBundle\Entity\Media
            - ~
            - Sonata\MediaBundle\Provider\Pool //??????????????
        calls:
            - [ setTranslationDomain, [Sonata\MediaBundle]]

このサービスが実行されると、エラーが発生します:

Catchable Fatal Error: Argument 4 passed to Sonata\MediaBundle\Admin\BaseMediaAdmin::__construct() must be an instance of Sonata\MediaBundle\Provider\Pool, none given, called in C:\server\fs\app\cache\dev\appDevDebugProjectContainer.php on line 1535 and defined in C:\server\fs\vendor\bundles\Sonata\MediaBundle\Admin\BaseMediaAdmin.php line 34

4 つの引数がオブジェクトではなく文字列であるためです。

/**
 * @param string                            $code
 * @param string                            $class
 * @param string                            $baseControllerName
 * @param \Sonata\MediaBundle\Provider\Pool $pool
 */
public function __construct($code, $class, $baseControllerName, Pool $pool)
{
    parent::__construct($code, $class, $baseControllerName);

    $this->pool = $pool;
}

このサービスでオブジェクトを渡すにはどうすればよいですか?

4

1 に答える 1