PHOENIX FRAMEWORK
PHOENIX = web development framework geschreven in elexir
server side mvc framework
REQUEST LIFECYCLE
Wanneer browser http://localhost:4000 benadert, stuurt deze HTTP verzoek naar
service die op dat adres wordt uitgevoerd. HTTP verzoek bestaat uit werkwoord
en pad.
Bijvoorbeeld:
Webapplicaties verwerken verzoeken door elk werkwoord/ pad toe te wijzen aan
specifiek deel van de app. De matching in phoenix wordt gedaan door de router.
bv: /articles → om alle artikelen weer te geven
Router wijst unieke HTTP werkwoord/pad paren toe aan controller/action paren
die deze zullen afhandelen.
Controllers in phoenix → zijn elixir-modules
Acties → functies die binnen controller gedefinieerd zijn
Phoenix genereert router file in app lib/project_web/router.ex
route →
Bijvoorbeeld:
Bij bezoeken http://localhost:4000
HTTP GET request verzonden naar root pad
→ alle requests zoals deze worden behandeld door index/2 in
ProjectWeb.PageController die beschreven staat in
lib/project_web/controllers/page_controller.ex
Controlller → elexir-modules, acties → elexir-functies die erin zijn gedefineerd
doel van acties → om gevegevens te verzamelen en taken uit te voeren die nodig
zijn voor het renderen
, REQUEST LIFECYCLE 1. Nieuwe route
STAPPENPLAN lib/project_web/router.ex →voeg route toe
(get,post.. met actie van controller)
2. Nieuwe controller
Om index actie mogelijk te maken
→ file creeren → lib/project_web/controllers/hello_controller.ex
controller actions hebben 2 arguments:
● conn = struct die heleboel gegevens over verzoek bevat
● params = verzoekparameters
(_params → _ → om compilerwaarschuwingen te vermijden bij
geen gebruik)
3. Nieuwe view
creer een view → lib/project_web/views/hello_view.ex
creer html → lib/project_web/templates/hello/index.html.heex
.heex = “HTML+ EEX”
→ EEx =library voor embedding elexir
= phoenix extention van EEx die HTML bewust is → html-validatie,
bescherming tegen beveiligingsproblemen zoals cross site scripting
4. Browser → http://localhost:400/hello
5. Van endpoint to views
Alle HTTP-requests beginnen in ons applicatoe-endpoint.
(module met naam ProjectWeb.Endpoint in /lib/project_web/endoint.ex
→ heeft veel oproepen om bij aan te sluiten (zoals plugs = library met
specificaties om webapplicaties samen te voegen)
Elke plug → specifieke verantwoordelijkheid → er is een plug
ProjectWeb/Router-module = hierdoor kan alle verdere verwerking van
verzoeken aan de router delegeren → belangrijk om werkwoord/pad toe te
wijzen aan controllers → controller vertelt dan een weergave om template
in weer te geven (render)
Les avantages d'acheter des résumés chez Stuvia:
Qualité garantie par les avis des clients
Les clients de Stuvia ont évalués plus de 700 000 résumés. C'est comme ça que vous savez que vous achetez les meilleurs documents.
L’achat facile et rapide
Vous pouvez payer rapidement avec iDeal, carte de crédit ou Stuvia-crédit pour les résumés. Il n'y a pas d'adhésion nécessaire.
Focus sur l’essentiel
Vos camarades écrivent eux-mêmes les notes d’étude, c’est pourquoi les documents sont toujours fiables et à jour. Cela garantit que vous arrivez rapidement au coeur du matériel.
Foire aux questions
Qu'est-ce que j'obtiens en achetant ce document ?
Vous obtenez un PDF, disponible immédiatement après votre achat. Le document acheté est accessible à tout moment, n'importe où et indéfiniment via votre profil.
Garantie de remboursement : comment ça marche ?
Notre garantie de satisfaction garantit que vous trouverez toujours un document d'étude qui vous convient. Vous remplissez un formulaire et notre équipe du service client s'occupe du reste.
Auprès de qui est-ce que j'achète ce résumé ?
Stuvia est une place de marché. Alors, vous n'achetez donc pas ce document chez nous, mais auprès du vendeur marlenebraem. Stuvia facilite les paiements au vendeur.
Est-ce que j'aurai un abonnement?
Non, vous n'achetez ce résumé que pour €2,99. Vous n'êtes lié à rien après votre achat.