我目前正在开发一个TYPO3扩展,遇到了Composer自动加载器无法识别我的自定义类的问题。我的目标是使用Extbase获取数据并将其传递给Fluid模板。
我的扩展合成器看起来像这样
{
"name": "toumeh/mywebsite",
"description": "my Website",
"type": "typo3-cms-extension",
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "toumeh",
"email": "[email protected]"
}
],
"require": {
"typo3/cms-fluid-styled-content": "^12.4.0",
"ext-pdo": "*"
},
"autoload": {
"psr-4": {
"MyWebsite\\Classes\\": "Classes/"
}
},
"extra": {
"typo3/cms": {
"extension-key": "mywebsite"
}
}
}
字符串
我添加类到ext_localconf. php,所以我可以使用我的typoscript设置内的插件
use MyWebsite\Classes\Controller\MyWebsiteController;
use MyWebsite\Classes\Domain\PageRepository;
use TYPO3\CMS\Extbase\Utility\ExtensionUtility;
ExtensionUtility::configurePlugin(
MyWebsiteController::EXTENSION_NAME,
MyWebsiteController::PLUGIN_NAME,
[
MyWebsiteController::CONTROLLER_NAME => PageRepository::PAGES
]
);
型
我得到以下错误
类"MyWebsite\Classes\Controller\MyWebsiteController"未找到
在/var/www/t3coredev/packages/mywebsite/ext_localconf.php行11使用MyWebsite\Classes\Domain\PageRepository;使用TYPO3\CMS\Extbase\Utility\ExtensionUtility;
ExtensionUtility::configurePlugin(MyWebsiteController::EXTENSION_NAME,MyWebsiteController::PLUGIN_NAME,[MyWebsiteController::CONTROLLER_NAME => PageRepository::PAGES]
1.我正在运行撰写转储自动加载,但它没有工作
- exbase扩展位于我的根 composer "typo3/cms-extbase"中:"^12.4.0"
1.我很确定这不是权限问题。
这是我的项目结构enter image description here的snapchat
我使用的是typo3 composer版本12.4.8
有人能帮助我理解为什么我的类不被Composer的自动加载器识别,以及如何解决这个问题吗
2条答案
按热度按时间s71maibg1#
我认为这个路径是你的问题。TYPO 3使用了一些命名约定,我很确定你需要从这个路径中删除类部分。
字符串
试试吧!
8fq7wneg2#
感谢那些试图帮助我的人。在检查了所有内容后,我发现运行的composer dump-autoload不足以发现错误。在我使用composer update后,我在容器内部遇到了权限问题