[Catalyst] setting up files and namespace for utilizing
differentmodels in the same catalyst app
Hermida, Leandro
Leandro.Hermida at fmi.ch
Fri Nov 24 16:34:42 GMT 2006
Hello and Happy Thanksgiving,
What if one wanted to use more than one model for the same database?
Sorry to make things difficult, I am a new user and I am trying to
understand the proper way to set up the groundwork for a large project
and I don't want there to be a gotcha or annoyance because I didn't
think something through down the road. So if I wanted to use two models
for the library (for example DBIx::Class and DBI)
Would it be for the database,
MyApp::Library::DBIC::Schema
MyApp::Library::DBI
then for the model,
MyApp::Model::Library::DBIC::Schema
MyApp::Model::Library::DBI
then in code,
$c->model('Library::DBIC::Schema')->resultset('Book')->all;
Etc. ?
I am also very confused about what both you and A. Berlin wrote about
the namespace catalyst or web app. Maybe I am not far enough yet in the
tutorial? What did you mean by:
MyApp::Web -> catalyst app
What does this tree of code hold? It seems so far from the tutorial
that everything goes under MyApp::Model, MyApp::View, or
MyApp::Controller to defined the catalyst app but maybe I am missing
something.
Thank you,
Leandro Hermida
Matt S Trout wrote:
> Ash Berlin wrote:
>> Matt S Trout wrote:
>>> Hermida, Leandro wrote:
>>>> What would people recommend as a naming convention and namespace
>>>> setup if one wanted to eventually use more than one model inside of
>>>> the same Catalyst app?
>>>
>>> I tend to use
>>>
>>> MyApp::Library -> book+author DB
>>> MyApp::Forum -> forum DB
>>> MyApp::Web -> Catalyst app
>>>
>>>
>>>
>>
>> In that situation I'd go for
>>
>> MyApp::Schema::Library
>> MyApp::Schema::Forum
>>
>> then MyApp or MyApp::Web
>>
>>
>> (Or rather that's the kind of thing I've used for my current project)
>>
>> Ash
>
> I don't like doing that. What if I move it to being a remote
> model via RPC, or an LDAP directory, or something? It isn't
> a DBIC schema anymore, so it shouldn't be named as such :)
------------------------------------------------------------------------
--------
From: Hermida, Leandro [mailto:Leandro.Hermida at fmi.ch]
Sent: Thursday, November 23, 2006 18:09
To: The elegant MVC web framework
Subject: [Catalyst] setting up files and namespace for utilizing
differentmodels in the same catalyst app
Hello,
I am working through the tutorial and a question came to mind when
looking at the naming conventions used.
For DBIx::Class,
lib/MyAppDB.pm
lib/MyAppDB/Book.pm
lib/MyAppDB/Author.pm
lib/MyAppDB/BookAuthor.pm
Then for the Catalyst model,
lib/MyApp/Model/MyAppDB.pm
and in code,
$c->model('MyAppDB')->resultset('Book')->all;
What would people recommend as a naming convention and namespace setup
if one wanted to
eventually use more than one model inside of the same Catalyst app?
would it be something like:
For DBIx::Class,
lib/MyApp/DBIC/Schema.pm
lib/MyApp/DBIC/Schema/Book.pm
lib/MyApp/DBIC/Schema/Author.pm
lib/MyApp/DBIC/Schema/BookAuthor.pm
For Catalyst,
lib/MyApp/Model/DBIC/Schema.pm
and in code,
$c->model('DBIC::Schema')->resultset('Book')->all;
Leandro Hermida
More information about the Catalyst
mailing list