[Catalyst-dev] Catalyst DB and Objects

Matt S Trout dbix-class at trout.me.uk
Thu Jun 14 18:33:44 GMT 2007

On Wed, Jun 13, 2007 at 12:26:59PM -0400, Martin Owens wrote:
> >> Does the framework allow you to call scripts from either http or bash
> >> with a translation between ENV and ARGV? Are most features bolted on
> >> from external modules?
> >
> >It's still perl. Anything you can do in perl, you can still do in perl with
> >Catalyst loaded.
> So no then,

A majority of things are handled by re-using existing CPAN components and
integrating them in such a way as to provide a (relatively) uniform API
- most of the ::Model:: classes are basically adapters to handle config,
although some do a little extra beyond that.

Catalyst itself is really an HTTP abstraction and a dispatch mechanism plus
some component loading/plugin architecture stuff. A lot of the advantage
comes from standard plugins and enforced-by-convention interfaces for
various things (such as view rendering which is pretty uniform across the
currently used ones so things like the RenderView action class can use them)
> >See above. Also, this is the dev list for the -framework- - you want the
> >users list I guess. See
> No I wanted answers about how the framework is developed; I may or may
> not be interested in becoming a user but as a develop of similar
> systems my curiosity is with the internals not how it's used.

Oh, fair enough.

The general aim with the internals is to maximise flexibility and pluggability
- while a lot of users are attracted to the "Catalyst solution" - i.e. the
commonly used plugins, models, views etc. - the majority of core hackers
come from being attracted to the fact that Catalyst follows TMTOWTDI and
does its best to make customisation of pretty much anything within the
system possible, which makes it far less common for people to need to hand-roll
alternative solutions when they run into odd requirements.

I'd recommend you have a look through the code in the Catalyst-Runtime
distribution to get a feel for the structure - took me about 10hrs to get
a decent feel for it when I first came to the project and I've since
refactored the parts that I didn't find immediately clear on that first pass :)

      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director    Want a managed development or deployment platform?
 Shadowcat Systems Ltd.  Contact mst (at) shadowcatsystems.co.uk for a quote
http://chainsawblues.vox.com/             http://www.shadowcatsystems.co.uk/ 

More information about the Catalyst-dev mailing list