Your SlideShare is downloading. ×
Catalyst 1   Introduction
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Catalyst 1 Introduction


Published on

Published in: Economy & Finance, Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Catalyst Intro I short introduction to what catalyst is.
  • 2. Introduction
    • A complete web site framework for Perl.
    • Comparable to Ruby on Rails and Java Struts.
    • Robust and proven.
    • Uses and enforces the MVC design pattern.
  • 3. MVC
    • MVC is a design pattern that was originally designed for interactive application development, like Visual Basic.
    • M is the Model and is generally the database layer.
    • V is the View and in web development it normally consists of HTML.
    • C is the Controller which contains all of the business logic written in Perl/Ruby/PHP/etc.
  • 4. View
    • The view provides an interface for the user to interact with the system.
    • The view contains minimal business logic.
    • The view never modifies the model directly, but it may read from the model directly.
  • 5. Controller
    • The controller implements all of the business logic.
    • The controller prepares information from the model and passes it to the view.
    • The controller take data from the view and passes it to the model.
  • 6. Model
    • The model stores the current state of the application.
    • The model is manipulated by the controller.
  • 7. Structure
    • A Catalyst app consists of a set of perl modules that all reside under a namespace for that app, such as “MyApp”.
      • MyApp This module holds all of the configuration information about the application.
      • MyApp::Model::* Contains a class for each type of model being used in this application.
      • MyApp::View::* Contains a class for each type of view being used.
      • MyApp::Controller::* Contains a class for each controller.
  • 8. Basic Request Cycle
    • A request is made for:
    • Catalyst finds a handler: Controller::Inventory::Purchase->index() or, if not found, it looks for: Controller::Inventory->purchase()
    • Auto-handlers are executed.
    • Requested handler is executed.
      • Data is gathered from the model.
      • Model is updated with any changes.
    • Handler turns control over to the view.
  • 9. More on Catalyst
    • Supports whatever model classes you want to use such as: Class::DBI, Rose::DB, DBI, DBIx::Class, LDAP
    • Supports many different view classes such as: Mason, TT, PHP, EmbPerl
    • Has a extensive library of plugins on CPAN.
    • Large community of users and contributors.
    • New features in active development (Combust, Moose).
  • 10. Resources
    • MVC @ Wikipedia
    • Catalyst Manual @ CPAN