Este es un tema masivo, pero intentará condensarlo en solo un par de puntos clave; Demasiado terreno para cubrir aquí: se han creado libros y cursos completos para repasar esto.
Primero, necesitará una sólida comprensión no solo de la POO, sino también de algunas de las técnicas más avanzadas, como la inyección de dependencia y las clases de fábrica. No llegará muy lejos hasta que tenga eso en su haber.
También querrá familiarizarse con PSR y Composer para manejar la carga automática y la administración de la biblioteca.
- ¿Cuál es una buena manera de automatizar el proceso de ofuscación para bibliotecas JavaScript personalizadas?
- ¿Cuáles son los pasos necesarios para construir un navegador web?
- ¿Se pueden tener páginas http y https en un dominio?
- ¿Debo continuar desarrollando en PHP 5.3 o migrar a PHP 7.0?
- ¿Cuántas consultas MySQL están bien por página?
Con eso fuera del camino, querrás enfocarte en algunas ideas generales sobre la arquitectura. El objetivo de MVC es ayudar a facilitar la separación de las preocupaciones. Los controladores solo deben actualizar los modelos y tratar con la entrada del usuario. Los modelos y las vistas funcionan muy juntos: los modelos procesan datos y luego actualizan los archivos de vista correspondientes en consecuencia. Además, necesitará un enrutador para asignar solicitudes a rutas. Puede hacer esto dinámicamente o rutas de código duro. La clave es construir todos estos componentes separados de manera que todos mantengan sus responsabilidades específicas mientras trabajan juntos como un todo cohesivo; aquí es donde entra en juego la inyección de dependencia.
Ahora también sería un buen momento para considerar cómo implementará la gestión de eventos. Para esto, recomendaría simplemente usar el componente Symfony en lugar de rodar el suyo … esto es difícil de hacer correctamente y muy fácil de fastidiar.
Apenas hemos arañado la superficie, pero esto debería darle mucha comida para pensar para comenzar.
Un par de consejos:
- Lo más probable es que esté creando un archivo de configuración global para la base de datos, el entorno y la configuración de todo el sitio. Mantenga esta, y cualquier otra información confidencial, fuera de sus repositorios … hay bibliotecas disponibles que puede usar para importarlas a su programa.
- Comenta todo.
- La seguridad debe ser su prioridad número 1 en cada paso del camino. No cometas el error de los programadores perezosos de pensar que siempre puedes volver a hacerlo y hacerlo seguro.
- Uno de los primeros módulos que debe hacer e implementar de inmediato es un buen sistema de registro. Vale su peso en oro, para usted y los desarrolladores que usan su marco.
- Planifique desde el principio cómo hacer que su código central sea extensible y modular. Por ejemplo, si finalmente desea crear un complemento, y este complemento necesita anular un archivo central, ¿cómo lo implementará sin perder la capacidad de actualizar ese archivo central en el futuro?
- Finalmente, planifique las cosas a fondo antes de escribir una sola línea de código a medida que avanza paso a paso.