• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

lib/CGI/H30-Jul-2011-1,040334

t/H30-Jul-2011-328245

ChangesH A D30-Jul-20111 KiB3224

MANIFESTH A D30-Jul-2011547 2423

MANIFEST.SKIPH A D02-Mar-2007471 3529

META.jsonH A D30-Jul-2011933 4342

META.ymlH A D30-Jul-2011539 2423

Makefile.PLH A D06-Apr-2005380 1513

READMEH A D06-Apr-20052 KiB6544

TODOH A D23-Mar-2005200 84

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