[Catalyst] Re: From the beginning...

LD ldsift-perl at yahoo.com.au
Wed Apr 13 01:52:32 CEST 2005


Hi again,

On 13/04/2005, at 9:11 AM, LD wrote:

> Coming from WebObjects, which is heavily architected around MVC, 
> Catalyst appeals to me. I don't yet know enough about Catalyst to 
> really compare the two, no thanks to the sparse Docs. So, one's free 
> and been around for a short time with little info; the other's 
> relatively inexpensive, is tried and tested and has relatively good 
> docs - will have to do for now :-)

Actually there is one thing I've noticed with Catalyst (at least with 
v.4.x as I haven't seen v.5 nor been on the mailing list for more than 
a few days) that could be improved and it has to do with re-usable 
components. Now I've seen that this is being enhanced with v.5 but have 
no idea in what way so if this has been done, great.

script/create.pl (which needs a man page!) will allow you to create 
views, models and controllers separately - great. But the idea of 
re-usable components is that they are self-contained. So it would be 
great if script/create.pl allowed the following...

./script/create/.pl component MyComponent [ parentComponent ]
./script/create/.pl component MyComponent [CDBI ...] [TT] [C 
parentController]

...which rather than creating:
lib/MyApp/M/MyComponent.pm
lib/MyApp/V/MyComponent.pm
lib/MyApp/C/MyComponent.pm

...instead creates:
lib/MyApp/MyComponent.pm
lib/MyApp/MyComponent/M/MyComponent.pm
lib/MyApp/MyComponent/V/MyComponent.pm
lib/MyApp/MyComponent/V/MyComponent.tt
lib/MyApp/MyComponent/C/MyComponent.pm

Note: I've put MyComponent.tt in with the View as I think it would be a 
good idea to encapsulate the template.tt files in this structure so 
that the component is completely self contained (like an object with 
its methods providing access to the data).

With such a set up creating sub-components or utilising the components 
behaviour elsewhere becomes more manageable, no?

Any thoughts on this and how v.5 compares?

Thanks,
LD




More information about the Catalyst mailing list