README
1NAME
2
3 CGI-Prototype - Create a CGI application by prototyped subclasssing
4
5SYNOPSIS
6 package My::HelloWorld;
7 use base CGI::Prototype;
8
9 sub template { \ <<'END_OF_TEMPLATE' }
10 [% self.CGI.header; %]
11 Hello world at [% USE Date; Date.format(date.now) | html %]!
12 END_OF_TEMPLATE
13
14 My::HelloWorld->activate;
15
16DESCRIPTION
17 The core of every CGI application seems to be roughly the same:
18
19 * Analyze the incoming parameters, cookies, and URLs to determine the
20 state of the application (let's call this "dispatch").
21
22 * Based on the current state, analyze the incoming parameters to
23 respond to any form submitted ("respond").
24
25 * From there, decide what response page should be generated, and
26 produce it ("render").
27
28 CGI::Prototype creates a "Class::Prototyped" engine for doing all this,
29 with the right amount of callback hooks to customize the process.
30 Because I'm biased toward Template Toolkit for rendering HTML, I've also
31 integrated that as my rendering engine of choice. And, being a fan of
32 clean MVC designs, the classes become the controllers, and the templates
33 become the views, with clean separation of responsibilities, and
34 "CGI::Prototype" a sort of "archetypal" controller.
35
36INSTALLATION
37
38To install this module type the following:
39
40 perl Makefile.PL
41 make
42 make test
43 make install
44
45DEPENDENCIES
46
47This module requires these other modules and libraries:
48
49 Class::Prototyped
50 Template (aka Template Toolkit)
51
52AUTHOR
53 Randal L. Schwartz, <merlyn@stonehenge.com>
54
55 Special thanks to Geekcruises.com and an unnamed large university for
56 providing funding for the development of this module.
57
58COPYRIGHT AND LICENSE
59 Copyright (C) 2003, 2004 by Randal L. Schwartz
60
61 This library is free software; you can redistribute it and/or modify it
62 under the same terms as Perl itself, either Perl version 5.8.5 or, at
63 your option, any later version of Perl 5 you may have available.
64
65