Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Necesito una recomendación

Estas en el tema de Necesito una recomendación en el foro de PHP en Foros del Web. Trabajando con la API de Twitter he llegado a un punto de inflexión importante de la app. En concreto ya he testeado cómo publicar mensajes ...
  #1 (permalink)  
Antiguo 26/09/2013, 06:41
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Necesito una recomendación

Trabajando con la API de Twitter he llegado a un punto de inflexión importante de la app. En concreto ya he testeado cómo publicar mensajes en el twitter de cada usuario que se identifique con su cuenta twitter y todo funciona totalmente correcto.

Tengo la aplicación distribuida en carpetas siguiendo el patrón de arquitectura MVC.

Ahora tengo que escribir la lógica para que cada mensaje se publique en la cuenta de cada usuario correspondiente. Los datos del usuario cuando se ha identificado los tengo en sesion.

Evidentemente, para obtener de la base de datos el oauth_token y el oauth_token_secret de cada usuario tengo que contrastar el id en sesión con el id en la base de datos.

La duda es ¿dónde os parece más indicado realizar dicho acceso a la bd y contraste, en el control o en el modelo?

Es más que nada para tener una buena práctica tanto en esta aplicación como en futuras aplicaciones.

Saludos :D

EDITO

En general me gustaría saber dónde es más recomendable instanciar para acceder a la base de datos, si en el controlador o en el modelo.
__________________
Ayúdame a hacerlo por mi mismo.

Última edición por guardarmicorreo; 26/09/2013 a las 06:54
  #2 (permalink)  
Antiguo 26/09/2013, 07:11
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Necesito una recomendación

Siempre he leido que en el modelo van las consultas a la base de datos.
Pero por otro lado, tambien he leido que en el controlador hay que poner la logica como tal (sesiones, comprobaciones varias, etc...)
Así que no te sabria decir con exactitud, quiza un modelo nuevo en el que recuperar los datos y un controlador donde compararlos?

Me quedo por aqui para ver posibles respuestas mas logicas que la mia :D
  #3 (permalink)  
Antiguo 26/09/2013, 07:25
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Necesito una recomendación

Gracias DooBie!

Hasta ahora lo que he venido haciendo es que todas las clases van en el modelo, las funciones del controlador las instancian y pasan los datos.

En el controlador instancio a la base de datos, escribo el string con los parámetros que quiero obtener, editar o borrar de la base de datos y se los paso al modelo, el cual los procesa, los trae de vuelta al controlador y este los envía a la vista.

Pero quiero saber si es un buen procedimiento y práctica lo que estoy haciendo o debería hacerlo casi todo en el modelo :D

Espero más respuestas.

Saludos!
__________________
Ayúdame a hacerlo por mi mismo.
  #4 (permalink)  
Antiguo 26/09/2013, 07:36
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Necesito una recomendación

Hola, siguiendo el patrón de varios frameworks MVC como Zend o Yii te comento:

El controlador instancia el modelo y dependiendo de lo que la parte del CRUD que estés haciendo, o procesas datos para enviarlos a modelo y que este los termine de procesar u obtienes los datos por medio del modelo y con este haces las comprobaciones necesarias.

Si bien es cierto que necesitas comprobar el oauth_token y el oauth_token_secret con registros en tu base de datos, estos como tal lo trae una aplicación de terceros y por ello, en mi opinión, debería hacerse en el controlador.

El proceso que dices de que instancias el modelo en el controlador y en este haces las comprobaciones, me parece correcto.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: Ninguno
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 07:37.