2010-02-10 25 views
11

Estoy usando php y construyendo un MVC para mi aplicación web. Estoy al paso donde necesito conectarme a mi base de datos, mirar la URL actual, comparar eso con los datos en mi base de datos y luego devolver el contenido correcto de mi base de datos al usuario.Dónde conectar a DB en MVC

Mi pregunta es, ¿dónde debería poner el código que se conecta al DB y lo procesa? ¿Esto iría en la clase Modelo?

Respuesta

10

El modelo debe ser la entidad que utiliza activamente la conexión de la base de datos, para los modelos simples que utilizan una puerta de enlace de tabla/implementación de registro activo puede funcionar. Para modelos más complejos, un mapeador de datos aísla aún más la base de datos del resto de su aplicación (lo que hace que sea menos invasivo cambiar un back-end de almacenamiento).

Su controlador debe procesar la solicitud y pasar los datos relevantes que sean necesarios para el modelo.

Dicho esto, simplemente configurar una conexión de base de datos generalmente se realiza mediante algún tipo de script de arranque. El modelo (o el mapeador de datos) luego usa la conexión. No estoy seguro si eso técnicamente cae bajo 'controlador'. En la práctica, la mayoría de los marcos tienen bootstraps, enrutadores y controladores frontales, cualquiera que sea su denominación, su base de datos debe ser utilizada por el modelo pero configurada por su bootstrap.

4

Toda la interacción de la base de datos está dentro de la clase Model.

2

Bueno, el modelo es solo la definición de un objeto, que podría ser un vehículo, por ejemplo. Por lo tanto, la conexión a la base de datos debe estar en una clase abstracta Model (que heredaría la clase Vehicle), con métodos que podrían guardar esta información.

Si desea más flexibilidad y más cosas avanzadas que ya se han hecho, use un marco, personalmente yo recomendaría CakePHP.

Cuestiones relacionadas