Kmom03: En gästbok i ditt MVC-ramverk
För att få en känsla för hur ett “riktigt” MVC-ramverk fungerar så studerar vi hur man bygger en gästbok i MVC-ramverket CodeIgniter. Därefter bygger vi en gästbok i vårt eget ramverk.
Denna kursen är ARKIVERAD.
Vi, som webbprogrammerare, behöver ha en övergripande orientering om olika typer av ramverk och hur de är uppbyggda. Det finns mycket att lära av de befintliga ramverken. CodeIgniter är ett ramverk med bra dokumentation där vi kan läsa hur de löst vanliga kravställningar i ett ramverk.
Så, först studera hur en gästbok byggs i CodeIgniter, bara så att vi får en kort bekantskap med det ramverket. Det är nyttigt även om vi inte går in så djupt i ramverket. Därefter bygger vi vidare på vårt eget ramverk och ser hur det växer när vi implementerar en gästbok med controller, model och vyer.
Tjuvkika på mos’ me-sida för att se vad momentet kan resultera i.
(Kursmomentet omfattar cirka 20 studietimmar fördelat på läsanvisningar, uppgifter och övningar samt resultat, redovisning och eftertanke.)
#Läsanvisningar
(ca: 2-4 studietimmar, inklusive extra läsning i referenslitteraturen efter eget val)
#Kurslitteratur
Läs följande:
- Pro PHP: Patterns, Frameworks, Testing and More
- Ch 3 Singleton and Factory Patterns
- Ch 4 Exceptions
#Lektionsmaterial
Följande föreläsningsmaterial finns tillgängliga för campus-kursen. Presentationerna kan vara av intresse även för distansstudenter så skumma gärna igenom dem lite snabbt.
#Lästips
Kika gärna på manualerna till ett par kända PHP-ramverk. Det är ofta bra läsning för den som vill fördjupa sig i ramverkskodande, bli riktigt bra på PHP eller bara för att förstå grunderna i ramverkens uppbyggnad.
#Övningar & Uppgifter
(ca: 8-14 studietimmar)
#Övningar
Gör följande övningar.
-
Läs igenom tutorialen och se hur du bygger upp en gästbok i MVC-ramverket CodeIgniter.
Tutorial Lydia: Bygg ett PHP-baserat MVC-inspirerat CMF
“Bygg ut ramverket och gör en gästbok”. Jobba genom de övningar som finns i andra stycket om Lydia.
#Uppgifter
Följande uppgifter skall utföras och resultatet skall redovisas via me-sidan.
- Bygg en gästbok i ditt egna ramverk. Skapa samtidigt den funktionalitet som krävs. Länka till gästboken från din me-sida.
#Extra
#Bygg gästbok i CodeIgniter
Följ tutorialen för att komma i gång med CodeIgniter, bygg samtidigt din egen gästbok genom att följa tutorialens steg. Länka till gästboken från din me-sida.
#Lydia vyer
I denna kursen så lagrar Lydia sina vyer i samma katalog som den kontroller som använder vyn. Ett vanligt sätt är dock att lagra vyerna i en egen katalog. Det gör Lydia i nuvarande version. Som en extra uppgift kan du kika på hur Lydia numer hanterar vyerna. Läs READE-sidan och kika på vyerna för att få ett par exempel på hur vyer kan se ut.
- Läs om Lydias hantering av vyer, via GitHub och README-filen i
lydia/views
.
#Spam i gästböcker
Att få spam i sina gästböcker är ett vanligt problem. Läs i forumet om ett enkelt sätt att undvika en del av spammet som skickas. Det är ingen helsäker metod men enkel att implementera och skyddar en del.
#Resultat & Redovisning
(ca: 1-2 studietimmar)
Skriv redovisningstext på din me-sida. Skriv ett stycke (minst 15 meningar) om kursmomentet. Reflektera över svårigheter, problem, lösningar, erfarenheter, lärdomar, resultatet, etc.
Se till att följande frågor besvaras i texten:
- Vilken uppfattning fick du om CodeIgniter?
- Gjorde du extrauppgiften och byggde din egna gästbok i CodeIgniter, hur kändes det?
- Har du grepp om MVC-strukturen? Vad tycker du så här långt?
- Studerade du något annat ramverk och läste dess manualer? Vilket och vad tyckte du om det?
- Gjorde du extra-uppgiften om Lydias vy-hantering, några reflektioner?
- Tittade du på extra-uppgiften om spam, några reflektioner?
Kopiera texten och lämna in den på redovisningen ITs tillsammans med en länk till din me-sida. Läraren kommer snabbt kolla igenom dem. Betyg är G (godkänd) eller komplettera (komplettera -> gör om -> gör bättre). Betyget baseras på din redovisningstext samt att din me-sida fungerar.
Ta ytterligare en kopia av redovisningstexten och gör ett inlägg i kursforumet. Visa upp vad du gjort och berätta att du är klar. Länka till din me-sida.
Klart! Läs gärna dina med-studenters inlämningar och ställ dina frågor i forumet. Se till att du får dina frågor besvarade.
#Revision history
- 2014-08-08: (D, mos) Arkiverade kursmomentet som är ersatt av phpmvc-v2.
- 2013-04-15: (C, mos) Genomgången och uppdaterad inför vt13 campus. CodeIgniters gästbok blev nu extrauppgift för att renodla kursmomentet.
- 2012-09-13: (B, mos) Flyttad till dbwebb.se och Lydia, genomgången inför ht12 distans.
- 2012-02-01: (A, mos) Första utgåvan, campuskurs vt12.