Tema
Snippets PHP
Fragmentos de PHP 8 listos para pegar en tus proyectos. Están pensados para hosting compartido (Apache + PHP + MySQL) sin necesidad de frameworks, aunque la lógica es la misma que usarías dentro de Laravel o Slim.
Todos comparten una misma base: un archivo includes/db.php con una conexión PDO reutilizable y un pequeño lector de .env. Empieza por ahí y luego toma las piezas que necesites.
Estructura recomendada
txt
mi-proyecto/
├── .env ← credenciales (NO se sube a Git)
├── .htaccess
├── includes/
│ ├── env.php ← lee el archivo .env
│ ├── db.php ← conexión PDO (singleton)
│ ├── auth.php ← sesiones, login, roles
│ └── helpers.php ← e(), csrf, redirect...
├── public/ o raíz ← páginas accesibles (index.php, login.php...)
└── uploads/ ← archivos subidos por usuariosTemario
- Conexión PDO reutilizable — singleton,
.envsimple y helperdb(). - Registro, login y logout — sesiones seguras y
password_hash. - Recuperar contraseña — token con expiración enviado por correo.
- CRUD completo con PDO — listar, crear, editar y eliminar productos.
- Subida segura de imágenes — validación MIME y redimensionado con GD.
- Correo con PHPMailer — SMTP de Gmail, hosting o Brevo.
- Formulario de contacto — validación, CSRF y honeypot antispam.
- Paginación y buscador —
LIMIT/OFFSETy búsqueda con filtros. - API REST JSON — router mínimo con verbos HTTP.
- Protección por roles — admin, editor y cliente.
- Exportar a CSV y Excel — CSV compatible con Excel y
.xlsxreal. - Generar PDF con Dompdf — facturas y reportes desde HTML.
- Router con URLs amigables —
.htaccessy front controller.
Requisitos
PHP 8.1 o superior con las extensiones pdo_mysql, mbstring, gd y fileinfo (vienen activas en casi cualquier hosting). Para PHPMailer, Dompdf y PhpSpreadsheet necesitas Composer.