Målet med uppgiften är att skapa struktur och skriva lättläslig PHP. Detta ska vi försöka säkerställa genom att jämföra mellan varandra i klassen. Det finns inte bara en Best Practice.
I detta repo finns en början på en sida som ska visa upp olika rutor med Nobelpristagare.
Alla pristagare finns i json
-format i filen json/prizes.json
. Dessa är formatterade som en array av json
-objekt och för att vi lätt ska kunna manipulera dessa med PHP gör vi först om json
till en skitstor associative array:
<?php
//Loads JSON from .json-file
$nobelData = file_get_contents('json/prizes.json');
//Turns JSON data into PHP associative array with json_decode
$nobelData = json_decode($nobelData, true);
Ni ska använda denna variabel $nobelData
för att göra övningen. Använd var_dump($nobelData)
(en såkallad huge dump 😌) för att se hur innehållet är strukturerat som en associative array.
Ni ska först, två och två, skapa hemsidan enligt bild nedan. Ni får välja hur ni ska dela upp era olika partials själva. Sedan ska ni presentera er lösning för en annan grupp och berätta hur ni har tänkt kring upplägget av er a filer. Sedan ska ni göra ändringar om ni kom fram till att ni behövde det. Till sist ska ni pusha upp er lösning som en branch till originalrepot så att resten av klassen kan ta del av lösningen.
Återskapa sidan ungefär enligt bilden nedan. Det viktig är att ni strukturerar upp era partials
.
- Ni ska dela upp er kod i flera olika filer som ska ligga i mappen
partials
. Jag har redan försett er med tomma partials som ni kan fylla men utöver desssa får ni dela upp koden ytterligare. - Ni ska även lägga till 3 stycken extra sidor (t.ex. about.php etc.)
- Ni ska även skapa en navbar där ni länkar till de skapade sidorna.
Hitta en annan grupp och jämför era lösningar:
- Hur har ni delat upp koden i olika filer?
- Control statements, hur har ni loopat och använt
if
-satser t.ex. - Har ni använt alternative syntax?
require
/include
?- Återanvändning av kod?
- Kan ni plocka några delar av varandra?
- Pusha upp er branch till originalrepot Nobel Prize List
- Döp branchen till era namn.