Planeo reescribir una aplicación que usa Zend Framework y Twilio (para enviar y recibir mensajes SMS). Mirando hacia atrás, no creo que coloque todas las funciones de SMS en los lugares correctos. Esto ha dificultado la actualización del sitio web.¿Dónde incluir la funcionalidad SMS en una aplicación MVC?
Actualmente, tengo un controlador de SMS que gestiona las peticiones de Twilio (para mensajes entrantes). Implemento una máquina de estado finito (sí, en un gran método de acción) que puede manejar varios comandos. Las respuestas se envían directamente desde este controlador, pero también desde los modelos que administran mis controladores. Debido a esto, terminé con plantillas de mensajes de texto duplicados y confusión en cuanto a dónde se originó exactamente un mensaje.
¿Cómo debería haber hecho esto? ¿Los mensajes SMS entrantes deben analizarse y procesarse en su propio modelo? Actualmente, no tengo un modelo de SMS, solo un controlador de SMS. O, ¿qué sugieres?
Si es importante, planeo volver a escribir mi aplicación con CakePHP.
Sí, debería estar en el modelo. El modelo contiene la lógica de la aplicación. La vista y el controlador forman una (de muchas posibles) interfaz de usuario para el modelo. Quieres Thin Controllers y Fat Models. – Gordon
posible duplicado de [en MVC, ¿dónde traza la línea entre un controlador y modelo?] (Http://stackoverflow.com/questions/3499336/in-mvc-where-do-you-draw-the-line- entre-un-controlador-y-modelo) – Gordon