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=ef0db085b0d2ae9f63b3382ed6c78c2e002ad750;hp=fe928234cc63ab96ab2374651deee674f7f0b5ed;hb=34d28dfd33574ce30aca69fb8700b61111d97b92;hpb=387e4c5093d5230f1bf4b6510d62f87b9ca353cf diff --git a/lib/Catalyst/Manual/Tutorial.pod b/lib/Catalyst/Manual/Tutorial.pod index fe92823..ef0db08 100644 --- a/lib/Catalyst/Manual/Tutorial.pod +++ b/lib/Catalyst/Manual/Tutorial.pod @@ -6,92 +6,59 @@ 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 MyApp - - created "MyApp" - created "MyApp/script" - created "MyApp/lib" - created "MyApp/root" - created "MyApp/root/static" - created "MyApp/root/static/images" - created "MyApp/t" - created "MyApp/t/Model" - created "MyApp/t/View" - created "MyApp/t/Controller" - created "MyApp/lib/MyApp" - created "MyApp/lib/MyApp/Model" - created "MyApp/lib/MyApp/View" - created "MyApp/lib/MyApp/Controller" - created "MyApp/lib/MyApp.pm" - created "MyApp/Build.PL" - created "MyApp/Makefile.PL" - created "MyApp/README" - created "MyApp/Changes" - created "MyApp/t/01app.t" - created "MyApp/t/02pod.t" - created "MyApp/t/03podcoverage.t" - created "MyApp/root/static/images/catalyst_logo.png" - created "MyApp/root/static/images/btn_120x50_built.png" - created "MyApp/root/static/images/btn_120x50_built_shadow.png" - created "MyApp/root/static/images/btn_120x50_powered.png" - created "MyApp/root/static/images/btn_120x50_powered_shadow.png" - created "MyApp/root/static/images/btn_88x31_built.png" - created "MyApp/root/static/images/btn_88x31_built_shadow.png" - created "MyApp/root/static/images/btn_88x31_powered.png" - created "MyApp/root/static/images/btn_88x31_powered_shadow.png" - created "MyApp/root/favicon.ico" - created "MyApp/script/myapp_cgi.pl" - created "MyApp/script/myapp_fastcgi.pl" - created "MyApp/script/myapp_server.pl" - created "MyApp/script/myapp_test.pl" - created "MyApp/script/myapp_create.pl" - -This creates the directory structure shown, populated with skeleton + $ 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: - $ cd MyApp - $ script/myapp_server.pl + $ cd tutorial + $ script/tutorial_server.pl - [...] [catalyst] [debug] Debug messages enabled - [...] [catalyst] [debug] Loaded plugins: + [debug] Debug messages enabled + [debug] Loaded plugins: .------------------------------------------------------------------------------. | Catalyst::Plugin::Static::Simple | '------------------------------------------------------------------------------' - [...] [catalyst] [debug] Loaded dispatcher "Catalyst::Dispatcher" - [...] [catalyst] [debug] Loaded engine "Catalyst::Engine::HTTP" - [...] [catalyst] [debug] Found home "/home/users/me/MyApp" - [...] [catalyst] [debug] Loaded Private actions: + [debug] Loaded dispatcher "Catalyst::Dispatcher" + [debug] Loaded engine "Catalyst::Engine::HTTP" + [debug] Found home "/home/users/me/tutorial" + [debug] Loaded Private actions: .--------------------------------------+---------------------------------------. | Private | Class | +--------------------------------------+---------------------------------------+ - | /default | MyApp | + | /default | tutorial | '--------------------------------------+---------------------------------------' - - [...] [catalyst] [info] MyApp powered by Catalyst 5.5 + + [...] [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 begins with a timestamp, which has @@ -107,29 +74,27 @@ and hit return twice): Connected to localhost. Escape character is '^]'. GET / HTTP/1.0 - + 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 - X-Catalyst: 5.5 + X-Catalyst: 5.67 [...] Connection closed by foreign host. $ -You can see the full welcome message by visting +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.063/s) [2148] - [...] [catalyst] [debug] ********************************** - [...] [catalyst] [debug] Arguments are "" - [...] [catalyst] [debug] "GET" request for "" from localhost - [...] [catalyst] [info] Request took 0.046883s (21.330/s) + [debug] *** Request 1 (0.063/s) [2148] + [debug] Arguments are "" + [debug] "GET" request for "/" from localhost + [info] Request took 0.046883s (21.330/s) .------------------------------------------------------------------+-----------. | Action | Time | +------------------------------------------------------------------+-----------+ @@ -139,214 +104,742 @@ More trace messages will appear in the original terminal window: 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