Looking through the catalyst docs, it looks like trying to use the
_create.pl script to create elements other than models, views, and
controllers is discouraged
(http://search.cpan.org/~bobtfish/Catalyst-Devel-1.28/lib/Catalyst/Helper.pm#HELPERS).
Here's an excerpt.
All helper classes should be under one of the following namespaces.
Catalyst::Helper::Model::
Catalyst::Helper::View::
Catalyst::Helper::Controller::
I'm trying to canonize some best practices with my team at work
(thankfully we've just decided to move from vanilla-cgi to Catalyst,
Moose, DBIx::Class, etc.). I want to create some helpers for common
application elements (such as forms, for example -- I'm moving us
towards HTML::FormHandler).
I'd like our structure to be something like:
./lib/
./lib/MyApp.pm
./lib/MyApp/Model
./lib/MyApp/Model/DB.pm
./lib/MyApp/View
./lib/MyApp/View/TT.pm
./lib/MyApp/Controller
./lib/MyApp/Controller/Auth
./lib/MyApp/Controller/User
./lib/MyApp/Controller/...
./lib/MyApp/Schema/...
./lib/MyApp/Form/Auth/Login.pm
./lib/MyApp/Form/Auth/Register.pm
./lib/MyApp/Form/...
I realize that HFH says "FormHandler does not provide a custom
controller for Catalyst because it isn't necessary. Interfacing to
FormHandler is only a couple of lines of code" -- but I don't quite
understand why I /wouldn't/ want one.
It makes sense to me that I would be able to create a new form this way:
script/myapp_create.pl form Auth::Login HTML::FormHandler
--has_fields=username,password,email
(or something). That would help to enforce the practice of putting form
stuff in the MyApp::Form:: namespace. As a helper, it doesn't really
seem to fit well with either Model, Controller, or View, so it seems as
though it would warrant being it's own element (I'm thinking along the
lines of Reaction or MVVM).
My questions are:
* Would this kind of functionality be better done in
Catalyst::Helper::(Model|View|Contoller):: or somewhere else?
* Why?
* Where can I read about how to put this wherever it should go?
Thanks!
-Sir
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/