=head1 NAME Catalyst::Manual::Tutorial::03_MoreCatalystBasics - Catalyst Tutorial - Chapter 3: More Catalyst Application Development Basics =head1 OVERVIEW This is B for the Catalyst tutorial. L =over 4 =item 1 L =item 2 L =item 3 B<03_More Catalyst Basics> =item 4 L =item 5 L =item 6 L =item 7 L =item 8 L =item 9 L =item 10 L =back =head1 DESCRIPTION This chapter of the tutorial builds on the work done in Chapter 2 to explore some features that are more typical of "real world" web applications. From this chapter of the tutorial onward, we will be building a simple book database application. Although the application will be too limited to be of use to anyone, it should provide a basic environment where we can explore a variety of features used in virtually all web applications. Source code for the tutorial in included in the F directory of the Tutorial Virtual machine (one subdirectory per chapter). There are also instructions for downloading the code in L. Please take a look at L before doing the rest of this tutorial. Although the tutorial should work correctly under most any recent version of Perl running on any operating system, the tutorial has been written using the virtual machine that is available for download. The entire tutorial has been tested to be sure it runs correctly in this environment, so it is the most trouble-free way to get started with Catalyst. =head1 CREATE A NEW APPLICATION The remainder of the tutorial will build an application called C. First use the Catalyst F script to initialize the framework for the C application (make sure you aren't still inside the directory of the C application from the previous chapter of the tutorial or in a directory that already has a "MyApp" subdirectory): $ catalyst.pl MyApp created "MyApp" created "MyApp/script" created "MyApp/lib" created "MyApp/root" ... created "MyApp/script/myapp_create.pl" Change to application directory and Run "perl Makefile.PL" to make sure your install is complete And change the "MyApp" directory the helper created: $ cd MyApp This creates a similar skeletal structure to what we saw in Chapter 2 of the tutorial, except with C and C substituted for C and C. (As noted in Chapter 2, omit the ".pl" from the command if you are using Strawberry Perl.) =head1 EDIT THE LIST OF CATALYST PLUGINS One of the greatest benefits of Catalyst is that it has such a large library of base classes and plugins available that you can use to easily add functionality to your application. Plugins are used to seamlessly integrate existing Perl modules into the overall Catalyst framework. In general, they do this by adding additional methods to the C object (generally written as C<$c>) that Catalyst passes to every component throughout the framework. Take a look at the file F that the helper created above. By default, Catalyst enables three plugins/flags: =over 4 =item * C<-Debug> Flag Enables the Catalyst debug output you saw when we started the F