[Catalyst] some basic Catalyst theory questions
Perrin Harkins
perrin at elem.com
Mon Jun 6 22:16:20 CEST 2005
Hello Catalyst crew,
I'm working on my presentation about MVC frameworks for YAPC, and I have
some questions about the theory behind some of the design decisions in
Catalyst.
- What's the reasoning behind the use for $c->forward() everywhere in
place of normal method calls? The only clear advantage I can see is
that the context object is passed along automatically. Is there another
reason?
- The examples show machine-specific configuration like database
connection params and file paths being specified in the code itself.
That would be a big portability problem, if you have to modify the code
on every new machine. Is there a plan for Catalyst to help people with
putting this kind of stuff in a config file? (Note that I am not
talking about things like database table relationships, just the pure
config stuff that is likely different on every installation of the same
app.)
- In a similar vein, defining URLs directly in the code seems less
flexible than doing it somewhere else, and makes Catalyst apps hard to
relocate. (Although of course mod_rewrite solves any URL problem.) Is
there any alternate way of defining URL to method mappings?
- Does all of this URL stuff work with the CGI engine? I can imagine
ways it might work using PATH_INFO, but the docs on how to configure a
web server to use the different engines seem pretty slim. Maybe I'm
looking in the wrong place.
- None of the intro docs show any use of query args ( $c->req()->params
() ) at all, and at first I wasn't sure it was even supported. Is this
an intentional thing, to encourage people to use other approaches, or is
it just that URLs like /action27/thing13/ are more fun to write about?
Thanks for your help with this. I will probably have more questions
later, but that should do it for now.
- Perrin
More information about the Catalyst
mailing list