TYPO3 6.1在服务类中使用存储库

时间:2013-06-11 12:03:15

标签: php repository typo3 typo3-flow typo3-6.1.x

我正在尝试实现一种身份验证服务,该服务根据ADLDS对用户进行身份验证。到现在为止还挺好。服务的实现和激活不是问题,但我需要服务中的存储库中的一些功能。

$usergroups = $this->adlds->getTypoGroups($this->login['uname']);
/** @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage */
$groupStorage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Persistence\\ObjectStorage');
$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$plFrontendUserRepository = $objectManager->get('PLE\\PlBase\\Domain\\Repository\\PlFrontendUserRepository');
$languageGroupRepository = $objectManager->get('PLE\\PlBase\\Domain\\Repository\\LanguageGroupRepository');
foreach ($usergroups as $groupname) {
     $groupStorage->attach($languageGroupRepository->findByGroupTitle($groupname));
}

当我尝试使用objectmanager实例化存储库时,我在第1203行的“\ Classes \ Persistence \ Generic \ Storage \ Typo3DbBackend.php”中的非对象上调用“成员函数versionOL()”

当我尝试使用时:

/**
 * languageGroupRepository
 * 
 * @var \PLE\PlBase\Domain\Repository\LanguageGroupRepository
 * @inject
 */
protected $languageGroupRepository;

/**
 * plFrontendUserRepository
 *
 * @var \PLE\PlBase\Domain\Repository\PlFrontendUserRepository
 * @inject
 */
protected $plFrontendUserRepository;

使用带有“$ this-> repository”的两个存储库我得到“在非对象上调用成员函数findByGroupTitle()”(它是存储库的功能)...因此注入失败。我甚至试图实现注入功能,但这根本不起作用。

有什么想法吗?

0 个答案:

没有答案