Symfony2服务为什么注入param是字符串



嗨,我创建了一个服务,当我尝试使用它时,我会有一个错误 ContextErrorException: Catchable Fatal Error: Argument 1 passed to ProjectMyDriveBundleStorageLocalAdapter::__construct() must be an instance of ProjectMainBundleManagerUserManager, string given, called in E:wampwwwprojectsrcProjectMyDriveBundleStorageLocalAdapter.php on line 41 and defined in E:wampwwwprojectsrcProjectMyDriveBundleStorageLocalAdapter.php line 38

为什么?这是我的服务:

/**
 * @Service("local_adapter")
 */
class LocalAdapter
{
    /**
     * @var Filesystem
     */
    private $filesytem;
    /**
     * @var Adapter
     */
    private $adapter;
    /**
     * @var UserManager
     */
    protected $userManager;
    /**
     * @InjectParams({
     *      "userManager" = @Inject("manager.user")
     * })
     */
    public function __construct(UserManager $userManager)
    {
        $this->userManager = $userManager;
        $this->adapter = new LocalAdapter('/' . $this->userManager->getUsername() . '/');
        $this->filesytem = new Filesystem($this->adapter);
    }
    public function getFilesytem()
    {
        return $this->filesytem;
    }
}

尝试使用此内容在页面顶部:

use JMSDiExtraBundleAnnotationInject;
use JMSDiExtraBundleAnnotationInjectParams;
use JMSDiExtraBundleAnnotationService;
/**
 * @Service("local_adapter")
 */
class LocalAdapter
{
    // other your code

最新更新