Waarvoor dient een controller?
Home

Waarvoor dient een controller?

Waarvoor dient een controller?

Knoppen staan op formulieren, al een geluk. Maar de code, die de interactie met de gebruiker afhandelt, staat heel dikwijls overal versnipperd. Heel wat redirects waarmee je van her naar der springt. Redirects raad ik af want moeilijk te debuggen. De afhandeling van de interactie staat waarlijk overal en nergens. Hoe kan je in godsnaam de workflow volgen? Is het geen idee om alle interactie met de gebruiker op één plaats te centraliseren in wat in het MVC patroon, de controller wordt genoemd? We maken één enkele switch die alle interactie met de gebruiker afhandelt.

Interactie

Masterpage

De website heeft slechts één pagina. Dat maakt het navigeren overzichtelijker en het onderhouden van de verschillende views binnen de website gemakkelijker.

Button element

Een tweede stap op de goede weg bestaat er in het html button element te gebruiken i.p.v. het input type submit html element. Immers voor elk input type submit element moet je een andere waarde toekennen aan het name attribuut. Om te weten als er op een submit input knop geglikt werd moet je isset() gebruiken en als parameter de waarde meegeven van het name attribuut van het submit input element. Als je het button element gebruikt kan je dezelfde techniek gebruiken als voor radio buttons en toch nog een andere tekst laten zien aan de gebruiker.

Use cases

Een derde stap, is het opstellen van use cases. Je gaat zien dat met elke use case een knop overeenstemt. Ik heb het niet over systeem use cases maar over gebruikers use cases. We hebben een manier nodig om use cases een naam te geven. Daarvoor laten we ons inspireren door REST. Een use case bestaat uit

  1. de naam van de entiteit (object/klasse)
  2. de naam van de actie met een koppelteken ervoor
  3. de clausule met twee koppeltekens ervoor
  4. een id met een onderstrepingsteken ervoor

Voorbeelden:

De naam van de entiteit is de naam van de controller en de naam van de actie is de naam van de methode van de controller die moet worden uitgevoerd.

JI
2016-01-18 10:26:16