Ronald Kerssies | Mar 24, 2023

Bootstrap-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

Je gaat eem PHP-applicatie opbouwen uit verschillende onderdelen:

  • Je maakt gebruik van
    • PHP-functies in kern PHP-files inlezen in de index-file (include / include_once)

      Dit zijn de PHP-files die altijd nodig zijn om de web-applicatie te kunnen laten werken.
      en zijn geplaatst in de 'core'-folder.
      Deze files met PHP-functies moeten allemaal automatisch worden ingelezen, zodat ze kunnen worden gebruikt in de web-applicatie.
    • PHP-files die in bepaalde situaties worden aangevraagd (door te klikken op een menu-item / url-verzoek )
      Deze PHP-functies staatn in PHP-files in de map 'content'.
      De volgende opdracht gaat hiermee aan de slag.


  1. Maak mappen en files aan die lijkt op de onderstaande structuur:
website03
|-- css
|-- gallery.css
|-- layout.css
|-- navbar.css
|-- core
|-- css.php // file met functie uit eerdere opdracht
|-- navbar.php
|-- bla.php
|-- content
|-- home.php
|-- gallery.php // file met functie uit eerdere opdracht
|-- articles.php
|-- bla.php
|-- index.php
  1. Maak in de index-pagina een functie met de naam "bootstrap", waarin de paden van alle PHP-files in de map 'ore' worden verzameld in een array.
    Bijvoorbeeld met scandir of glob.
  2. Maak in diezefde functie een lus waarbij de array met PHP-paden wordt doorlopen
  3. Lees alle PHP-files in met 'include'.
  4. Geef als de loop goed is verlopen wordt er een true terug gegeven, anders een false
  5. Roep de functie "bootstrap" aan.

Verbeteringen 7. Er staat nu een bootstrap-functie in de index.php file. Ook deze functie is een core-functie en wordt in een bestand in de core-folder geplaatst. 8. Include de bootstrap PHP-file als eerste in de index-file
8. Roep de bootstrap functie aan in de index-file VOORDAT een andere (eigen gemaakte) PHP-functie wordt aangeroepen. 9. Merk op dat de bootstrap-file al een keer eerder is ingelezen!
Waardoor zou dit kunnen komen?
10. Pass de bootstrap-functie aan waarbij de 'include' wordt vervangen door 'include_once'.
een werkende PHP-bootstrap.

Uitleg

Signatuur van de functie:

<?php
/*
* @param array $path
* @return string
*
* /
function bootsrap($path) {

// code om alle PHP-files in $path toe te voegen aan een array
// foreach-loop met code om PHP-paden in '$path' en 'include' de files

return true;
}

bootstrap("core");
$css = function cssLinks("/map/afbeeldingen/");
?>
<html>
<head>
<?php echo $css; ?>
</head>

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>

Tip:

<?php
include('map/php-file.php'); // including a PHP-file
include_once('map/php-file.php'); // including the same PHP-file again without an error-message or break
?>

Op te leveren

  • Meer structuur in de index-file en andere PHP-files door functies in aparte bestanden en mappen te plaatsen
  • Een PHP-pagina met waarin alle core PHP-files met functies automatisch worden ingelezen.
    Alle ander PHP-functies in de core-folder zijn daarna allemaal aan te roepen in de applicatie, zonder deze PHP-files allemaal apart in te lezen
  • In de index.php wordt slechts één include gemaakt en alleen nog PHP-functies aangeroepen.
  • 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.