Skip to main content

Calclulator+ deel 2

We hebben een calculator die bestaat uit (1) een form, (2) een resultaten pagina en (3) een class.

Stel dat we nu een serie getallen willen invoeren en dat we het gemiddelde willen uitrekenen. Hoe kunnen we dit dan doen?

We kunnen ons object gebuiken en een array gebruiken waar we elke keer een element aan toe voegen. Dit hebben we geoefend in de opgaven die we eerder hebben gemaakt. Weet je nog dat we de functie array_push gebruikte?

We zouden in de lijst van het form een functie kunnen maken die we 'avg' noemen. Hiermee kunnen we dan het gemiddelde berekenen. We willen dit als volgt maken:

Elke keer als we een getal invoeren en de functie avg kiezen dan wordt het getal aan een array toegevoegd en wordt het gemiddelde van alle getallen berekend.

Dus

  • je voert 5 in met de nieuwe functie avg en drukt op submit,
  • je ziet als resultaat 5 en het gemiddelde is 5
  • je voert nu 15,
  • je ziet als resultaat 5,15 en het gemiddelde 10
  • je voert nu 1 in en je ziet als reultaat 5,15,1 en het gemiddelde 7

Een webserver is stateless:

Stateless is the polar opposite of stateful, in which any given response from the server is independent of any sort of state.

Dit betekent dat de webserver geen dingen onthoud, althans niet vanzelf. Elke keer als je de webserver iets vraagt weet hij niets van de vorige keer dat je er was. En toch weten webserver zoals Facebook precies wie jij bent en wat jij allemaal hebt gedaan. Hoe kan dat?

Dat komt omdat Facebook (en andere sites) deze gegevens opslaat en koppelt aan jouw als gebruiker. je logt aan en Facebook weet dan wie je bent. Facebook zoekt dan alle gegevens die bij jou horen op en gebruikt die.

Dus - terug naar ons gemiddelde- als we willen dat er een array wordt opgebouwd dan moeten we de status van het array bijhouden. Dit kan met een database maar dan moeten we ook een log-in maken. In een database moeten de gegevens immers aan jouw worden gekoppeld. Waarom? Nou stel dat er gelijtijdig met jou een andere gebruiker ook een gemiddelde wil berekenen, en je zou de gegevens niet per gebruiker oplsaan, dan zouden jullie elkaar gegevens gebruiken.

Als dit verhaal niet duidelijk is, vraag dan om uitleg. Dit is een belangrijk onderwerp om te begrjpen en om inzicht te krijgen hoe een webserver werkt.

Er zijn andere methodes om (beperkt) gegevens vast te houden. Dit zijn sessie-varieblen en cookies.

Cookies worden op de client opgeslagen en sessie-variabelen worden op de server opgeslagen. Voor onze toepassing gaan we cookies gebruiken.