Estoy relativamente bien versado en el diseño de sitios web. Principalmente uso LAMP, donde ya tengo un pequeño "framework", que uso. En resumen, separa la lógica del diseño y básicamente tengo un archivo lógico para uno o varios archivos de diseño, dependiendo de qué vistas sean compatibles con el diseño. Hay una sección de administrador y hay autenticación de usuario y todo eso. Multa.PHP MVC - ¿Cómo diseñar?
Por lo tanto, cuando busco ser más elaborado en mi forma de diseñar/programar en PHP o en la programación de sitios web en general, me pregunto cómo "pensar" MVC correctamente. Me estoy inclinando hacia este camino, ya que mi marco actual está muy orientado a DB y se ha vuelto algo pesado donde el rendimiento es esencial.
Así que aquí es mi pregunta: Estoy en lo cierto al suponer que un controlador corresponde típicamente a una "sección" o "página" y una vista se encarga de mostrar que el controlador, y que un modelo maneja los objetos utilizados por el controlador y se muestra en las vistas?
Tomemos un ejemplo (no demasiado elaborado, pero lo suficiente como para ver si mi pensamiento es válida):
Digamos que tenemos un sitio web sencillo juegos. Las secciones normalmente sería algo así como: portada, juegos, foros, y sobre/renuncias etc.
Los clases de controlador corresponde a las secciones, pero se hace un poco más elaborado para cubrir la "instancia única" versión de la objeto cubierto por la sección es decir, la sección de juegos se convierte en dos controladores; uno para descripción general de los juegos (lista de juegos) y otro para la página del juego en sí. El conjunto sería algo así como portada, descripción general de los juegos, página de juegos, foros, foro, página de temas, acerca de, y descargo de responsabilidad.
El vistas puede tener varios diseños para cada controlador, p. al igual que los controladores, pero tal vez varios tipos de vistas en las páginas de los foros (dependiendo de cómo quiera verlas) y páginas de juegos (tal vez una vista de punta más alta), y así sucesivamente.
El modelo (o DataObjects) son típicamente los usuarios, juegos, foros, temas, mensajes, y luego un montón de objetos de ayuda como las etiquetas temáticas, mejores puntuaciones del juego y lo que no debe hacer que los temas posibles para categorizar y los juegos capaz de tener puntuaciones más altas, etc.
Es la forma de pensar "correcta" anterior o estoy totalmente mal entendiendo todo el concepto de MVC para sitios web.
Estoy pensando en mudarse a CodeIgniter o algún otro marco de la luz (no dude en comentar sobre la elección marco o si es mejor ir por mi cuenta) desde mi propio marco es muy orientado DB-y no es así enfriamiento ahora que algunos de mis sitios superan las 70,000 páginas vistas por día.
Un sincero agradecimiento a todos aquellos que pueden ayudar en la respuesta de si o no mi opinión sobre MVC es algo correcto y también, si es posible, añadir algunas pistas de lo que pensar cuando la codificación MVC y todavía quieren mantener el corte rendimiento extremo (tanto como sea posible con los lenguajes guionados).
¿Por qué no usar zend por ejemplo? –
zend? ¿ligero? ¿alto rendimiento? No lo creo. La pregunta realmente no es sobre qué marco, sino más bien si estoy pensando en MVC correctamente en un entorno web. Pero gracias de todos modos. – Adergaard
Si el servidor está configurado correctamente y puede lograr un sitio web de alto rendimiento con Zend, no hay problema, pero debo decir que, de entrada, puede haber algunas cosas que afecten el rendimiento. – ChrisR