Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

conexion bbdd en modelo o controlador?

Estas en el tema de conexion bbdd en modelo o controlador? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos. Mataré a quién inventó los frameworks que sólo complican las cosas y me hacen odiar PHP cuando antes me gustaba. Zend y ...
  #1 (permalink)  
Antiguo 11/01/2013, 18:02
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Pregunta conexion bbdd en modelo o controlador?

Hola a todos.

Mataré a quién inventó los frameworks que sólo complican las cosas y me hacen odiar PHP cuando antes me gustaba. Zend y su infinita librería que tardaré 1000 años en aprenderla entera.

Dicho esto, en algunos modelos MVC he visto que la conexión a la base da datos MySql la hacen desde el controlador y en otros desde el modelo. Desde dónde es la forma correcta de hacerlo?

Gracias de antemano.
  #2 (permalink)  
Antiguo 11/01/2013, 18:07
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 137
Respuesta: conexion bbdd en modelo o controlador?

la forma correcta es hacerla ni en el modelo ni en el controlador, debería estar en un bootstrap o una clase que ejecuta ciertas funciones antes de llamar al controlador
por cierto para no odiar los FW primero tienes que entender muchos conceptos que van mas allá del lenguaje, esos conceptos son POO, patrones de diseño (MVC, etc...) entendiendo eso todo sera cosa facil ;)
__________________
>> abimaelmartell.com
  #3 (permalink)  
Antiguo 11/01/2013, 18:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: conexion bbdd en modelo o controlador?

El bootstrap no es solo para iniciar las "tareas" iniciales de la aplicacion? La base de datos no debería quedarse abierta nada más iniciarse la aplicacion, no?
  #4 (permalink)  
Antiguo 11/01/2013, 18:16
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 137
Respuesta: conexion bbdd en modelo o controlador?

si solo vas a usar DB en ciertas cosas pues no conviene dejarla abierta, y en ese casi deberías ponerla en el modelo, ya que el controlador no deberia tener acceso a la DB.
__________________
>> abimaelmartell.com
  #5 (permalink)  
Antiguo 11/01/2013, 18:20
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: conexion bbdd en modelo o controlador?

Inicializarla en un controlador es muy mala idea y en un modelo depende un poco del patrón que estés utilizando, de todas formas en Zend 1 no es necesario inicializar la conexión en el bootstrap simplemente configura el resource y el fw hace el resto(lazy loading) y si estas con Zend 2 basta con setear el config y hacer la llamada desde el locator.

Talves si muestras algo de código se te pueda hacer alguna sugerencia.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 12/01/2013, 10:17
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: conexion bbdd en modelo o controlador?

Debería colgar todo los archivos y sería muy engorroso. Se trata de un esquema MVC hecho desde 0. A grandes rasgos, la estructura de archivos consta de 1 index.php y una carpeta "app".
Dentro de "app" hay 3 carpetas: controllers, models, views.
En views está la carpeta css, js, img, etc. además de páginas .html
En controllers están los controles que hay que tener
En models en principio iría la conexión a la bbdd, y aquellas clases que hacen consultas a la bbdd mediante SQL.
  #7 (permalink)  
Antiguo 12/01/2013, 11:10
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: conexion bbdd en modelo o controlador?

Un modelo no tiene exclusivamente porque estar ligado a la persistencia (bbdd, archivos, etc).

El modelo deberá contener la lógica de tu aplicación. Desde luego, ésta no debe estar en el controlador, pues el controlador sólo debería encargarse de "comprender" las acciones del usuario y notificar al modelo para que haga tal o cual cosa según dichas acciones.

A su vez, una capa de persistencia se encargará de persistir tus modelos, en caso de que sea necesario hacerlo.

Sobre la conexión a la base de datos, yo soy partidario de iniciarla cuando se va a utilizar algún recurso de una base de datos.

Saludos
  #8 (permalink)  
Antiguo 12/01/2013, 11:27
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: conexion bbdd en modelo o controlador?

@cslbcn, no es necesario postear todo lo que tengas, basta con que muestres como lo estas haciendo ahora, de todas formas te sugiero Pimple un DiC muy sencillo de utilizar e integrar.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: bbdd, conexion, framework, modelo, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:54.