>> SPEAKER 1: Okay, så hvad er det, du konkret skal gøre?
Nå, viser sig at der er kun fire funktioner
at du nødt til at gennemføre hvis funktionalitet er
integreret til den korrekte drift af web-serveren,
men hvor alle adfærd er meget snævert
defineret, således at de kun gøre stort set én ting.
Første ting du vil at skal gøre, er at gennemføre,
pr specifikationen, den LOOKUP funktionen.
Dette er en forholdsvis enkel funktion i enden, der tager som argument
uanset stien til filen at brugeren ønsker at anmode om,
og du skal reagere med såkaldte MIME-type, eller Content-type,
af filen.
For eksempel, hvis det er en fil ud, goddag prik
HTML du kommer til at reagere med en MIME type citat citat slut tekst skråstreg HTML.
>> Eller hvis det er et billede, kan du at reagere med billede dot skråstreg
JIFF eller billede skråstreg JPEG.
Se specifikationen for de forskellige filformater, du har brug for at opdage.
Men det virkelig kan koges ned til at tage en se på den vej, at du er forbi,
og ser på sin fil udvidelse, de sidste få tegn
efter den efterfølgende periode eller prik.
Så vi vil overlade det til dig med nogle af hints i specifikationen
at finde ud af præcis, hvordan man finder at prik og filtypen
så du kan gøre det kortlægning fra den ene til den anden.
>> Næste op er parse funktion.
Så denne ene er lidt involveret mere, idet
du nødt til at tage i det argument [uhørligt],
det er gentages over det, karakter for tegn, eller strengen ved streng,
med henblik på at sikre, at det opfylder præcis
den formelle definition af det første anmodning linje, som pr specifikation.
Og du har brug for at indlæse i absolutte vej, delstreng, der repræsenterer
noget lignende, skråstreg goddag dot HTML.
I mellemtiden, eventuelt, efter at vej kunne være et spørgsmålstegn
og derefter en forespørgselsstreng lignende, q er lig med katte,
eller q er lig med katte Ampersand, og derefter en anden vigtig værdi par.
Så du vil få brug for at træde over disse tegn,
samt, indtil første rum, med henblik på
at skabe en streng, der gemmer inde i det forespørgselsstrengen selv.
Dernæst er du nødt til gennemføre belastningen funktion.
Så det viser sig, hvis man ser gennem kildekoden, som spec dirigerer,
belastningen funktionen bruges to steder.
Det er enten bruges til at indlæse output fra PHP fortolkeren.
Og vi skrev alle PHP kode for behandlingen,
men det er nødvendigt at bruge en funktion kaldet
belastning, at i det væsentlige læser alle de bytes af output fra PHP tolk
ind i en stor array.
>> Det samme funktion belastning også bruges til at indlæse
i hukommelsen alle bytes fra en fil lignende, en JIFF, eller en JPEG eller dot HTML
fil, som brugeren har anmodet om.
Så du bliver nødt til at bruge nogle tricks og værktøjer fra problem sæt 4 i filen IO,
men du skal finde, at relativt velkendt og på en pæn måde, forhåbentlig,
binde sammen de nyere web ting med den ældre fil IO kram.
>> Endelig i indekserne funktion, alt hvad du behøver at gøre
er at afgøre, hvorvidt der eksisterer nogle fil effektivt
kaldet indeks dot HTML, eller indeks dot PHP, indersiden af ​​biblioteket, hvis sti du
er forbi.
Opadrettede dette betyder, at hvis brugeren gør anmode om en mappe,
vi ikke bare kommer til at vise ham eller hende indholdet af denne mappe,
vi bogstaveligt vise dem indeks prik HTML, eller indeks dot PHP, som standard.
Men det kommer til at blive overladt til dig at regne ud, at bruge nogle af de hints
i kildekoden, at vi allerede har givet dig,
hvordan du rent faktisk kan kontrollere om en bestemt fil eksisterer
i det aktuelle bibliotek, således at du kan returnere den korrekte svar.
>> Så i sidste ende er der relativt få bytes
at du skal tage ud af Problemer fastsat i medfør af serverens
ufuldstændige funktionalitet.
Men absolut sørge for du wrap dit sind rundt så meget af koden
som du kan, tage trøst i, at du ikke
nødt til at forstå alle de laveste niveau networking kode, alle
af det laveste niveau fil IO kode.
Virkelig, hvad vi laver dette problem sæt
er at syntetisere de sidste adskillige problemer sæt, indføre lidt af WebLogic,
og networking koncepter, så der i sidste ende du
bygge noget, der er virkelig helt interessant, faktisk ganske kraftfuld,
men stadig bruge samme byggesten,
at vi har brugt i nogen tid.