2011-11-09 53 views
3

我刚刚使用催化剂进行了我的第一个大型项目,我还在想知道我是否按照它的使用方式使用了催化剂。催化剂控制器问题

我有Root.pm,并在该文件内部放置了多个url处理程序。

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

回答

4

催化剂的美丽之一是它的灵活性。你可以做到这一点,但它最适合你的应用程序。

如果您只有少数您支持的网址,那么将它们都放入Root.pm并没有任何内在错误。特别是如果没有深度,即localhost:3000/foo和localhost:3000/bar

但是,只要您开始拥有更长的URL,例如localhost:3000/foo/bar/baz/quux,其中baz和quux是bar的参数,你会看到分离出一个包含一个名为'bar'的动作(子)的Foo.pm的好处。 (这就是在我们进入链式操作的乐趣......)

虽然there are ways就可以达到一个Rails风格路由表的等价物,它不是通常被认为是一个好主意。具有路由表的不是是Catalyst比其他框架的内在特征/好处。

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