저는 Catalyst를 처음 사용하고 일부 디스패치 논리를 구현하려고합니다.
내 데이터베이스에는 각각 고유 한 url_part
필드가있는 항목 테이블이 있으며 모든 항목에는 같은 테이블에 부모가있어 트리 구조로되어 있습니다. baz
이 foo
의 하위 인 bar
의 하위 인 경우 루트 URL의 하위 인 /foo/bar/baz
을이 개체에 매핑해야합니다. 트리는 깊이가 될 수 있으며 사용자는 분기 또는 리프의 모든 노드에 액세스 할 수 있어야합니다.
나는 체인 된 발송자에 대한 문서를 조사하고 있지만 이것이 내가 원하는 것을 할 수 있는지 확실하지 않습니다. 연결된 디스패처의 각 단계에는 PathPart
속성에 대해 정의 된 이름이 있어야하지만 내 URL은 데이터베이스 구조에 의해서만 결정되기를 바랍니다.
기존 Catalyst 디스패처로 쉽게 구현할 수 있습니까? 아니면 내 디스패치 클래스를 작성해야합니까?
감사합니다. :)
ETA :
내가 인수의 임의의 수를 잡기 위해 빈Args
속성을 사용할 수 있다고 생각
. 다음은 성공적으로 루트 아래의 모든 요청을 잡을 것이 무엇을 달성하는 가장 좋은 방법입니다 그러나, 나도 몰라,
sub default :Path :Args() {
my ($self, $c) = @_;
my $path = $c->request->path;
$c->response->status(200);
$c->response->body("Your path is $path");
}
거기에서 내가 수동으로 경로를 분석하고 내가 원하는 것을 얻을 수 I 후.
P. 대화 형 도움말을 보려면 irc.perl.org의 #catalyst를 방문하십시오. – hobbs