Voorkennis
- Basiskennis programmeren in php
Dit ga je leren
- Functies maken en gebruiken
- Parameters meegeven aan een functie
- Een waarde teruggeven uit een functie.
Opdracht
Je gaat een gallery maken met afbeeldingen in php zoals in dit voorbeeld
Je mag zelf bepalen welke afbeeldingen je gebruikt.
Gebruik een image-editor (paint.net of photoshop) om van de afbeeldingen een uitsnede te maken en op te slaan in een geschikt formaat. (bijv. 300 x 400 px.).
- Maak een map 'images' met daarin de afbeeldingen.
- Maak een php-pagina met daarin een functie waarin de paden van alle afbeeldingen in de map 'images' worden verzameld in een array. Bijvoorbeeld met scandir of glob.
- Maak in diezefde functie een lus waarbij de array met image-paden wordt doorlopen
- Combineer (render) de paden met html zodat de afbeeldingen worden weergegeven.
- Geef de complete html-code terug uit de functie
- image-tags
- een attribute 'class' die verwijst naar een css-class voor de opmaak
- een attribute 'src' met het pad naar de afbeelding
- Roep de functie aan en toon het resultaat.
Uitleg
- Uitleg over het bijsnijden en opslaan van afbeeldingen
- Uitleg over functions in php
- Uitleg over functions op w3schools
Signatuur van de functie:
<?php
/*
* @param array $map
* @return string
*
* /
function showPictures($path) {
// code om alle afbeeldingen in $path toe te voegen aan een array
// foreach-loop met code om afbeeldingen in '$path' weer te geven
return $html;
}
<html>
<body>
<?php echo showPictures("/map/afbeeldingen/"); ?>
</body>
</html>
Output resulaat zichtbaar in de browser:
<html>
<body>
<img class="image-class" src="/path/to/image1.png" alt="image image1.png">
<img class="image-class" src="/path/to/image2.png" alt="image image2.png">
<img class="image-class" src="/path/to/image3.png" alt="image image3.png">
...
</body>
</html>
Resultaat
- Een PHP-pagina met daarin html-code en één PHP-functie.
- Functionaliteit volgens de beschrijving in de opdracht.
Evaluatie
Vraag om een code-review om feedback en tips voor best-practices op jouw aanpak te krijgen.