我必须将复杂的RealURL配置更新为V9中的新站点配置。我收到404错误和不必要的重定向,因此我需要一些调试路由的方法。
在通过核心文件进行调试时,我意识到TYPO3使用Symfony路由,并且Symfony已经具有调试接口:https://symfony.com/doc/current/routing/debug.html 是否可以将其用于调试TYPO3路由?如果是,您能告诉我该怎么做吗?
如果没有,关于主要路由类/功能的一些提示将很有帮助,因此我可以为自己编写一些PHP调试输出。我的问题与routeEnhancers和方面有关。
答案 0 :(得分:0)
您能指出这里到底是什么问题吗?
由于Symfony Routing默认使用带有修饰符的静态路由(“我有100个URL端点列表”),而TYPO3具有动态路由(由数据库填充),因此Symfony Routing的简单调试工具在这里不起作用
在解决问题时,“ PageResolver” PSR-15中间件和“ PageRouter”是调试时的良好起点。
答案 1 :(得分:0)
我最近遇到了类似的问题。由于我的 config.yaml
中的“aspects”拼写错误,我的aspect 没有被应用。
我最终使用了调试器并在适当的方面类 (StaticValueMapper
) 中放置了一个断点,然后(因为未命中该断点)在 ApectsFactory::createAspects()
函数中放置了另一个。在那里,我注意到我的方面从未被创建。这最终导致发现错字。
我没有像 Benni 建议的那样查看 PageRouter
,下次可能会尝试。
在大多数情况下,只需调试就足够了,不需要编写额外的调试代码。我在主站点的副本上工作(这是因为没有在生产中启用任何调试支持)并且能够进行更改而不会产生丑陋的结果。
对于非开发人员或由于其他原因无法使用调试器或在开发站点上工作的人 - 这可能会更困难。在这种情况下,能够跟踪 URL 会很好,例如查看源和目标。
此外,能够验证 config.yaml
(基于架构,超越简单的语法检查)会很酷。但是,扩展程序可以扩展设置,因此这很可能不是一项微不足道的任务。