6.4Checklists y modelos
Lo esencial en 30 segundos
- Al inicio : entorno alineado con prod, Composer + .gitignore, MVC/PSR-4, base modelada, strict_types y ===.
- Antes de producción : preparadas + htmlspecialchars + CSRF, secretos en .env, errores registrados, PHPUnit + CI/CD, copias de seguridad.
- Regla : una checklist marcada cada vez vale más que un método sabido de memoria — en rush, se ejecuta.
Hilo Riad — las fichas a mano
Tras un año, las dos fichas siguientes están expuestas en casa de Riad : la de inicio junto a la pantalla, la de puesta en producción en su cajón con el contacto del responsable. « Lo que me salvó, dice en sustancia, no es conocer los puntos, es marcarlos cada vez — sobre todo las semanas de rush. »
Adapta las formulaciones a tu contexto, guarda la estructura : es ella la que evita olvidos e incidentes.
Dos listas para guardar a mano
Una checklist al inicio de un proyecto PHP, una antes de la puesta en producción. Convierten los buenos reflejos en rutina verificable.
Al inicio de un proyecto PHP
- Entorno local listo (pack AMP o Docker), versión de PHP alineada con producción.
- Composer iniciado ; .gitignore (vendor/, .env) ; secretos fuera del repositorio.
- Estructura decidida (archivos lógicos o MVC / framework), namespaces coherentes (PSR-4).
- Base modelada (tablas, relaciones) ; acceso vía PDO (modo excepción) o un ORM.
- Reflejos activos : declare(strict_types=1), === por defecto, no confiar nunca en las entradas.
Antes de la puesta en producción
- Seguridad : consultas preparadas (SQL), htmlspecialchars (visualización), CSRF, contraseñas cifradas, autorización.
- Secretos y config por variables de entorno (nunca en el código ni Git) ; HTTPS activado.
- Errores NO mostrados (registrados) ; OPcache activado ; autoloader Composer optimizado.
- Pruebas (PHPUnit) en verde ; pipeline CI/CD que prueba antes de desplegar ; despliegue vía Git.
- Migraciones ejecutadas, entornos separados (dev/staging/prod), copias de seguridad listas.
Guion listo para decir — validar una puesta en producción (30 s)
« ¿Preparadas, htmlspecialchars, CSRF, hash, autorización ? ¿Secretos en .env fuera de Git, HTTPS ? ¿Errores registrados, OPcache, autoload optimizado ? ¿PHPUnit en verde y CI/CD ? ¿Migraciones, entornos separados, copias de seguridad ? Si un no, no se pone en producción. »
Modelo copiar-pegar — seguimiento inicio + producción (1 línea por punto)
TPE / presupuesto pequeño
Fichas en una página expuesta en la pared : lo esencial (versiones, preparadas, .env, pruebas) basta.
Pyme Constantine
Prever las realidades locales en la ficha : responsables conocidos, picos, desplazamientos, copias de seguridad verificadas.
Remoto / híbrido
Añadir una línea de confirmación escrita al seguimiento : a distancia, una puesta en producción fechada y validada evita malentendidos.
Intercultural
Explicitar los títulos por escrito : lo que parece evidente (quién valida, qué entorno) no lo es para todos.
Desafío 48h — aplica mañana
Toma 1 proyecto real, pasa la checklist « al inicio » y marca en qué punto está. Anota el responsable en la ficha producción.
- Marqué una checklist sobre un proyecto real.
- Sé sacar el inicio y el antes-de-producción en el buen momento.
- Hice el desafío 48h o planifiqué su fecha.
Riad se dispone a poner su aplicación PHP en producción. ¿Qué debe marcar con prioridad ?
Truco : estas checklists evitan lo esencial de los incidentes — fallo de seguridad, secreto filtrado, errores expuestos en producción, regresión no detectada, despliegue fallido.