Hi JP

In the matter-of-fact - datasource agnostic model is M in *proper* MVC. Look
at Agavi frameworks' approach. Their initial model is simple PHP object with
some framework tie-in's (of course it is possible to loose those tie-in and
work with POPO). It gives developers the posibility to design models based
on their needs (or project demands - anyways you don't think about DB schema
at that stage) from top to bottom. Models, I'm writing about, are called
domain models.

For instance: some time ago one of my Agavi projects had some issues with
Propel objects. The domain models were using Propel objects inernally --
completely hiding them -- so I could *transparently* switch Propel to simple
mysql_* or PDO. From the outside models API was intact.

My answer for your question is: Make your own models, because It is more
powerfull solution than you think. Especially when Symfony is still good
framework even without Propel/Doctrine generators.

On Tue, Aug 4, 2009 at 12:36 PM, Andrei Dziahel <trickster...@gmail.com>wrote:

>
> Hi.
>
> Take my +1 too.
>
> Regards.
>
> 2009/7/31, JP <jph...@gmail.com>:
> >
> > Hi,
> >
> > In symfony 1.2, I can only create models using one of the 2 ORMs
> > Doctrine or Propel. Each of the 2 plugins implements some tasks for
> > generating an admin backend, creating fixture data, some input
> > validation.
> >
> > Now let's say I want to use a different data source, that is not a
> > database covered by the ORMs, for example:
> > - a web API (twitter, last.fm, flickr, salesforce.com ...)
> > - a SOAP web service
> > - a datastore like CouchDB
> >
> > I believe that if I want to use one of those, I'll have to build or
> > find a plugin similar to sfPropelPlugin or sfDoctrinePlugin to access
> > the data source. In case my datasource provides CRUD functionnality, I
> > might want to generate an admin interface, which means creating a
> > generator and maybe duplicating code with the default ORMs admin
> > generator.
> >
> > Another approach would be to have a set of datasource agnostic model
> > classes that will provide feature such as an admin generator, input
> > validation, fixture import and an interface to the datasource. This
> > will allow developers to create custom models for various datasource
> > and not be restricted to databases.
> >
> > I believe this feature is similar to DataSources in CakePHP or to the
> > ActiveModel planned for Rails 3. I've also been using that pattern
> > other the past couple years in a custom PHP framework that is used for
> > a web app using a SOAP backend. I work on daily basis with SOAP
> > developers (on new features for instance), where I need to start
> > building my webapp sometimes before the web service is ready. In this
> > case I create my model class and use a datasource yaml (which will be
> > a simple yaml file with dummy data) and when the web service is ready,
> > I just have to switch the datasource. This allows me to not wait and
> > be able to develop features in parallel with the backend.
> >
> > So, I was wondering what is the approach taken by symfony for this
> > particular use case? Is there any plan on the roadmap for 1.3 or 2.0
> > to provide a unified model layer that will allow developers to use
> > custom data sources?
> >
> > Thanks!
> >
> >
> > >
> >
>
> --
> Отправлено с моего мобильного устройства
>
> With the best regards, Andy.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to 
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to