Les 07 — Classes (OOP-instap)
Gedrag en data bundelen in objecten: class, property, method, $this.
Begrippen
class/new/$this- Constructor, getters/setters, encapsulation (private)
- Inheritance (kort):
extends
Demo
opdrachten/07/: classes_webpage.php + show_webpage.php, classes_shopping_cart.php + show_shopping_cart_oop.php, test_animal.php
Open demo-bron
Klik een bestandsnaam hieronder om de bron op deze pagina te zien (of “Nieuwe tab”). PHP zelf draait bij jou lokaal in XAMPP.
Gewone opdracht
Opdracht 17
Maak class WebPage in 07/classes_webpage.php met o.a.:
__construct($title = "")showContent($content)showFooter()(sluit tags netjes)
En 07/show_webpage.php dat de class gebruikt (zoals in de slides).
Extra / variant
Extra A — Opdracht 18 Eigen extend-voorbeeld
Bedenk een class die je kunt extenden. Mag in woorden/pseudocode in 07/opdracht18.md óf uitgewerkt in PHP.
Extra B — Opdracht 19 Animals
Breid animal-classes uit met minstens 3 diersoorten + methods eats() (string) en barks() (boolean). Script 07/animal_talk.php: dieren als knoppen (POST); na klik tonen wat het dier “zegt” + nieuwe eigenschappen. Startpunt: test_animal.php.
Extra C ShoppingCart OOP
Bouw/nabouw ShoppingCart met private $items, addToCart, getCart en een show-script.
Check
- WebPage-script toont titel/content/footer via het object.
- Je kunt
$thisuitleggen.
Opleveren
git add 07→ commit → push- Mail: les 07 klaar of hulp + repo-link