我刚刚在我的第一个大型项目中使用了催化剂,我想知道我是否以它应该被使用的方式使用了催化剂。我有Root.pm,在这个文件里我放了多个url处理程序。每个url有一个控制器是最佳实践还是应该考虑分组?
ftf50wuq1#
Catalyst的优点之一是它的灵活性。您可以根据您的应用程序来选择最适合您的方式。如果你只支持少数几个URL,那么把它们都放在Root.pm中本质上没有什么错。特别是如果没有深度,即localhost:3000/foo和localhost:3000/bar然而,一旦你开始有更长的URL,如localhost:3000/foo/bar/baz/quux,其中baz和quux是bar的参数,你就会看到分离出一个包含一个名为“bar”的操作(子)的Foo.pm的好处。(这是在我们进入Chained Actions的乐趣之前.)尽管there are ways可以实现Rails风格的路由表,但通常认为这不是一个好主意。* 不 * 拥有路由表是Catalyst相对于其他框架的固有特性/优势。在The Definitive Guide to Catalyst的第13-14页有一个很好的讨论。如果你没有这本书,你应该。
1条答案
按热度按时间ftf50wuq1#
Catalyst的优点之一是它的灵活性。您可以根据您的应用程序来选择最适合您的方式。
如果你只支持少数几个URL,那么把它们都放在Root.pm中本质上没有什么错。特别是如果没有深度,即localhost:3000/foo和localhost:3000/bar
然而,一旦你开始有更长的URL,如localhost:3000/foo/bar/baz/quux,其中baz和quux是bar的参数,你就会看到分离出一个包含一个名为“bar”的操作(子)的Foo.pm的好处。(这是在我们进入Chained Actions的乐趣之前.)
尽管there are ways可以实现Rails风格的路由表,但通常认为这不是一个好主意。* 不 * 拥有路由表是Catalyst相对于其他框架的固有特性/优势。
在The Definitive Guide to Catalyst的第13-14页有一个很好的讨论。如果你没有这本书,你应该。