Exactamente,
Se trata de colocar el código repetido que se encargue de interacción con la
base de datos en el modelo.
Un ejemplo bastante interesante es cuando tienes un modelo con varias
relaciones. Si alguna de tus acciones recibe los datos de el modelo y de sus
modelos asociados puede hacer la función que recibe esos datos y guarda el
modelo y sus asociaciones con lo que convertirías tu controlador de varias
líneas a una o dos líneas ya que el grueso de la interacción con los modelos
se hacen en la función asociada.
Por ejemplo:
if ($this->Modelo1->save($this->data['Modelo1'])) {
if ($this->Modelo2->save($this->data['Modelo2'])) {...} else {...}
} else ...
podrias convertirlo en
if ($this->Modelo1->saveAll($this->data)) {...} else {...}
Espero que se entienda...
On 10/24/07, dardosordi <[EMAIL PROTECTED]> wrote:
>
>
> El modelo es una clase, en ella pondrás todas las funciones
> relacionadas con el concepto que modelan los objetos de esa clase.
> En concreto, si ves que comienzas a repetir la misma serie de llamadas
> a funciones del modelo en varios lugares de tus controladores o
> comienzas a hacer secuencias complejas de estas llamadas (dependerá de
> la complejidad de tu aplicación) llegará el tiempo en que lo veas y
> digas:
> 'oh, debería poner todo este lío en una función aparte'. Cuando ese
> momento llegue (eventualmente lo hará), el lugar indicado para estas
> funciones es el modelo.
>
> On 24 oct, 02:13, mbavio <[EMAIL PROTECTED]> wrote:
> > Joaquin, otra consulta....
> > En el pdf que has pasado, recomienda que el buen cake es hacer un gran
> > modelo y un no tan gran controlador... Podrias dar algun ejemplo
> > concreto de esto? O sea, para hacer un gran modelo, debo agregar algo
> > mas que las relaciones y las validaciones?
> >
> > Saludos.
> >
> > On 23 oct, 13:34, "Joaquin Windmüller" <[EMAIL PROTECTED]> wrote:
> >
> > > Hola,
> >
> > > EWn términos generales lo que dijo Diego está correcto, pero de hecho
> Cake
> > > recomienda "Fat Model, thin controller" es decir, colocar más énfasis
> en
> > > agregar funciones que te ayuden a disminuir la cantidad de trabajo en
> el
> > > controlador.
> >
> > >http://cakephp.org/files/OCPHP.pdf
> >
> > > Las validaciones se definen en el modelo, y es muy raro cuando tienes
> que
> > > hacer alguna lógica de validación adicional. Y si tienes que hacerla
> es
> > > mejor ponerla en el modelo.
> >
> > > El controlador se encarga de solicitar información (al modelo) y
> prepararla
> > > para pasarsela a la vista. O recibir data que luego solicita al modelo
> que
> > > guarde.
> >
> > > La vista sólo se encarga de presentar al usuario los datos recibidos
> desde
> > > el controlador.
> >
> > > Saludos.
> >
> > > On 10/23/07, Diego Villar <[EMAIL PROTECTED]> wrote:
> >
> > > > Haber, espero no equivocarme, y si es así, bueno que alguien me
> corrija.
> >
> > > > De forma muy básica:
> >
> > > > Modelo: una extención de reglas de la base de datos, esto
> practicamente lo
> > > > resolves muy rapido con la utilidad de shell "cake bake" que se
> encuentra en
> > > > cake.
> >
> > > > Controlador: Aqui se trabajan las validaciones, la lectura y
> escritura de
> > > > datos desde y hacia la base de datos interactuando con el modelo.
> >
> > > > Vista: Aqui se resuelve lo que el usuario va a ver, este interactua
> con el
> > > > controlador, enviando datos a grabar o recibiendo datos que mostrar.
> >
> > > > Esto, algo asi como conceptos muuuy generales.
> >
> > > > En orden de carga de trabajo, creo que el modelo es lo mas rapido
> una vez
> > > > analizada y cerrada la lógica de negocios.
> >
> > > > Creo que la carga principal vendra en el desarrollo de controllers y
> luego
> > > > de las vistas, esto depende de que tanto trabajo se ponga en las
> vistas, ya
> > > > que el orden podría alterarse, pero por lo general al menos en mi
> > > > experiencia, me dio algo mas de trabajo los controllers.
> >
> > > > Espero te sea útil, saludos!
> >
> > > > Diego.
> >
> > > > El día 23/10/07, mbavio <[EMAIL PROTECTED]> escribió:
> >
> > > > > Gracias por la respuesta de ambos, siguiendo un poco con este
> tema,
> > > > > quisiera realizar otra pregunta, que no se si tiene una respuesta
> > > > > clara... cual parte del sistema requiere mas tiempo de trabajo? el
> > > > > modelo, la vista o el controlador? suponiendo que las personas que
> se
> > > > > ocupan de cada parte, saben de bases de datos, maquetacion y php,
> > > > > respectivamente... Lo que quiero saber con certeza es si mas o
> menos
> > > > > los 3 van a tener la misma carga de trabajo, o hay alguno que va a
> > > > > tener que escribir mas codigo que los otros... Espero que se
> entienda
> > > > > mi pregunta... Saludos.
> >
> > > > > On 23 oct, 10:51, dardosordi < [EMAIL PROTECTED]> wrote:
> > > > > > Js y Ajax -> a la vista.
> >
> > > > > > El Model es quien se encarga de validar y hablar con la base de
> datos.
> > > > > > La vista es lo que percibe el usuario. Y el Controlador estaría
> > > > > > cumpliendo la función de unir estos dos, ya que es difícil en el
> > > > > > desarrollo web acoplar la vista directamente al modelo (el MVC
> > > > > > original utilizaba el patrón observador). Básicamente el
> controlador
> > > > > > es quien arbitra la interacción del usuario con el sistema, y
> puede
> > > > > > comunicarse con el modelo y la vista.
> >
> > > > > > On 22 oct, 23:40, "Diego Villar" < [EMAIL PROTECTED]> wrote:
> >
> > > > > > > No me queda muy clara tu pregunta, pero me da la impresión de
> que te
> > > > > referis
> > > > > > > a scripts que se ejecutarán en el navegador, esto por lo
> general es
> > > > > mas
> > > > > > > parte de una vista que de un controlador, pensa en un
> controlador
> > > > > algo asi
> > > > > > > como en la capa que habla con la base de datos, realiza
> > > > > validaciones, etc y
> > > > > > > ese tipo de cosas y en la vista todo lo referente a el
> maquetado
> > > > > hacia el
> > > > > > > usuario.
> >
> > > > > > > saludos!
> >
> > > > > > > El día 22/10/07, mbavio <[EMAIL PROTECTED]> escribió:
> >
> > > > > > > > Hola, estoy tratando de dilucidar un asunto puntual... en
> que
> > > > > parte
> > > > > > > > iria todo lo que es referido al comportamiento del sitio,
> > > > > realizado en
> > > > > > > > js y ajax... en la vista? o en el controlador?
> >
> > > > > > > > Saludos, y gracias.
> >
> > > > > > > > Martin Bavio
> >
> > > --
> > > Joaquín Windmüller
> > > Cel: 0416-8319382
> >
> > > Weblog personal - Diseño web y más...
> > > [EMAIL PROTECTED]
> > > http://aikon.com.ve/
>
>
> >
>
--
Joaquín Windmüller
Cel: 0416-8319382
Weblog personal - Diseño web y más...
[EMAIL PROTECTED]
http://aikon.com.ve/
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---