X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial.pod;h=0e4464508d93db8fdae5dbfaaafa4b12b0d2b8b4;hp=eb1af711b21645a491830fc3c9ee1d5efdc1f23f;hb=af00c122ea90cce0d758c8757d0746b14211d4bf;hpb=61b1e958102e2371a79e07a7e2cdbb371797d202 diff --git a/lib/Catalyst/Manual/Tutorial.pod b/lib/Catalyst/Manual/Tutorial.pod index eb1af71..0e44645 100644 --- a/lib/Catalyst/Manual/Tutorial.pod +++ b/lib/Catalyst/Manual/Tutorial.pod @@ -6,76 +6,62 @@ Catalyst::Manual::Tutorial - Getting started with Catalyst This document aims to get you up and running with Catalyst. -NOTE: THIS DOCUMENT IS STILL VERY MUCH IN AN EARLY DRAFT STATE. SEE -THE NOTES AT THE BOTTOM OF THE DOCUMENT. - =head2 Installation The first step is to install Catalyst, and the simplest way to do this is to install the Catalyst bundle from CPAN: - $ perl -MCPAN -e 'install Bundle::Catalyst' + $ perl -MCPAN -e 'install Task::Catalyst' This will retrieve Catalyst and a number of useful extensions and -install them for you. +install them for you. This process might not be totally painless +though, and you might want to look at CatInABox at +L, especially if you are +on a system that lacks a compiler. -=head2 Setting up your application +=head2 The very basics - Setting up the skeleton application. Catalyst includes a helper script, C, that will set up a skeleton application for you: - $ catalyst.pl My::App - created "My-App" - created "My-App/script" - created "My-App/lib" - created "My-App/root" - created "My-App/t" - created "My-App/t/m" - created "My-App/t/v" - created "My-App/t/c" - created "My-App/lib/My/App" - created "My-App/lib/My/App/M" - created "My-App/lib/My/App/V" - created "My-App/lib/My/App/C" - created "My-App/lib/My/App.pm" - created "My-App/Makefile.PL" - created "My-App/README" - created "My-App/Changes" - created "My-App/t/01app.t" - created "My-App/t/02podcoverage.t" - created "My-App/script/cgi.pl" - created "My-App/script/nph-cgi.pl" - created "My-App/script/fcgi.pl" - created "My-App/script/server.pl" - created "My-App/script/test.pl" - created "My-App/script/create.pl" - -This creates the directory structure shown, populated with skeleton -files. + $ catalyst.pl tutorial + created "tutorial" + created "tutorial/script" + ... output snipped + created "tutorial/script/tutorial_create.pl" +This creates the directory structure, populated with skeleton +files. -=head2 Testing out the sample application +=head2 Testing out the skeleton application You can test out your new application by running the server script that -catalyst provides: +Catalyst provides: + + $ cd tutorial + $ script/tutorial_server.pl - $ cd My-App - $ script/server.pl [...] [catalyst] [debug] Debug messages enabled + [...] [catalyst] [debug] Loaded plugins: + .------------------------------------------------------------------------------. + | Catalyst::Plugin::Static::Simple | + '------------------------------------------------------------------------------' + [...] [catalyst] [debug] Loaded dispatcher "Catalyst::Dispatcher" [...] [catalyst] [debug] Loaded engine "Catalyst::Engine::HTTP" - [...] [catalyst] [debug] Loaded private actions - .=----------------------+----------------------+---------------=. - | Private | Class | Code | - |=----------------------+----------------------+---------------=| - | /default | MyApp | CODE(0x86f08ac | - '=----------------------+----------------------+---------------=' - "My::App" defined "!default" as "CODE(0x83fd570)" - [...] [catalyst] [info] My::App powered by Catalyst 5.00 + [...] [catalyst] [debug] Found home "/home/users/me/tutorial" + [...] [catalyst] [debug] Loaded Private actions: + .--------------------------------------+---------------------------------------. + | Private | Class | + +--------------------------------------+---------------------------------------+ + | /default | tutorial | + '--------------------------------------+---------------------------------------' + + [...] [catalyst] [info] tutorial powered by Catalyst 5.67 You can connect to your server at http://localhost:3000 -(Note that each line logged by Catalyst includes a timestamp, which has +(Note that each line logged by Catalyst begins with a timestamp, which has been replaced here with "C<...>" so that the text fits onto the lines.) The server is now waiting for you to make requests of it. Try using @@ -88,234 +74,774 @@ and hit return twice): Connected to localhost. Escape character is '^]'. GET / HTTP/1.0 - - HTTP/1.0 200 - Server: Catalyst/5.00 + + HTTP/1.0 200 OK + Date: Mon, 07 Nov 2005 14:57:39 GMT + Content-Length: 5525 + Content-Type: text/html; charset=utf-8 Status: 200 - Date: Sun, 20 Mar 2005 12:31:55 GMT - X-catalyst: 5.00 - Content-length: 40 - Content-Type: text/html; charset=ISO-8859-1 + X-Catalyst: 5.67 - Congratulations, My::App is on Catalyst! + [...] Connection closed by foreign host. $ +You can see the full welcome message by visiting +http://localhost:3000/ with your browser. + More trace messages will appear in the original terminal window: - [...] [catalyst] [debug] ******************************** - [...] [catalyst] [debug] * Request 1 (0.027/s) [9818] - [...] [catalyst] [debug] ******************************** + [...] [catalyst] [debug] ********************************** + [...] [catalyst] [debug] * Request 1 (0.063/s) [2148] + [...] [catalyst] [debug] ********************************** + [...] [catalyst] [debug] Arguments are "" [...] [catalyst] [debug] "GET" request for "" from localhost - [...] [catalyst] [info] Request took 0.051399s (19.456/s) - .=--------------------------------------------------+----------=. - | Action | Time | - |=--------------------------------------------------+----------=| - | /default | 0.000026s | - '=--------------------------------------------------+----------=' + [...] [catalyst] [info] Request took 0.046883s (21.330/s) + .------------------------------------------------------------------+-----------. + | Action | Time | + +------------------------------------------------------------------+-----------+ + | /default | 0.000000s | + '------------------------------------------------------------------+-----------' The server will continue running until you interrupt it. The application can also be tested from the command line using the generated -helper script, C