Vanilla
Descripción general
Vanilla PHP es un proyecto de PHP puro sin ningún framework. Ofrece un punto de partida limpio para proyectos sencillos, dándote control total sobre la estructura de tu código con HTML, CSS, JavaScript y PHP.
Inicio rápido
Crear repositorio desde plantilla
En tu panel, ve a la pestaña Tools & Deployment. Haz clic en el botón "New Repository", selecciona la plantilla de Vanilla PHP del menú desplegable, introduce un nombre de repositorio y un subdominio, y luego haz clic en "Create Repository".
Clona tu repositorio
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Configurar la base de datos (opcional)
Si usas MySQL, obtén las credenciales de tu base de datos desde phpMyAdmin (enlace en el panel) y actualiza tus archivos PHP:
$host = 'your-host';
$dbname = 'your-database';
$username = 'your-username';
$password = 'your-password';
Empieza a desarrollar
Edita los archivos HTML, CSS, JavaScript y PHP directamente. ¡No se requiere paso de build!
Sube tus cambios
git add .
git commit -m "Initial setup"
git push origin main
Desarrollo local con Docker
Si no tienes PHP instalado localmente, puedes usar Docker para ejecutar un servidor PHP local. El proyecto incluye un Dockerfile con PHP 8.2 y Apache.
Requisitos previos
Instala Docker Desktop para tu sistema operativo (Windows, Mac o Linux).
Ejecutar con Docker
# Build and run the container
docker build -t my-php-app .
docker run -p 8080:80 -v $(pwd):/var/www/html my-php-app
# Or use a quick one-liner for development
docker run --rm -p 8080:80 -v $(pwd):/var/www/html php:8.2-apache
Abre http://localhost:8080 en tu navegador.
Estructura del proyecto
Entender dónde se ubican los archivos:
├── index.php # Punto de entrada principal
├── css/
│ └── style.css # Hojas de estilo
├── js/
│ └── script.js # Archivos JavaScript
├── includes/
│ ├── config.php # Configuración de la base de datos
│ ├── header.php # Cabecera reutilizable
│ └── footer.php # Pie reutilizable
├── images/ # Recursos de imágenes
├── Dockerfile # Configuración de build Docker
└── README.md # Documentación del proyecto
Tareas comunes
Conexión a la base de datos con PDO
Crea una conexión a la base de datos reutilizable:
<?php
$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
?>
Consultar la base de datos
Usa sentencias preparadas para consultas seguras:
<?php
// SELECT query
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
// INSERT query
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute([$name, $email]);
?>
Incluir archivos
Reutiliza código entre páginas:
<?php
include 'includes/header.php';
// Your page content here
include 'includes/footer.php';
?>
Manejar datos de formulario
Procesa peticiones POST de forma segura:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = htmlspecialchars($_POST['name'] ?? '');
$email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);
// Process the data...
}
?>
Tecnologías clave
PHP 8.2
Scripting del lado del servidor con características modernas de PHP y soporte MySQL/PDO.
HTML5
Estructura tus páginas web con elementos HTML semánticos.
CSS3
Da estilo a tus páginas con características modernas de CSS como Flexbox y Grid.
JavaScript
Añade interactividad con JavaScript puro, sin librerías necesarias.
Resolución de problemas
Falló la conexión a la base de datos
Causa: Credenciales de base de datos incorrectas o base de datos no accesible.
Solución: Comprueba tus credenciales en phpMyAdmin (enlace en el panel). Asegúrate de que el host, nombre de la base de datos, usuario y contraseña son correctos.
Los errores de PHP no se muestran
Causa: El reporte de errores está deshabilitado.
Solución: Añade al inicio de tu archivo PHP: ini_set('display_errors', 1); error_reporting(E_ALL);
Página en blanco
Causa: Error fatal de PHP con el reporte de errores deshabilitado.
Solución: Activa el reporte de errores (ver arriba) o consulta los logs del servidor. Causas comunes: errores de sintaxis, archivos faltantes o funciones no definidas.
CSS/JS no se carga
Causa: Rutas de archivos incorrectas.
Solución: Usa rutas relativas desde tu archivo HTML: href="css/style.css" o rutas absolutas: href="/css/style.css"
Los datos del formulario no se reciben
Causa: Método o action del formulario incorrectos.
Solución: Asegúrate de que tu formulario tiene method="POST" y el atributo action correcto apuntando a tu archivo PHP.
Flujo de despliegue
Cada vez que haces push de tu código a Git, tu aplicación se despliega automáticamente:
La URL de tu aplicación desplegada sigue este formato:
https://<your-subdomain>-<repo-name>.<session-domain>
Ejemplo: https://student01-module-a.demo.nstrim.app