Kmom05: Lagra innehåll i databasen

By . Latest revision .

Att lagra innehåll i databasen för att sedan kunna visa upp det i webbplatsen är en kärnfunktionalitet i de flesta webbplatser. Nu har vi både en mall för webbplatser och koll på databaser och objektorienterad programmering. låt oss då försöka använda allt detta för att lagra undan innehåll i databasen och sedan visa upp det som webbsidor och bloggposter i webbplatsen.

Utmaningen är att hitta en bra lagringsstruktur i databastabellen, en bra och flexibel struktur som låter oss använda innehållet på ett smidigt sätt i webbplatsen. Tänker man till när man skapar lagringsstrukturen så kan man spara ett antal kodrader när man sedan skall redigera, och visa upp innehållet i webbplatsen.

Formulär för att editera innehåll i databasen.

Formulär för att editera innehåll i databasen.

Kursmomentet avslutas med att du kodar ett par moduler till ditt Anax.

(Kursmomentet omfattar cirka 20 studietimmar fördelat på läsanvisningar, uppgifter och övningar samt resultat, redovisning och eftertanke.)

#Läsanvisningar

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

#Kurslitteratur

Det finns inga läsanvisningar till detta kursmomentet.

#Lektionsmaterial

Följande föreläsningsmaterial användes i samband med campus-kursen höstterminen 2013. Det kan vara av intresse att skumma igen – även för distanstudenten.

#Lästips

Få en insikt i komplexiteten att skydda sig från Cross-Site Scripting (XSS) och relaterade sårbarheter. Läs en PHP RFC som föreslår en SPL-klass Escaper. Det ger en bra genomgång i ämnet.

#Övningar & Uppgifter

(ca: 12-18 studietimmar)

#Övningar

Gör följande övning, den förbereder dig inför uppgifterna och löser ett par av dem.

  1. Jobba igenom guiden “Lagra innehåll i databas för webbsidor och bloggposter”.

#Uppgifter

Följande uppgifter skall utföras och resultatet skall redovisas via me-sidan.

  1. Gör uppgiften “Samla alla dina textfilter till en klass CTextFilter”.

  2. Gör uppgiften “Övningar med CTextFilter”.

  3. Gör uppgiften “Skapa en klass för innehåll i databasen, CContent”.

  4. Gör uppgiften “Skapa en klass CPage för att visa upp webbsidor från CContent”.

  5. Gör uppgiften “Gör en blogg med CBlog baserad på CContent”.

#Extra

  1. Läs igenom hur du kan skapa en “En navbar med drop-down meny i ren HTML och CSS”.

  2. Läs tipset “Skapa en dynamisk navbar / meny, med undermeny, via PHP” och uppgradera din PHP funktion som genererar navbaren till att hantera drop-down menyer.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

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

  • Det blir en del moduler till ditt Anax nu, hur känns det?
  • Berätta hur du tänkte när du löste uppgifterna, hur tänkte du när du strukturerade klasserna och sidkontrollerna?
  • Börjar du få en känsla för hur du kan strukturera din kod i klasser och moduler, eller kanske inte?
  • Snart har du grunderna klara i ditt Anax, grunderna som kan skapa många webbplatser, är det något du saknar så här långt, kanske några moduler som du känner som viktiga i ditt Anax?

#Revision history

  • 2015-11-18: (F, mos) Ändrade redovisningstexten.
  • 2015-01-13: (E, mos) Ändrade uppgiften för `CTextFilter`.
  • 2013-12-10: (D, mos) Lade till föreläsningsslides från campus.
  • 2013-12-03: (C, mos) Lade till läsanvisning till PHP RFC Escaper.
  • 2013-10-25: (B, mos) Ändrade felaktig länk i extrauppgiften.
  • 2013-09-30: (A, mos) Första utgåvan.

Document source.