1 00:00:00,000 --> 00:00:00,200 2 00:00:00,200 --> 00:00:02,280 >> SPEAKER 1: Okay, så hvad er det, du konkret skal gøre? 3 00:00:02,280 --> 00:00:04,140 Nå, viser sig at der er kun fire funktioner 4 00:00:04,140 --> 00:00:06,390 at du nødt til at gennemføre hvis funktionalitet er 5 00:00:06,390 --> 00:00:08,520 integreret til den korrekte drift af web-serveren, 6 00:00:08,520 --> 00:00:10,720 men hvor alle adfærd er meget snævert 7 00:00:10,720 --> 00:00:13,104 defineret, således at de kun gøre stort set én ting. 8 00:00:13,104 --> 00:00:15,270 Første ting du vil at skal gøre, er at gennemføre, 9 00:00:15,270 --> 00:00:17,540 pr specifikationen, den LOOKUP funktionen. 10 00:00:17,540 --> 00:00:20,900 Dette er en forholdsvis enkel funktion i enden, der tager som argument 11 00:00:20,900 --> 00:00:24,690 uanset stien til filen at brugeren ønsker at anmode om, 12 00:00:24,690 --> 00:00:28,310 og du skal reagere med såkaldte MIME-type, eller Content-type, 13 00:00:28,310 --> 00:00:29,200 af filen. 14 00:00:29,200 --> 00:00:31,415 For eksempel, hvis det er en fil ud, goddag prik 15 00:00:31,415 --> 00:00:37,470 HTML du kommer til at reagere med en MIME type citat citat slut tekst skråstreg HTML. 16 00:00:37,470 --> 00:00:40,920 >> Eller hvis det er et billede, kan du at reagere med billede dot skråstreg 17 00:00:40,920 --> 00:00:42,990 JIFF eller billede skråstreg JPEG. 18 00:00:42,990 --> 00:00:46,280 Se specifikationen for de forskellige filformater, du har brug for at opdage. 19 00:00:46,280 --> 00:00:49,760 Men det virkelig kan koges ned til at tage en se på den vej, at du er forbi, 20 00:00:49,760 --> 00:00:52,870 og ser på sin fil udvidelse, de sidste få tegn 21 00:00:52,870 --> 00:00:54,297 efter den efterfølgende periode eller prik. 22 00:00:54,297 --> 00:00:57,130 Så vi vil overlade det til dig med nogle af hints i specifikationen 23 00:00:57,130 --> 00:01:00,170 at finde ud af præcis, hvordan man finder at prik og filtypen 24 00:01:00,170 --> 00:01:02,840 så du kan gøre det kortlægning fra den ene til den anden. 25 00:01:02,840 --> 00:01:04,395 >> Næste op er parse funktion. 26 00:01:04,395 --> 00:01:06,270 Så denne ene er lidt involveret mere, idet 27 00:01:06,270 --> 00:01:08,590 du nødt til at tage i det argument [uhørligt], 28 00:01:08,590 --> 00:01:12,030 det er gentages over det, karakter for tegn, eller strengen ved streng, 29 00:01:12,030 --> 00:01:14,660 med henblik på at sikre, at det opfylder præcis 30 00:01:14,660 --> 00:01:19,155 den formelle definition af det første anmodning linje, som pr specifikation. 31 00:01:19,155 --> 00:01:23,930 Og du har brug for at indlæse i absolutte vej, delstreng, der repræsenterer 32 00:01:23,930 --> 00:01:26,550 noget lignende, skråstreg goddag dot HTML. 33 00:01:26,550 --> 00:01:29,960 I mellemtiden, eventuelt, efter at vej kunne være et spørgsmålstegn 34 00:01:29,960 --> 00:01:32,240 og derefter en forespørgselsstreng lignende, q er lig med katte, 35 00:01:32,240 --> 00:01:35,310 eller q er lig med katte Ampersand, og derefter en anden vigtig værdi par. 36 00:01:35,310 --> 00:01:38,380 Så du vil få brug for at træde over disse tegn, 37 00:01:38,380 --> 00:01:41,150 samt, indtil første rum, med henblik på 38 00:01:41,150 --> 00:01:47,327 at skabe en streng, der gemmer inde i det forespørgselsstrengen selv. 39 00:01:47,327 --> 00:01:49,410 Dernæst er du nødt til gennemføre belastningen funktion. 40 00:01:49,410 --> 00:01:52,493 Så det viser sig, hvis man ser gennem kildekoden, som spec dirigerer, 41 00:01:52,493 --> 00:01:54,210 belastningen funktionen bruges to steder. 42 00:01:54,210 --> 00:01:57,420 Det er enten bruges til at indlæse output fra PHP fortolkeren. 43 00:01:57,420 --> 00:01:59,700 Og vi skrev alle PHP kode for behandlingen, 44 00:01:59,700 --> 00:02:01,840 men det er nødvendigt at bruge en funktion kaldet 45 00:02:01,840 --> 00:02:06,350 belastning, at i det væsentlige læser alle de bytes af output fra PHP tolk 46 00:02:06,350 --> 00:02:08,430 ind i en stor array. 47 00:02:08,430 --> 00:02:10,850 >> Det samme funktion belastning også bruges til at indlæse 48 00:02:10,850 --> 00:02:15,200 i hukommelsen alle bytes fra en fil lignende, en JIFF, eller en JPEG eller dot HTML 49 00:02:15,200 --> 00:02:16,630 fil, som brugeren har anmodet om. 50 00:02:16,630 --> 00:02:21,060 Så du bliver nødt til at bruge nogle tricks og værktøjer fra problem sæt 4 i filen IO, 51 00:02:21,060 --> 00:02:24,410 men du skal finde, at relativt velkendt og på en pæn måde, forhåbentlig, 52 00:02:24,410 --> 00:02:28,110 binde sammen de nyere web ting med den ældre fil IO kram. 53 00:02:28,110 --> 00:02:31,490 >> Endelig i indekserne funktion, alt hvad du behøver at gøre 54 00:02:31,490 --> 00:02:34,570 er at afgøre, hvorvidt der eksisterer nogle fil effektivt 55 00:02:34,570 --> 00:02:40,430 kaldet indeks dot HTML, eller indeks dot PHP, indersiden af ​​biblioteket, hvis sti du 56 00:02:40,430 --> 00:02:41,220 er forbi. 57 00:02:41,220 --> 00:02:44,360 Opadrettede dette betyder, at hvis brugeren gør anmode om en mappe, 58 00:02:44,360 --> 00:02:47,318 vi ikke bare kommer til at vise ham eller hende indholdet af denne mappe, 59 00:02:47,318 --> 00:02:51,342 vi bogstaveligt vise dem indeks prik HTML, eller indeks dot PHP, som standard. 60 00:02:51,342 --> 00:02:54,300 Men det kommer til at blive overladt til dig at regne ud, at bruge nogle af de hints 61 00:02:54,300 --> 00:02:56,350 i kildekoden, at vi allerede har givet dig, 62 00:02:56,350 --> 00:02:59,880 hvordan du rent faktisk kan kontrollere om en bestemt fil eksisterer 63 00:02:59,880 --> 00:03:03,380 i det aktuelle bibliotek, således at du kan returnere den korrekte svar. 64 00:03:03,380 --> 00:03:05,800 >> Så i sidste ende er der relativt få bytes 65 00:03:05,800 --> 00:03:09,155 at du skal tage ud af Problemer fastsat i medfør af serverens 66 00:03:09,155 --> 00:03:10,210 ufuldstændige funktionalitet. 67 00:03:10,210 --> 00:03:13,180 Men absolut sørge for du wrap dit sind rundt så meget af koden 68 00:03:13,180 --> 00:03:15,013 som du kan, tage trøst i, at du ikke 69 00:03:15,013 --> 00:03:18,160 nødt til at forstå alle de laveste niveau networking kode, alle 70 00:03:18,160 --> 00:03:19,834 af det laveste niveau fil IO kode. 71 00:03:19,834 --> 00:03:21,750 Virkelig, hvad vi laver dette problem sæt 72 00:03:21,750 --> 00:03:25,670 er at syntetisere de sidste adskillige problemer sæt, indføre lidt af WebLogic, 73 00:03:25,670 --> 00:03:28,802 og networking koncepter, så der i sidste ende du 74 00:03:28,802 --> 00:03:31,760 bygge noget, der er virkelig helt interessant, faktisk ganske kraftfuld, 75 00:03:31,760 --> 00:03:33,468 men stadig bruge samme byggesten, 76 00:03:33,468 --> 00:03:36,310 at vi har brugt i nogen tid.