我刚刚在我的第一个大型项目中使用了催化剂,我想知道我是否按照它的使用方式使用了催化剂。
我有Root.pm并且在该文件中我放了多个url处理程序。
最佳做法是每个网址都有一个控制器,还是应该考虑分组?
答案 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页对此进行了很好的讨论。如果你没有这本书,你应该。