----- Original Message ---- > From: Ben van Staveren <[email protected]> > To: The elegant MVC web framework <[email protected]> > Sent: Mon, 22 November, 2010 15:13:00 > Subject: Re: [Catalyst] Begginer's question about application structure > > Personally (and this does mean personally), I'd do it as follows: > > Your actual "logic" code (e.g. the whole deal of storing and retrieving > things >from the database) should be in a separate set of modules. Call those the >'backend' stuff. The main module here should be able to connect to the >database >on it's own, given the location of a config file, and it should be able to >take >an existing configuration and DB handle from Catalyst; > > e.g. > my $backend = My::Backend->new(config_file => 'foo.cfg'); > > or > > my $backend = My::Backend->new(config => $c->config, database => $c->model); > > (the above isn't quite correct but forgot what I used myself). > > Then you can easily wrap that into a Model; and do things like: > > $c->model('Backend')->get_me_an_artist() > > The advantage here being that you can also use your backend outside of >Catalyst, so writing a console app becomes trivial at that point. > > Sorry for the slightly disjointed reply but doing about 234413 things at the >same time :D >
Hi Ben, Thank you for your reply. I was leaning towards that approach myself, and have written a couple of modules which allow me to grab the config and database connections from an external model. Martin _______________________________________________ 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/
