如何在TYPO3中自动加载挂钩?
我在ext_localconf.php
注册,但它没有自动加载(除非我在同一个文件中包含它,这当然是一个非常难看的解决方案)。
我查看了其他扩展,但我找不到,需要挂钩的地方。
它不应该在ext_emconf中自动加载吗?
'autoload' => [
'psr-4' => [
'ID\\IndexedSearchAutocomplete\\' => 'Classes'
],
],
但是当我不使用我丑陋的解决方案时,我会收到错误,即GeneralUtility :: makeInstance无法找到我的文件。
答案 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"
}
}
并加载您的课程。