Vanilla
Overzicht
Vanilla PHP is een puur PHP-project zonder framework. Het biedt een schoon startpunt voor eenvoudige projecten en geeft je volledige controle over je codestructuur met HTML, CSS, JavaScript en PHP.
Snelstart
Repository aanmaken vanuit sjabloon
Ga in je dashboard naar het tabblad Tools & Deployment. Klik op de knop "New Repository", selecteer het Vanilla PHP-sjabloon uit het dropdownmenu, voer een repository-naam en subdomein in en klik vervolgens op "Create Repository".
Je repository klonen
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Database configureren (optioneel)
Als je MySQL gebruikt, haal je je database-inloggegevens uit phpMyAdmin (link op het dashboard) en werk je je PHP-bestanden bij:
$host = 'your-host';
$dbname = 'your-database';
$username = 'your-username';
$password = 'your-password';
Beginnen met ontwikkelen
Bewerk HTML-, CSS-, JavaScript- en PHP-bestanden direct. Geen build-stap vereist!
Je wijzigingen pushen
git add .
git commit -m "Initial setup"
git push origin main
Lokale ontwikkeling met Docker
Als je geen PHP lokaal hebt geïnstalleerd, kun je Docker gebruiken om een lokale PHP-server uit te voeren. Het project bevat een Dockerfile met PHP 8.2 en Apache.
Vereisten
Installeer Docker Desktop voor jouw besturingssysteem (Windows, Mac of Linux).
Uitvoeren met 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
Open http://localhost:8080 in je browser.
Projectstructuur
Begrijpen waar bestanden zich bevinden:
├── index.php # Hoofdstartpunt
├── css/
│ └── style.css # Stylesheets
├── js/
│ └── script.js # JavaScript-bestanden
├── includes/
│ ├── config.php # Databaseconfiguratie
│ ├── header.php # Herbruikbare header
│ └── footer.php # Herbruikbare footer
├── images/ # Afbeeldings-assets
├── Dockerfile # Docker build-configuratie
└── README.md # Projectdocumentatie
Veelvoorkomende taken
Database-verbinding met PDO
Maak een herbruikbare database-verbinding:
<?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());
}
?>
De database opvragen
Gebruik prepared statements voor veilige queries:
<?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]);
?>
Bestanden includen
Hergebruik code over pagina's heen:
<?php
include 'includes/header.php';
// Your page content here
include 'includes/footer.php';
?>
Formuliergegevens verwerken
Verwerk POST-verzoeken veilig:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = htmlspecialchars($_POST['name'] ?? '');
$email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);
// Process the data...
}
?>
Belangrijkste technologieën
PHP 8.2
Server-side scripting met moderne PHP-functies en MySQL/PDO-ondersteuning.
HTML5
Structureer je webpagina's met semantische HTML-elementen.
CSS3
Style je pagina's met moderne CSS-functies zoals Flexbox en Grid.
JavaScript
Voeg interactiviteit toe met vanilla JavaScript - geen bibliotheken nodig.
Probleemoplossing
Database connection failed
Oorzaak: Onjuiste database-inloggegevens of database is niet bereikbaar.
Oplossing: Controleer je inloggegevens in phpMyAdmin (link op het dashboard). Zorg ervoor dat host, databasenaam, gebruikersnaam en wachtwoord correct zijn.
PHP errors not showing
Oorzaak: Foutrapportage is uitgeschakeld.
Oplossing: Voeg bovenaan je PHP-bestand toe: ini_set('display_errors', 1); error_reporting(E_ALL);
Blank white page
Oorzaak: PHP fatale fout met foutrapportage uitgeschakeld.
Oplossing: Schakel foutrapportage in (zie hierboven) of bekijk de serverlogs. Veelvoorkomende oorzaken: syntaxisfouten, ontbrekende bestanden of niet-gedefinieerde functies.
CSS/JS not loading
Oorzaak: Onjuiste bestandspaden.
Oplossing: Gebruik relatieve paden vanuit je HTML-bestand: href="css/style.css" of absolute paden: href="/css/style.css"
Form data not received
Oorzaak: Verkeerde formuliermethode of -actie.
Oplossing: Zorg ervoor dat je formulier method="POST" heeft en het juiste action-attribuut dat naar je PHP-bestand verwijst.
Implementatie-workflow
Elke keer dat je code naar Git pusht, wordt je applicatie automatisch geïmplementeerd:
De URL van je geïmplementeerde applicatie volgt dit formaat:
https://<your-subdomain>-<repo-name>.<session-domain>
Voorbeeld: https://student01-module-a.demo.nstrim.app