TYPO3 8.X - 自动加载钩

时间:2017-09-03 14:19:03

标签: typo3 typo3-extensions typo3-8.x

如何在TYPO3中自动加载挂钩?

我在ext_localconf.php注册,但它没有自动加载(除非我在同一个文件中包含它,这当然是一个非常难看的解决方案)。 我查看了其他扩展,但我找不到,需要挂钩的地方。 它不应该在ext_emconf中自动加载吗?

'autoload' => [
    'psr-4' => [
        'ID\\IndexedSearchAutocomplete\\' => 'Classes'
    ],
],

但是当我不使用我丑陋的解决方案时,我会收到错误,即GeneralUtility :: makeInstance无法找到我的文件。

2 个答案:

答案 0 :(得分:1)

这有帮助吗? http://insight.helhum.io/post/130876393595/how-to-configure-class-loading-for-extensions-in

本文介绍了有关类加载的选项。

您可能想要检查您的班级是否符合psr-4标准:http://www.php-fig.org/psr/psr-4/

答案 1 :(得分:0)

我假设你在项目中使用作曲家。 Composer完成整个类的自动加载。它“知道”作曲家所需的所有类别的扩展(列在require的{​​{1}}部分中)。

当然,您可以为项目添加扩展,而无需使用composer来处理它们。我想,这就是你在这里所做的。在这种情况下,您必须告诉作曲家您的composer.json中的课程。

添加composer.json部分:

autoload

当然你的FQCN必须匹配你的Classes文件夹上面的路径(这就是psr-4的意思)。

之后,您可以输入"autoload": { "psr-4": { "ID\\IndexedSearchAutocomplete\\": "web/typo3conf/ext/indexed_search_autocomplete/Classes" } } 并加载您的课程。