Kmom02: OO-programmering i PHP

By , . Latest revision .

Vi fortsätter träna på programmering med klasser och objekt, i och utanför ramverket. Det blir en närmare bekantskap med ramverkets delar och hur du kan tänka när du integrerar din egen kod i ramverket. Du bekantar dig med begrepp som interface och traits.

Kursmomentet har fokus på ett par friare programmeringsövningar så du kan träna på objektorienterade konstruktioner och ramverksprogrammering.

Sessionstest är en av övningarna som finns med i detta kursmoment.

Sessionstest är en av övningarna som finns med i detta kursmoment.

Tärningsspelet 100 är en av övningarna som finns med i detta kursmoment.

Tärningsspelet 100 är en av övningarna som finns med i detta kursmoment.

En månadskalender är en av övningarna som finns med i detta kursmoment.

En månadskalender är en av övningarna som finns med i detta kursmoment.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läsanvisningar

(ca: 0-2 studietimmar, inklusive extra läsning i referenslitteraturen efter eget val)

#Kurslitteratur

Det finns inga specifika läsanvisningar i kurslitteraturen.

#Artiklar

Läs följande artiklar.

  1. I föregående kursmoment läste du artiklarna “Kom igång med objektorienterad PHP-programmering på 20 steg” och “Bygg ett eget PHP-ramverk”, gå tillbaka till dem om du behöver fräscha upp minnet.

#Lästips

Det finns inga lästips.

#Övningar & Uppgifter

(ca: 14-20 studietimmar)

#Övningar

Gör följande övningar, de behövs normalt för att klara uppgifterna.

  1. Artikeln “Sessioner och cookies i PHP” ger dig en sessions-klass och grunden till en cookie-klass. Fyll gärna på cookie-klassens metoder med kod. Spara eventuell kod i me/kmom02/session.

  2. Jobba igenom artikeln “Att integrera en klass i ramverket Anax Lite” som visar hur du kan integrera en klass eller tjänst in i ramverket Anax Lite. Spara eventuell testkod i me/anax-lite.

  3. Jobba igenom artikel “Att jobba med vyer i Anax Lite” för att se hur vilka möjligheter du har till att koda och strukturera dina vyer. Spara eventuell testkod i me/anax-lite.

#Uppgifter

Gör följande uppgifter.

  1. Gör uppgiften Integrera klassen Session in i ramverket och skriv en route som testar och visar innehållet i sessionen. Spara din kod i me/anax-lite.

  2. Gör uppgiften “En navbar till Anax Lite (steg 2)” som låter dig integrera kod in i ramverkets struktur. Spara din kod i me/anax-lite.

  3. Välj mellan följande uppgifter och gör en av dem.

    1. Gör uppgiften “Tärningsspelet 100” som modul till ditt Anax och visa upp spelet i din me-sida. Spara din kod under me/anax-lite.

    2. Gör uppgiften “Månadskalender” och inkludera resultatet i ditt Anax. Spara din kod under me/anax-lite.

  4. Fortsätt att jobba igenom uppgiften “Kom igång med SQL” genom att utföra ytterligare en tredjedel av uppgiften. Fortsätt att spara all SQL-kod i me/kmom01/skolan/skolan.sql. Den sista tredjedelen gör du i nästa kursmoment.

  5. Pusha och tagga ditt Anax Lite, allt eftersom och sätt en avslutande tagg (2.0.*) när du är klar med alla uppgifter i kursmomentet.

#Extra

Gör extrauppgifterna om du har tid, kraft, eller lust.

  1. Gör båda uppgifterna om 100-spelet och Månadskalendern.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i texten:

  • Hur känns det att skriva kod utanför och inuti ramverket, ser du fördelar och nackdelar med de olika sätten?
  • Hur väljer du att organisera dina vyer?
  • Berätta om hur du löste integreringen av klassen Session.
  • Berätta om hur du löste uppgiften med Tärningsspelet 100/Månadskalendern, hur du tänkte, planerade och utförde uppgiften samt hur du organiserade din kod?
  • Några tankar kring SQL så här långt?

#Revision history

  • 2017-03-31: (A, mos, lew) Första versionen.

Document source.