X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial.pod;h=5a32fc8ccf323051df5b7b82261c03b210566e89;hb=28dc3f0e62df58f17417c169c9f66068f525bc09;hp=01819d86e9714970e868554ae1d3ee1feb6a9ec6;hpb=501b619096d597651939c340f88841ddc221c1f4;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Manual/Tutorial.pod b/lib/Catalyst/Manual/Tutorial.pod index 01819d8..5a32fc8 100644 --- a/lib/Catalyst/Manual/Tutorial.pod +++ b/lib/Catalyst/Manual/Tutorial.pod @@ -1,200 +1,497 @@ =head1 NAME -Catalyst::Manual::Tutorial - Getting started with Catalyst +Catalyst::Manual::Tutorial - Catalyst Tutorial: Overview =head1 DESCRIPTION -This document aims to get you up and running with Catalyst. +The Catalyst framework is a flexible and comprehensive environment for +quickly building high-functionality web applications. This tutorial is +designed to provide a rapid introduction to its basics and its most +commonly used features while focusing on real-world best practices. -NOTE: THIS DOCUMENT IS STILL VERY MUCH AT AN ALPHA STAGE. - -Please send comments, corrections and suggestions for improvements to -A.Ford@ford-mason.co.uk +The tutorial is divided into the following sections: +=over 4 -=head2 Installation +=item * -The first step is to install Catalyst, and the simplest way to do this is to -install the Catalyst bundle from CPAN: +L - $ perl -MCPAN -e 'install Bundle::Catalyst' +=item * -This will retrieve Catalyst and a number of useful extensions and install them -for you. +L +=item * -=head2 Setting up your application +L -Catalyst includes a helper script, C, that will set up a skeleton -application for you: +=item * - $ 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" +L -This creates the directory structure shown. +=item * +L +=item * -=head2 Testing out the sample application +L -You can test out your new application by running the server script that -catalyst provides: +=item * - $ cd My-App - $ script/server.pl - [Sun Mar 20 12:31:18 2005] [catalyst] [debug] Debug messages enabled - [Sun Mar 20 12:31:18 2005] [catalyst] [debug] Loaded engine "Catalyst::Engine::CGI" - [Sun Mar 20 12:31:18 2005] [catalyst] [debug] Initialized components "" - [Sun Mar 20 12:31:18 2005] [catalyst] [info] My::App powered by Catalyst 4.26 - [Sun Mar 20 12:31:18 2005] [catalyst] [debug] "My::App" defined "!default" as "CODE(0x83fd570)" - You can connect to your server at http://localhost:3000 +L -The server is now waiting for you to make requests of it. Try using telnet to -manually make a simple GET request of the server (when telnet responds with -"Escape character is '^]'.", type "GET / HTTP/1.0" and hit return twice): +=item * - $ telnet localhost 3000 - Trying 127.0.0.1... - Connected to localhost. - Escape character is '^]'. - GET / HTTP/1.0 - - HTTP/1.0 200 - Server: Catalyst/4.26 - Status: 200 - Date: Sun, 20 Mar 2005 12:31:55 GMT - X-catalyst: 4.26 - Content-length: 40 - Content-Type: text/html; charset=ISO-8859-1 +L - Congratulations, My::App is on Catalyst! - Connection closed by foreign host. - $ +=back -More trace messages will appear in the original terminal window: +A tarball of the final application is available at +C. - [Sun Mar 20 12:31:55 2005] [catalyst] [debug] ******************************** - [Sun Mar 20 12:31:55 2005] [catalyst] [debug] * Request 1 (0.027/s) [9818] - [Sun Mar 20 12:31:55 2005] [catalyst] [debug] ******************************** - [Sun Mar 20 12:31:55 2005] [catalyst] [debug] "GET" request for "" - [Sun Mar 20 12:31:55 2005] [catalyst] [debug] Using default action - [Sun Mar 20 12:31:55 2005] [catalyst] [info] Processing "!default" took 0.000033s - [Sun Mar 20 12:31:55 2005] [catalyst] [info] Request took 0.051399s (19.456/s) +=head1 Detailed Table Of Contents -The server will continue running until you interrupt it. +=head2 Part 1: Introduction -The application can also be tested from the command line using the generated -helper script, C