HTML-objecten
Om HTML te kunnen genereren zonder al dat geestdodende gedoe met tags, staan er in www/space/classes/html
een aantal HTML-classes, die je dus objectgeorienteerd kunt gebruiken voor pagina's. Ze checken ook of attributen en children geldig zijn (al moet je niet ervan uitgaan dat dit up to date is met de recentste HTML-specificatie!) Omdat dit aanzienlijk meer geheugen nodig heeft dan een platte string, geeft HtmlContainer::addImmutable
je de mogelijkheid om HTML-objecten in een keer als string toe te voegen. Dit maakt dat object meteen immutable zodat je niet verbaasd opkijkt als je daarna nog wat dingetjes in je html-object wilt wijzigen en er komt niets van. Je kunt om geheugen besparen daarna het beste dat html-object helemaal weggooien met unset
of iets dergelijks.
Om HTML-objecten te implementeren moet je dus een subklasse maken van HtmlElement
. Omdat PHP geen degelijke immutable objecten heeft, moet je zelf checken op $this->immutable
bij het maken van een aanpasmethode voor een subklasse. Als je veel vrije tijd hebt, mag je hier een alternatief voor verzinnen.