¿Cuáles son algunos buenos recursos para aprender a usar la estructura MVC, particularmente en PHP?

Primero, necesitarás un buen conocimiento de la programación orientada a objetos (OOP). Hasta que no esté al menos cómodo y sea un tanto competente con la POO, no tiene mucho sentido tratar de aprender sobre MVC. Técnicamente hablando, puede crear sitios MVC sin necesidad de conocer OOP, pero eso es bastante raro, y además, nunca entenderá todo el software de código abierto MVC, lo que es mucho más importante.

Una vez que tenga una comprensión adecuada, lo mejor sería descargar una copia de uno de los siguientes marcos: CodeIgniter – o Diamond PHP (PM para un enlace de descarga a Diamond PHP). Recomiendo específicamente esos dos, porque son más fáciles de aprender y trabajar que la mayoría de los otros marcos. Sugiero CodeIgniter; Diamond PHP es un marco en el que estoy trabajando, pero aún no he escrito documentación y los documentos de CodeIgniter son excelentes.

Dedique una o dos semanas a crear un proyecto desechable (como intentar recrear su sitio actual de Joomla) para que pueda familiarizarse con los conceptos básicos de MVC. Una vez que entiendas eso:

  1. Los modelos se utilizan para interactuar con la base de datos.
  2. Las vistas en V se utilizan para mostrar los datos de sus modelos
  3. Los controladores de C manejan el enrutamiento y la mayoría de la lógica
  4. Y lo más importante, ¿por qué y cómo lo anterior está estructurado de esa manera?

Entonces recomendaría crear tu propio pequeño marco. Hay algunos tutoriales (bastante desactualizados) sobre cómo hacerlo; pero de todos modos, no debería necesitar eso para más que un punto de referencia una vez que sienta que está listo para hacer el suyo.

Y solo una nota preventiva: algunos no estarán de acuerdo con mi definición de MVC anterior. Estrictamente hablando, estarían en lo correcto. Pero esa es su definición y uso comunes, así que no se obsesione con esos detalles menores.

Aquí hay un buen punto de partida para ti. No aborda específicamente MVC, pero tendrá que aprender la mayoría de estas cosas a medida que avanza.

PHP: el camino correcto

Uno de los mejores recursos que encontré cuando aprendí MVC por primera vez fue la documentación de codeigniter

CodeIgniter Web Framework