Audbyte/Scratch notes

From Federal Burro of Information
Jump to navigationJump to search

Create project

catalyst.pl Audbyte
<snip>
cd Audbyte/
script/audbyte_server.pl -r
<snip>

surf to http://testsrv.opensitesolutions.com:3000/

vi ./lib/Audbyte/Controller/Root.pm

For example, the URL http://hello.com/admin/articles/create maps to the package Hello::Controller::Admin::Articles, and the create method.

Adding a subroutine:

sub hello :Global {
 my ( $self, $c ) = @_;
 $c->response->body("Hello, World!");
}

code reloads on it's own, now surf to: http://testsrv.opensitesolutions.com:3000/hello

BING

Template

cd /home/dthornton/tmp/Audbyte
./script/audbyte_create.pl  view HTML TT

Creates new file: lib/Hello/View/HTML.pm which is of class Catalyst::View::TT.

This scripts take aruguments:

  1. is this a model a view or a controller you are creating? In this case we are creating a view
  2. what is the name of the view , in this case the NAME of the view is "HTML", later we might create a view called "mobile" for example.
  3. the last argument is the TYPE of view, in this case TT means Template Tookkit, which is a templating system that catalyst plays well with. We needed to have the perl module Template and the catalyst helper Catalyst::Helper::View::TT installed for this to work.

Create the template: root/hello.tt

This is a TT view template, called '[% template.name %]'.


then in Root.pm change:

sub hello :Global {
 my ( $self, $c ) = @_;
 $c->response->body("Hello, World!");
}

to:

sub hello :Global {
        my ( $self, $c ) = @_;
        $c->stash(template => 'hello.tt');
}

updating Makefile.PL

added to Makefile.PL

requires 'Catalyst::Plugin::StackTrace';
requires 'Catalyst::Helper::View::TT';