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.

Antes de empezar
Asegúrate de tener tu panel abierto - necesitarás las credenciales de Git que se muestran allí. Esta plantilla incluye PHP con soporte MySQL/PDO mediante Apache.

Inicio rápido

1

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".

2

Clona tu repositorio

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

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';
4

Empieza a desarrollar

Edita los archivos HTML, CSS, JavaScript y PHP directamente. ¡No se requiere paso de build!

5

Sube tus cambios

git add .
git commit -m "Initial setup"
git push origin main
Cada push a Git despliega tu aplicación automáticamente. Consulta tu URL de trabajo del módulo en el panel para ver tu sitio en vivo.

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.

¿Qué es Docker?
Docker crea "contenedores" aislados con todo el software que necesitas (PHP, Apache, extensiones MySQL) sin instalarlo en tu ordenador. Piénsalo como una máquina virtual ligera.

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.

Nota
Docker es opcional para el desarrollo local. La plataforma NStrim gestiona el despliegue automáticamente: solo necesitas Docker si quieres ejecutar PHP localmente sin instalarlo.

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:

Cambio de código git push Despliegue a Apache ¡En vivo!

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

Para más información, visita la documentación de PHP y MDN Web Docs.