【问题标题】:how to use __PACKAGE__->config namespace in catalyst如何在催化剂中使用 __PACKAGE__->config 命名空间
【发布时间】:2012-03-26 03:33:57
【问题描述】:
__PACKAGE__->config(namespace => '');

我在我的 Catalyst 应用程序的根控制器Root.pm 中看到了此声明。
我所知道的是,该语句用于指定根控制器。
现在我想知道的是,这个语句还有什么用的,
意味着我可以使用它来指定其他控制器命名空间吗?如果是,如何?

【问题讨论】:

    标签: perl catalyst


    【解决方案1】:

    手册中解释了这两个问题。阅读Actions in Catalyst::Manual::Intro

    应用范围的操作

    […] 代码__PACKAGE__->config( namespace => '' ); 使控制器的行为就好像它的命名空间是空的一样。 [...] 一个空的命名空间使许多 URL 匹配属性,例如 :Path:Local 匹配 URL 路径的开头(即应用程序根目录)。


    覆盖命名空间

    注意__PACKAGE__->config->(namespace => ... )在匹配时可以用来覆盖当前的命名空间。所以package MyApp::Controller::Example; 通常会使用example 作为其匹配的命名空间,但如果这被__PACKAGE__->config( namespace => 'thing' ); 专门覆盖,它会使用命名空间thing 来匹配。

    【讨论】:

    • 如何在Application.pm 中使用相同的?也就是说,我想把它应用到所有的控制器上。
    猜你喜欢
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2020-08-03
    • 2021-04-07
    • 2016-09-08
    • 2020-01-05
    • 2020-12-14
    相关资源
    最近更新 更多