如何枚举Catalyst应用程序中的所有端点?

问题描述 投票:1回答:1

我有一个大型的Catalyst应用程序,并希望得到它支持的所有端点的列表(如果它可以告诉我是否请求方法的奖励积分)。有没有简单的方法让Catalyst列出它们?

perl catalyst
1个回答
0
投票

Catalyst不知道完整的路径集。真正的调度路径是动态解析的,迭代通过DispatchType类,直到一个响应match的调用。

调试选项会对控制器允许的所有可能性进行一次性枚举。如果你想干涉这个,你必须看看Catalyst::Dispatcher::_display_action_tables

它是一种树行走算法,它遍历它在'/'处找到的每条路线,并遵循$controller->actions返回的每条后续路线。它并不容易阅读,但你可以想象实现一个_display_action_tables版本,它不仅可以打印到表格中,而且还可以执行其他操作。然后使用$ c作为参数在实时应用程序中调用它,看看会发生什么!

© www.soinside.com 2019 - 2024. All rights reserved.