From: Kennedy Clark Date: Mon, 15 Feb 2010 19:46:44 +0000 (+0000) Subject: Use -r option for server X-Git-Tag: v5.8005~44 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=commitdiff_plain;h=7a296c6f6dd11310f3d9b2295f151795241a3fcb Use -r option for server Switch to newer stash syntax Some minor adjustments, version updates, fixes, etc. --- diff --git a/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod b/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod index aaabaaa..0156f2b 100644 --- a/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod +++ b/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod @@ -188,9 +188,13 @@ Run the following command to start up the built-in development web server (make sure you didn't forget the "C" from the previous step): -B: the -r enables reloading on code changes so you don't have to stop and -start the server when you update code. see perldoc script/hello_server.pl for -more useful options. +B: The "-r" argument enables reloading on code changes so you +don't have to stop and start the server when you update code. See +C for additional options you might find +helpful. Most of the rest of the tutorial will assume that you are using +"-r" when you start the development server, but feel free to manually +start and stop it (use C to break out of the dev server) if you +prefer. $ script/hello_server.pl -r [debug] Debug messages enabled @@ -228,7 +232,7 @@ more useful options. | / | /default | '-------------------------------------+--------------------------------------' - [info] Hello powered by Catalyst 5.80018 + [info] Hello powered by Catalyst 5.80020 You can connect to your server at http://debian:3000 Point your web browser to L (substituting a @@ -249,7 +253,8 @@ to the logging output of the development server: | /end | 0.000425s | '------------------------------------------------------------+-----------' -B: Press Ctrl-C to break out of the development server if necessary. +B: Press C to break out of the development server if +necessary. =head1 HELLO WORLD @@ -260,9 +265,7 @@ The Root.pm controller is a place to put global actions that usually execute on the root URL. Open the C file in your editor. You will see the "index" subroutine, which is responsible for displaying the welcome screen that you just saw in -your browser. Later on you'll want to change that to something more -reasonable, such as a "404" message or a redirect, but for now just -leave it alone. +your browser. sub index :Path :Args(0) { my ( $self, $c ) = @_; @@ -271,6 +274,9 @@ leave it alone. $c->response->body( $c->welcome_message ); } +Later on you'll want to change that to something more reasonable, such +as a "404" message or a redirect, but for now just leave it alone. + The "C<$c>" here refers to the Catalyst context, which is used to access the Catalyst application. In addition to many other things, the Catalyst context provides access to "response" and "request" @@ -279,14 +285,14 @@ L, and L) C<$c-Eresponse-Ebody> sets the HTTP response (see -L), while C<$c-Ewelcome_message> -is a special method that returns the welcome message that you saw in -your browser. +L), while +C<$c-Ewelcome_message> is a special method that returns the +welcome message that you saw in your browser. The ":Path :Args(0)" after the method name are attributes which determine which URLs will be dispatched to this method. (You might see ":Private" if you are using an older version of Catalyst, but using -that with 'default' or 'index' is currently deprecated. If so, you +that with "default" or "index" is currently deprecated. If so, you should also probably upgrade before continuing the tutorial.) Some MVC frameworks handle dispatching in a central place. Catalyst, @@ -321,7 +327,7 @@ Here you're sending your own string to the webpage. Save the file, and you should notice the following in your server output: Saw changes to the following files: - - /srv/http/xenoterracide/Catalyst/Hello/lib/Hello/Controller/Root.pm (modify) + - /home/me/Hello/lib/Hello/Controller/Root.pm (modify) Attempting to restart the server ... @@ -345,7 +351,10 @@ Save the file, and you should notice the following in your server output: '-------------------------------------+--------------------------------------' ... -Go to L to see "Hello, World!". +Go to L to see "Hello, World!". Also +notice that the newly defined 'hello' action is listed under "Loaded +Private actions" in the development server debug output. + =head2 Hello, World! Using a View and a Template @@ -387,7 +396,7 @@ contains a config statement to set the TT extension to ".tt". Now that the TT.pm "View" exists, Catalyst will autodiscover it and be able to use it to display the view templates using the "process" -method that it inherits from the C. +method that it inherits from the C class. Template Toolkit is a very full featured template facility, with excellent documentation at L, @@ -427,6 +436,13 @@ default) view to be rendered (unless there's a C<$c-Eresponse- Ebody()> statement). So your template will be magically displayed at the end of your method. +After saving the file, the development server should automatically +restart (again, the tutorial is written to assume that you are +using the "-r" option -- manually restart it if you aren't), +and look at L in your again. You +should see the template that you just made. + + =head1 CREATE A SIMPLE CONTROLLER AND AN ACTION Create a controller named "Site" by executing the create script: @@ -442,8 +458,8 @@ In C, add the following method: sub test :Local { my ( $self, $c ) = @_; - $c->stash->{username} = "John"; - $c->stash->{template} = 'site/test.tt'; + $c->stash(username => 'John', + template => 'site/test.tt'); } Notice the "Local" attribute on the C method. This will cause @@ -473,6 +489,10 @@ template file at that location. Include a line like: You should see your test.tt file displayed, including the name "John" that you set in the controller. +Once the server automatically restarts, notice in the server +output that C is listed in the Loaded Path actions. +Go to L in your browser. + =head1 AUTHORS