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.

Voordat je begint
Zorg ervoor dat je dashboard geopend is - je hebt de daar getoonde Git-inloggegevens nodig. Dit sjabloon bevat PHP met MySQL/PDO-ondersteuning via Apache.

Snelstart

1

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

2

Je repository klonen

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

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

Beginnen met ontwikkelen

Bewerk HTML-, CSS-, JavaScript- en PHP-bestanden direct. Geen build-stap vereist!

5

Je wijzigingen pushen

git add .
git commit -m "Initial setup"
git push origin main
Elke push naar Git implementeert automatisch je applicatie. Bekijk je Module Work URL op het dashboard om je live site te zien.

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.

Wat is Docker?
Docker maakt geïsoleerde "containers" met alle software die je nodig hebt (PHP, Apache, MySQL-extensies) zonder ze op je computer te installeren. Zie het als een lichtgewicht virtuele machine.

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.

Opmerking
Docker is optioneel voor lokale ontwikkeling. Het NStrim-platform handelt de implementatie automatisch af - je hebt Docker alleen nodig als je PHP lokaal wilt uitvoeren zonder het te installeren.

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:

Codewijziging git push Implementeren naar Apache Live!

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

Voor meer informatie kun je de PHP-documentatie en MDN Web Docs raadplegen.