从资源文件夹访问存储库

时间:2015-12-10 10:23:09

标签: typo3 extbase

我有一个Typo3扩展(Typo3 CMS 6.2),我想从位于/ Resource / PHP /中的PHP文件访问存储库globalSettingsRepository

尽管我清除了缓存,依赖注入仍不起作用:

/**
 * globalSettingsRepository
 *
 * @var \TYPO3\Institutsvideoverwaltung\Domain\Repository\GlobalSettingsRepository
 * @inject
 */
public $globalSettingsRepository = NULL;

PHP的命名空间与我的控制器相同。

我还尝试过这个来创建globalSettingsRepository的实例:

$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');

这不起作用,因为找不到/ TYPO3 / CMS / ....

有没有人有解决方案?有没有办法从/ Resources?

访问存储库

非常感谢。

1 个答案:

答案 0 :(得分:0)

您的扩展程序中应该修复一些问题。

首先,您不应使用"require": { "namespace/libname": "@dev" }作为扩展程序的供应商。这仅适用于核心和官方扩展。

其次,你必须遵守惯例。

TYPO3

这意味着您必须在以下路径中有一个名为\TYPO3\Institutsvideoverwaltung\Domain\Repository\GlobalSettingsRepository 的班级:\TYPO3\Institutsvideoverwaltung\Domain\Repository\GlobalSettingsRepository

似乎你没有把它放在/typo3conf/ext/institutsvideoverwaltung/Classes/Domain/Repository/GlobalSettingsRepository.php中。

如果您想使用Resources/PHP中的某个类,则需要使用Resources/PHP手动包含该类,或者需要确保您的类正确自动加载。自动加载的要求已从版本6更改为7,因此您需要说明您正在使用的版本。尽管如此,打破常规然后付出很多努力是有道理的。有一种简单的方法。