- package BeerDB;
- use base 'Apache::MVC';
- sub handler { Apache::MVC::handler("BeerDB", @_) }
- BeerDB->set_database("dbi:mysql:beerdb");
- BeerDB->config->{uri_base} = "http://your.site/";
- BeerDB->config->{display_tables} = [qw[beer brewery pub style]];
- # Now set up your database:
- # has-a relationships
- # untaint columns
-
- 1;
-
-=haed1 DESCRIPTION
-
-A large number of web programming tasks follow the same sort of pattern:
-we have some data in a datasource, typically a relational database. We
-have a bunch of templates provided by web designers. We have a number of
-things we want to be able to do with the database - create, add, edit,
-delete records, view records, run searches, and so on. We have a web
-server which provides input from the user about what to do. Something in
-the middle takes the input, grabs the relevant rows from the database,
-performs the action, constructs a page, and spits it out.
-
-This module aims to be the most generic and extensible "something in the
-middle".
-
-An example would help explain this best. You need to add a product
-catalogue to a company's web site. Users need to list the products in
-various categories, view a page on each product with its photo and
-pricing information and so on, and there needs to be a back-end where
-sales staff can add new lines, change prices, and delete out of date
-records. So, you set up the database, provide some default templates
-for the designers to customize, and then write an Apache handler like
-this:
-
- package MyCorp::ProductDatabase;
- use base 'Apache::MVC';
- __PACKAGE__->set_database("dbi:mysql:products");