Week 2 – Projectstructuur & Includes;
In week 2 zorg je dat je project overzichtelijk en professioneel wordt opgezet.
Je leert code hergebruiken en data gestructureerd opslaan.
Wat moet je kennen (samenvatting)
- Scheiding van layout en logica
- Werken met een
includes/map includeenrequire- Associative arrays (
'key' => 'value') - Verschil tussen gewone arrays en associative arrays
- Data uitlezen met
$array['key'] - Vooruitblik:
fetch(PDO::FETCH_ASSOC)
1. Scheiding van layout en logica
Uitleg
Grote projecten worden onoverzichtelijk als alles in één bestand staat.
Daarom splits je herbruikbare onderdelen (header, nav, footer) uit in aparte bestanden.
Wat moet je kennen
- HTML hergebruiken via includes
- PHP bovenaan, HTML daaronder
- Logische mappenstructuur
Voorbeeld
<?php
$paginaTitel = "Home";
include 'includes/header.php';
include 'includes/nav.php';
?>
<main>
<h1><?= $paginaTitel ?></h1>
</main>
<?php include 'includes/footer.php'; ?>
Structuur bespaart tijd en voorkomt fouten.
2. include vs require
Uitleg
Beide voegen een bestand toe.requirestopt het script als het bestand ontbreekt.includegeeft alleen een waarschuwing en gaat door.
Wat moet je kennen
includerequire- Relatieve paden
Voorbeeld
include 'includes/footer.php';
require 'includes/db.php';
Gebruik require voor essentiële bestanden (zoals je database connectie).
3. Associative arrays
Uitleg
Een gewone (reguliere) array gebruikt nummers als index:$kleuren = ["rood", "blauw"];
Een associative array gebruikt namen (keys) in plaats van nummers.
Dit maakt je data duidelijk en leesbaar.
Wat moet je kennen
- Verschil tussen
$array[0]en$array['key'] 'key' => 'value'- Meerdere key-value paren
Voorbeeld
$games = [
"game1" => "Zelda",
"game2" => "Mario"
];
echo $games["game1"];
Keys zijn labels voor je data.
4. Vooruitblik: fetch(PDO::FETCH_ASSOC)
Uitleg
Wanneer je data uit de database haalt kan je die op verschillende manieren terugkrijgen.
Elke manier heeft een voor- én nadeel.
Omdat jij nu net geleerd hebt wat een associative array is, gaan we de database vragen om het op deze manier naar ons project terug te sturen.
Daarom gebruiken wePDO::FETCH_ASSOC.
Wat moet je kennen
fetch(PDO::FETCH_ASSOC)fetchAll(PDO::FETCH_ASSOC)
Voorbeeld
$item = $stmt->fetch(PDO::FETCH_ASSOC);
echo $item["title"];
Veelgemaakte fouten (kort)
1. Verkeerd pad bij include
include 'header.php';
include 'includes/header.php';
2. Associative array lezen met index
echo $games[0];
echo $games["game1"];
3. Alles in één bestand zetten
❌ Header, SQL en HTML door elkaar in index.php
✅ Gebruik aparte bestanden in includes/