Catalyst Controller问题

时间:2011-11-09 15:57:22

标签: perl model-view-controller catalyst

我刚刚在我的第一个大型项目中使用了催化剂,我想知道我是否按照它的使用方式使用了催化剂。

我有Root.pm并且在该文件中我放了多个url处理程序。

最佳做法是每个网址都有一个控制器,还是应该考虑分组?

1 个答案:

答案 0 :(得分:4)

Catalyst的一个优点是它的灵活性。您可以这样做,但最适合您的应用。

如果您只支持少数几个URL,那么将它们全部放入Root.pm中并没有什么本质上的错误。特别是如果没有深度,即localhost:3000 / foo和localhost:3000 / bar

然而,一旦你开始拥有更长的URL,例如localhost:3000 / foo / bar / baz / quux,其中baz和quux是bar的参数,你会看到分离出Foo.pm的好处包含一个名为'bar'的动作(子)。 (那是在我们进入Chained Actions的乐趣之前......)

尽管there are ways可以达到相当于Rails样式的路由表,但通常认为它不是一个好主意。具有路由表的 Not 是Catalyst相对于其他框架的固有特性/优势。

The Definitive Guide to Catalyst第13-14页对此进行了很好的讨论。如果你没有这本书,你应该。