HTML-objecten

From A-Eskwiki
Revision as of 19:55, 7 September 2016 by Timb (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.