Kmom02: Grunden till ett MVC-ramverk
Skaffa dig en grundförståelse för ramverk i allmänhet och ramverk med Model View Controller (MVC) i synnerhet. Koda loss och skapa grunden till ditt egna PHP-baserade och MVC-inspirerade ramverk genom att se hur Mikael bygger upp ramverket Lydia från grunden.
Denna kursen är ARKIVERAD.
Du följer tutorialen om Lydia och bygger din egen klon av Lydia. Du gör grunden till ramverket i form av en index.php
som är ingångspunkten till ramverket. Alla sidor skall gå genom denna sidan. vilket du löser med en regel i filen .htaccess
. Du sätter en grundstruktur för ditt ramverk, du väljer en mappstruktur och en grov struktur hur flödet sker. Du gör en enkel “frontcontroller” och skapar ett embryo till hantering av tema, en “theme engine render”. Vidare lär du dig att hantera varianter av inkommande och utgående länkar.
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 7 Reflection API
- Ch 14 MVC Architecture
- Ch 15 Introduction to the Zend Framework (läs översiktligt, skumma)
Tutorial Lydia: Bygg ett PHP-baserat MVC-inspirerat CMF
Bekanta dig med Lydia. Läs snabbt översikten av tutorialen för Lydia och se vilka olika delar den innehåller.
#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
#Tutorials om MVC-ramverk
MVC-ramverk kommer i olika smaker och varianter. I denna kursen kommer du att se Lydia som ett exempel på hur ett MVC-ramverk kan se ut. Men du behöver också se variationer på hur andra bygger MVC-ramverk. Kika därför på ett par artiklar om MVC-ramverk. Här är ett par förslag, men sök gärna ut något själv, sök till exempel på “PHP MVC tutorial”.
Förslag på artiklar för att komma i gång med tänket kring MVC-ramverk.
#Övningar & Uppgifter
(ca: 8-14 studietimmar)
#Övningar
Gör följande övning, den behövs för att klara uppgifterna.
Tutorial Lydia: Bygg ett PHP-baserat MVC-inspirerat CMF
“Grunden i ett MVC ramverk”. Jobba genom de övningar som finns i första stycket i tutorialen om Lydia.
#Uppgifter
Följande uppgifter skall utföras och resultatet skall redovisas via me-sidan.
- Följ tutorialen i Lydia och bygg grunden till ditt egna ramverk. Du kan göra avsteg från tutorialen om du vill, men den säkraste vägen genom kursen är att följa tutorialen.
- Byt namn på ditt egna ramverk från Lydia till något annat (inklusive namnet på
CLydia
och$ly
). - Länka från din me-sida till en installation av ditt ramverk.
- Länka till ditt ramverk på GitHUb.
- Byt namn på ditt egna ramverk från Lydia till något annat (inklusive namnet på
#Extra
Jämför ett par av dina metoder med samma metoder i senaste versionen av Lydia. Ser du likheter, skillnader, något att lära så här långt?
- index.php
- bootstrap.php
- CLydia::FrontControllerRoute()
- CLydia::ThemeEngineRender()
Du hittar senaste versionen av klassen CLydia på GitHub, senaste versionen av index.php och bootstrap.php.
#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:
- Namnge ditt ramverk och ge en förklaring till namnet.
- Gjorde du några avsteg från tutorialen om Lydia? Något eget eller annorlunda?
- Vilken är din uppfattning om grundstrukturen i Lydia?
- Vad det utmanande att hänga med i tutorialen?
- Hittade du ytterligare någon MVC-tutorial som du kan rekommendera?
- Gjorde du extrauppgiften? 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: (E, mos) Arkiverade kursmomentet som är ersatt av phpmvc-v2.
- 2013-11-13: (D, mos) Tog bort länk till MVC video tutorial som gav 404.
- 2013-04-08: (C, mos) Genomarbetad, nya tutorials och föreläsningar inför campus-kursen vt 2013.
- 2012-09-04: (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.