我尝试在另一个窗口中打开一个extbase视图。为此,我将函数称为\typo3\sysext\extbase\Classes\Mvc\Controller\AbstractController->redirect()。但由于abstract class AbstractController implements ControllerInterface的原因,它失败了。它找不到ControllerInterface。它在文件夹中,但该文件夹不包含在路径get_include_path()中。有没有办法在不更改TYPO3文件的情况下解决这个问题?
发布于 2018-02-04 09:09:33
从表面上看,这看起来像一个典型的类加载问题,所以我将描述那里的陷阱,以防有人来搜索该类型的错误并发现这篇文章。
如果通过composer安装了TYPO3,请确保从外部文件加载composer自动加载文件。编写器路径不会出现在PHP包含路径中,并且除了编写器自动加载文件之外,您永远不需要包含任何其他文件。
如果您没有通过composer安装,则需要在TYPO3上下文中运行脚本。只有到那时,类加载才能正常工作。
在配置、数据库和请求处理上有如此多的依赖。我强烈建议不要尝试这样做。
即使生成指向控制器操作的链接,也需要计算请求散列,而请求散列又需要访问TYPO3配置和数据库。因此,您所尝试的一切很可能是不可能的-您需要在TYPO3上下文中完成它。
https://stackoverflow.com/questions/48583991
复制相似问题