show output of reloaded server after updating an action
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Tutorial / 02_CatalystBasics.pod
index 06e4986..1ffcd2c 100644 (file)
@@ -188,13 +188,16 @@ Run the following command to start up the built-in development web
 server (make sure you didn't forget the "C<cd Hello>" from the 
 previous step):
 
-    $ script/hello_server.pl
+B<Note>: 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.
+
+    $ script/hello_server.pl -r
     [debug] Debug messages enabled
     [debug] Statistics enabled
     [debug] Loaded plugins:
     .----------------------------------------------------------------------------.
     | Catalyst::Plugin::ConfigLoader  0.27                                       |
-    | Catalyst::Plugin::Static::Simple  0.25                                     |
     '----------------------------------------------------------------------------'
     
     [debug] Loaded dispatcher "Catalyst::Dispatcher"
@@ -221,11 +224,11 @@ previous step):
     .-------------------------------------+--------------------------------------.
     | Path                                | Private                              |
     +-------------------------------------+--------------------------------------+
-    | /                                   | /default                             |
     | /                                   | /index                               |
+    | /                                   | /default                             |
     '-------------------------------------+--------------------------------------'
     
-    [info] Hello powered by Catalyst 5.80013
+    [info] Hello powered by Catalyst 5.80018
     You can connect to your server at http://debian:3000
 
 Point your web browser to L<http://localhost:3000> (substituting a 
@@ -235,17 +238,18 @@ screen or an "Index" screen, you probably forgot to specify port 3000
 in your URL).  Information similar to the following should be appended 
 to the logging output of the development server:
 
-    [info] *** Request 1 (0.005/s) [20712] [Sun Oct 11 11:58:51 2009] ***
-    [debug] "GET" request for "/" from "172.0.0.1"
-    [info] Request took 0.007342s (136.203/s)
-    .----------------------------------------------------------------+-----------.
-    | Action                                                         | Time      |
-    +----------------------------------------------------------------+-----------+
-    | /index                                                         | 0.000491s |
-    | /end                                                           | 0.000595s |
-    '----------------------------------------------------------------+-----------'
+    [info] *** Request 1 (0.001/s) [23194] [Sat Jan 16 11:09:18 2010] ***
+    [debug] "GET" request for "/" from "127.0.0.1"
+    [debug] Path is "/"
+    [info] Request took 0.004851s (206.143/s)
+    .------------------------------------------------------------+-----------.
+    | Action                                                     | Time      |
+    +------------------------------------------------------------+-----------+
+    | /index                                                     | 0.000395s |
+    | /end                                                       | 0.000425s |
+    '------------------------------------------------------------+-----------'
 
-Press Ctrl-C to break out of the development server.
+B<Note>: Press Ctrl-C to break out of the development server if necessary.
 
 
 =head1 HELLO WORLD
@@ -303,7 +307,7 @@ C<create> method.
 Add the following subroutine to your C<lib/Hello/Controller/Root.pm> 
 file:
 
-    sub hello : Global {
+    sub hello :Global {
         my ( $self, $c ) = @_;
         
         $c->response->body("Hello, World!");
@@ -314,11 +318,34 @@ cutting and pasting example code from POD-based documents.
 
 Here you're sending your own string to the webpage.
 
-Save the file, start the server (stop and restart it if it's still 
-running), and go to L<http://localhost:3000/hello> to 
-see "Hello, World!"  Also notice that a new action is listed under
-"Loaded Private actions" in the development server debug output.
+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)
+    
+    Attempting to restart the server
+    ...        
+    [debug] Loaded Private actions:
+    .----------------------+--------------------------------------+--------------.
+    | Private              | Class                                | Method       |
+    +----------------------+--------------------------------------+--------------+
+    | /default             | Hello::Controller::Root              | default      |
+    | /end                 | Hello::Controller::Root              | end          |
+    | /index               | Hello::Controller::Root              | index        |
+    | /hello               | Hello::Controller::Root              | hello        |
+    '----------------------+--------------------------------------+--------------'
+    
+    [debug] Loaded Path actions:
+    .-------------------------------------+--------------------------------------.
+    | Path                                | Private                              |
+    +-------------------------------------+--------------------------------------+
+    | /                                   | /index                               |
+    | /                                   | /default                             |
+    | /hello                              | /hello                               |
+    '-------------------------------------+--------------------------------------'
+    ...
 
+Go to L<http://localhost:3000/hello> to see "Hello, World!".
 
 =head2 Hello, World! Using a View and a Template
 
@@ -384,7 +411,7 @@ template file (C<hello.tt>).  The rest of the template is normal HTML.
 Change the hello method in C<lib/Hello/Controller/Root.pm> to the 
 following:
 
-    sub hello : Global {
+    sub hello :Global {
         my ( $self, $c ) = @_;
         
         $c->stash->{template} = 'hello.tt';
@@ -417,7 +444,7 @@ not much there.
 
 In C<lib/Hello/Controller/Site.pm>, add the following method:
 
-    sub test : Local {
+    sub test :Local {
         my ( $self, $c ) = @_;
     
         $c->stash->{username} = "John";