как использовать __PACKAGE __-> config namespace в катализаторе - PullRequest
1 голос
/ 25 марта 2012
__PACKAGE__->config(namespace => '');

Я видел это утверждение в Root Controller Root.pm моего приложения Catalyst.
Что я знаю об этом, так это то, что этот оператор используется для указания корневого контроллера.
Теперь я хочу знатьесть, какой еще способ используется этот оператор,
означает, могу ли я использовать это, чтобы указать другое пространство имен контроллера?Если да, то как?

1 Ответ

3 голосов
/ 25 марта 2012

Оба вопроса объяснены в руководстве.Чтение Действия in Catalyst::Manual::Intro.

Действия всего приложения

[…] Код __PACKAGE__->config( namespace => '' ); делает контроллер действующим какесли его пространство имен пусто.[…] В пустом пространстве имен множество атрибутов сопоставления URL, таких как :Path и :Local, совпадают в начале пути URL (т. Е. Корень приложения).


Переопределение пространства имен

Обратите внимание, что __PACKAGE__->config->(namespace => ... ) может использоваться для переопределения текущего пространства имен при сопоставлении.Поэтому package MyApp::Controller::Example; обычно использует example в качестве пространства имен для сопоставления, но если это специально переопределено с помощью __PACKAGE__->config( namespace => 'thing' );, оно сопоставляется с использованием вместо этого пространства имен thing.

...