我正在尝试实现一个身份验证服务,该服务根据 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()”(它是存储库的函数)......所以注入失败。我什至尝试实现注入功能,但这根本不起作用。
有任何想法吗?