X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FIntro.pod;h=9eaaf37077d9708d91d2272d5d4dc8d044fb33b2;hp=e4d7fdacbd4c51573a44862c2b02fcaa85ec0d95;hb=54550e133a0ef80726b4fac78299b907f5f6948d;hpb=eecdf6ee1aafd7245b4970c7f92fe5dc3345aa23 diff --git a/lib/Catalyst/Manual/Intro.pod b/lib/Catalyst/Manual/Intro.pod index e4d7fda..9eaaf37 100644 --- a/lib/Catalyst/Manual/Intro.pod +++ b/lib/Catalyst/Manual/Intro.pod @@ -357,7 +357,7 @@ Now we can create a DBIC::Schema model for this database. script/myapp_create.pl model MyModel DBIC::Schema MySchema create=static 'dbi:SQLite:/tmp/myapp.db' -L can automaticall load table layouts and +L can automatically load table layouts and relationships, and convert them into a static schema definition C, which you can edit later. @@ -847,7 +847,7 @@ of the path is passed as arguments. Matches any URL beginning with> http://localhost:3000/my/controller/foo. The namespace and subroutine name together determine the path. -=item * Namespace-level (C<:Global>) +=item * Root-level (C<:Global>) package MyApp::Controller::Foo; sub foo : Global { } @@ -855,8 +855,9 @@ subroutine name together determine the path. Matches http://localhost:3000/foo - that is, the action is mapped directly to the controller namespace, ignoring the function name. -C<:Global> is equivalent C<:Local> one level higher in -the namespace. +C<:Global> always matches from root: it is sugar for C<:Path('/methodname')>. +C<:Local> is simply sugar for C<:Path('methodname')>, which takes the package +namespace as described above. package MyApp::Controller::Root; __PACKAGE__->config->{namespace}=''; @@ -887,7 +888,9 @@ C<:Args(0)> means that no arguments are taken. Thus, the URL and path must match precisely. No :Args at all means that B of arguments are taken. Thus, any -URL that B the controller's path will match. +URL that B the controller's path will match. Obviously, this means +you cannot chain from an action that does not specify args, as the next action +in the chain will be swallowed as an arg to the first! =item * Literal match (C<:Path>) @@ -1311,16 +1314,16 @@ C<< $c->request->args >>. If you don't want or need these features then it's perfectly acceptable (and faster) to do something like this: -sub hello : Global { - my ( $self, $c ) = @_; - $c->stash->{message} = 'Hello World!'; - $self->check_message( $c, 'test1' ); -} - -sub check_message { - my ( $self, $c, $first_argument ) = @_; - # do something... -} + sub hello : Global { + my ( $self, $c ) = @_; + $c->stash->{message} = 'Hello World!'; + $self->check_message( $c, 'test1' ); + } + + sub check_message { + my ( $self, $c, $first_argument ) = @_; + # do something... + } Note that C returns to the calling action and continues processing after the action finishes. If you want all further processing