Ronald Kerssies | Mar 24, 2023

CSS-link function

Voorkennis

  • Basiskennis programmeren in php

Dit ga je leren

  • Functies maken en gebruiken
  • Parameters meegeven aan een functie
  • Een waarde teruggeven uit een functie.
functions

Opdracht

Genereer de links naar css-bestanden in de <head> van de html-code met PHP:

  • Je laat php een map scannen met css-bestanden
  • Met de bestandsnamen maak je links naar de css-bestanden
  • Je geeft de links weer in de <head> van de html-code.
  1. Maak een map 'css' met daarin enkele css-files (extensie .css).
  2. Maak een index-pagina met daarin een functie waarin de complete paden naar alle css-files in de map 'css' worden verzameld in een array.
    Bijvoorbeeld met scandir of glob.
  3. Maak een lus waarbij de array met css-paden wordt doorlopen
  4. Combineer de paden met html-code, zodat de correcte link-tags worden opgebouwd (renderen).
  5. Geef de complete html-code terug uit de functie
    • alle link-tags bestaande uit:
      • de link-tag
      • een attribuut 'rel' met de waarde 'stylesheet'
      • een attribute 'href' met het pad naar de css-file
  6. Roep de functie aan in de head-tag zodat de links op die plek worden getoond.

Uitleg

Signatuur van de functie:

<?php
/*
* @param array $path
* @return string
*
*/

function cssLinks($path) {

// code om alle css-files in $path toe te voegen aan een array
// foreach-loop met code om css-paden in '$path' weer te geven

return $html;
}
?>


<html>
<head>
<?php echo cssLinks("css"); ?>
</head>
</html>

Output resulaat zichtbaar in de browser:

 <html> 
<head>
<link rel="stylesheet" href="/path/to/layout.css">
<link rel="stylesheet" href="/path/to/navbar.css">
<link rel="stylesheet" href="/path/to/gallery.css">
...
</head>
<body>
<!-- weergave wat voor iedereen te zien is in de browser -->
</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.