Kmom01: Objektorientering i PHP

By , . Latest revision .

Version 3 av oophp.

Utveckling av nytt kursmoment. Kursmomentet släpps senaste den 27/3 2017 släpptes 2017-03-24.

Kom igång med klasser i PHP och lär dig samtidigt hur grundstrukturen i ett PHP-ramverk kan se ut. Du bygger en me-sida i ditt egenskapade ramverk och du tränar på att bygga klasser och kod både i och utanför strukturen av ramverket.

Som ett sidoprojekt kommer vi igång med MySQL/MariaDB som databas och lär känna dess klienter och grunderna i SQL.

Gissa numret i PHP hjälper dig komma igång och repetera det du redan kan.

Gissa numret i PHP hjälper dig komma igång och repetera det du redan kan.

Kom igång med databasen MySQL, här via klienten MySQL Workbench.

Kom igång med databasen MySQL, här via klienten MySQL Workbench.

(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: 2-4 studietimmar)

#Kurslitteratur

Det finns inga specifika läsanvisningar i kurslitteraturen.

#Artiklar

Kika igenom följande artiklar.

  1. Kika igenom manualen för MySQL, bara kort och översiktligt, men se till att du kan hitta till den delen som visar hur SQL skall skrivas i MySQL.

  2. Läs om “The MicroPHP Manifesto” som ger en reaktion på ramverk och termen mikroramverk. (Alternativ länk till artikeln).

  3. Kika översiktligt i PHP The Right Way. Bekanta dig kort med dokumentet som presenterar allmänt om verktyg och processer som rekommenderas inom PHP communityn.

#Verktyg

Läs översiktligt in dig på följande verktyg som används i kursen.

  1. Vi använder pakethanteraren Composer för att installera PHP moduler.

  2. De PHP-moduler vi använder är publicerade på Packagist, ett sökbart repository för PHP-moduler.

  3. Bekanta dig kort med manualen till phpdoc som beskriver hur docblock-kommentarer skrivs till PHP.

#Videor

Det finns inga videos.

#Lästips

Följande lästips är att rekommendera.

  1. Bekanta dig med PHP manualen och Klasser och Objekt.

  2. Dia är ett ritverktyg där du kan skapa UML-diagram. Du vill ha ett sådant, eller motsvarande, i din arsenal av verktyg.

  3. Vi skriver PHP i enlighet med kodstandarden PSR-1 och PSR-2.

  4. Kika gärna på valideringsverktygen vi använder, phpcs och phpmd. Du kan installera dem som linters i Atom, men först måste du installera dem i din PATH på ditt lokala system.

#Övningar & Uppgifter

(ca: 12-16 studietimmar)

#Labbmiljö

Installera labbmiljön för kursen.

  1. Installera labbmiljön som behövs för kursen.

  2. Klona kursrepot för kursen.

#Övningar

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

  1. Fräscha upp ditt minne av PHP genom att snabbt skumma igenom guiden “20 steg för att komma igång med PHP (php20)”. Du bör sedan tidigare (htmlphp) ha koll på det som nämns i guiden. Om du bygger exempelprogram så kan du lägga dem i me/kmom01/php20.

  2. Jobba igenom guiden “Kom igång med objektorienterad PHP-programmering på 20 steg””. Det handlar om grunderna med objektorienterad programmering i PHP. Exempelprogram som du bygger för din egna skull kan du spara i me/kmom01/oophp20.

  3. Jobba igenom artikeln “Bygg ett eget PHP-ramverk” som ger dig grunden till ett eget litet ramverk. Delvis känner du igen ramverket från kursen design. Du sparar koden i me/anax-lite.

#Uppgifter

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

  1. Gör uppgiften “Gissa vilket nummer jag tänker på”. Spara din kod i me/kmom01/guess. Uppgiften värmer upp din gamla PHP-kunskaper och inför några nya i form av objekt och lite mer.

  2. Gör uppgiften “Bygg en me-sida med Anax Lite”. Det handlar om att skapa ditt eget anax-lite och publicera på Github. Använd sedan ditt anax-lite för att göra grunden till en me-sida för kursen. Spara allt under me/anax-lite.

  3. Gör uppgiften “En navbar till Anax Lite (steg 1)” som ger dig en struktur för att separera HTML och konfiguration av din navbar. Spara din kod i me/anax-lite.

  4. Jobba igenom första tredjedelen av uppgiften “Kom igång med SQL” genom att utföra den i MySQL Workbench. Spara all SQL-kod i me/kmom01/skolan/skolan.sql. Du får göra resten av uppgiften i de två kommande kursmomenten. Jobba gärna i grupp och hjälp varandra, men se alltid till att alltid skriva dina egna SQL-satser.

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

#Extra

Det finns inga extra uppgifter.

#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 hoppa rakt in i klasser med PHP, gick det bra?
  • Berätta om dina reflektioner kring ramverk, anax-lite och din me-sida.
  • Gick det bra att komma igång med MySQL, har du liknande erfarenheter sedan tidigare?

#Revision history

  • 2017-03-27: (B, mos) Länkar till phpcs, phpmd, psr-1, psr-2.
  • 2017-03-24: (A, mos, lew) Första versionen släppt.

Document source.