1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Java 8] 2 00:00:02,000 --> 00:00:04,000 [David J Malan] [Universiteti i Harvardit] 3 00:00:04,000 --> 00:00:07,000 [Kjo është CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Mirëpritur mbrapa. 5 00:00:09,000 --> 00:00:11,000 Kjo është CS50, dhe ky është fillimi i javës 8. 6 00:00:11,000 --> 00:00:14,000 Një çift i mundësive të kësaj jave, 7 00:00:14,000 --> 00:00:17,000 në mesin e tyre këtë diskutim këtu, në të cilën disa ushqime do të shërbehet. 8 00:00:17,000 --> 00:00:20,000 Për më shumë detaje shikoni slides që janë online. 9 00:00:20,000 --> 00:00:24,000 Dhe gjithashtu një tjetër ngjarje e kësaj jave nga vet Carriero tonë Thomas. 10 00:00:24,000 --> 00:00:27,000 Ai është një nga miqtë e CS50 mësimdhënies ish-kreu i cili është tani në Dropbox, 11 00:00:27,000 --> 00:00:29,000 dhe ai është djalosh i cili i tëri na me ju e dini se çfarë, 12 00:00:29,000 --> 00:00:36,000 kështu që nëse ju doni më shumë të atij kokën me pëshpëritjet e tyre këtë pasdite për Dropbox dhe më shumë. 13 00:00:36,000 --> 00:00:38,000 CS50 drekë është kjo e premte. 14 00:00:38,000 --> 00:00:41,000 A na bashkohen në qoftë se ju jeni në gjendje, 01:15, si zakonisht, në zjarr dhe akull. 15 00:00:41,000 --> 00:00:45,000 >> Dhe tani ne pikiatë në diçka të quajtur Seminare. 16 00:00:45,000 --> 00:00:49,000 Seminare CS50 tanë, kujtoj, janë këto klasa fakultative udhëhequr nga shokët e mësimdhënies 17 00:00:49,000 --> 00:00:51,000 dhe asistentë kurs dhe miqtë e kursit, 18 00:00:51,000 --> 00:00:55,000 folks nga një grup në kampus quajtur ABCD, e cila është një grup i 19 00:00:55,000 --> 00:00:58,000 technophiles në kampus, si dhe një grup të quajtur HCS, 20 00:00:58,000 --> 00:01:02,000 Shoqëria kompjuterike Harvardit, studentë të cilët janë të interesuar në mënyrë të ngjashme në informatikë. 21 00:01:02,000 --> 00:01:08,000 Regjistri i këtij viti i seminareve përfshin seminare për Android dhe iOS dhe JavaScript 22 00:01:08,000 --> 00:01:13,000 dhe PHP, Unix, Vim, dhe më shumë, në mënyrë të kuptojë se këto seminare janë të ardhur deri. 23 00:01:13,000 --> 00:01:16,000 Nëse ju dëshironi të RSVP për ndonjë prej tyre shkojnë në atë URL atje. 24 00:01:16,000 --> 00:01:20,000 Ne pastaj do të postoni në faqen e internetit kursin e herë dhe vendet kur ata janë finalizuar. 25 00:01:20,000 --> 00:01:26,000 Por e di se ka vlerë 5 vjeçare e seminareve të mëparshme në dispozicion online, 26 00:01:26,000 --> 00:01:29,000 shumë prej të cilave janë ende shumë aktuale në drejtim të teknologjive ju mund të 27 00:01:29,000 --> 00:01:36,000 duan të luajnë me të për projektet tuaja finale, kështu që shkojnë atje për disa video në dispozicion të tyre. 28 00:01:36,000 --> 00:01:39,000 >> CSS, ata prej jush të cilët janë të njohur me CSS tashmë, 29 00:01:39,000 --> 00:01:42,000 çfarë është ajo në një fjalë? 30 00:01:42,000 --> 00:01:45,000 Çfarë është CSS? 31 00:01:45,000 --> 00:01:48,000 Është Cascading fletë stili, dhe çfarë do të thotë kjo? 32 00:01:48,000 --> 00:01:53,000 Çfarë do të bëni për ne, CSS? 33 00:01:53,000 --> 00:01:57,000 Të gjithë të drejtë, le të ngrohtë deri me një e më të lehtë, HTML, HyperText Markup Language. 34 00:01:57,000 --> 00:02:01,000 Çfarë do të bëni për ne? 35 00:02:01,000 --> 00:02:04,000 Çdokush në të gjitha? 36 00:02:04,000 --> 00:02:07,000 Është me të vërtetë duke kërkuar këto pyetje të vështirë. 37 00:02:07,000 --> 00:02:11,000 HTML, HyperText Markup Language. 38 00:02:11,000 --> 00:02:14,000 Po? Jo? 39 00:02:14,000 --> 00:02:17,000 [Përgjigja e padëgjueshme Student] 40 00:02:17,000 --> 00:02:20,000 Mirë, mirë, ai na lejon për të shënuar deri tekstit të shfaqur në një shfletues web. 41 00:02:20,000 --> 00:02:22,000 Kjo nuk është një gjuhë programimi. 42 00:02:22,000 --> 00:02:25,000 Kjo është me të vërtetë një gjuhë markup, që do të thotë se udhëzon shfletuesit se si për të shfaqur 43 00:02:25,000 --> 00:02:28,000 informacion, kështu që mishërimi i thjeshtë këtë si ne kemi parë 44 00:02:28,000 --> 00:02:32,000 është diçka e thjeshtë si super boldfacing, hapur parantezë parantezë b mbyllura thotë 45 00:02:32,000 --> 00:02:36,000 të bëjë ky tekst bold, dhe kjo është në fakt vetëm një nga shumë mënyra 46 00:02:36,000 --> 00:02:39,000 në të cilën ne mund ta bëjmë këtë, dhe në të vërtetë, këto ditë një qasje më të mirë 47 00:02:39,000 --> 00:02:42,000 stylizing për faqen tuaj të internetit, duke bërë gjëra të guximshme dhe Italics 48 00:02:42,000 --> 00:02:47,000 dhe u përqendrua dhe justifikuar dhe si, nuk është bërë me anë të HTML tags vetmuar 49 00:02:47,000 --> 00:02:51,000 por me një teknikë të quajtur CSS, Cascading Style Sheets. 50 00:02:51,000 --> 00:02:53,000 Kjo është një gjuhë në vetvete. 51 00:02:53,000 --> 00:02:55,000 Edhe ajo nuk është një gjuhë programimi, por- 52 00:02:55,000 --> 00:02:58,000 të gjithë, kjo është Dan, i cili mban bashkuar me ne sot. 53 00:02:58,000 --> 00:03:01,000 Disa vështirësi teknike. Nuk është një problem. 54 00:03:01,000 --> 00:03:04,000 >> CSS na lejon të stilizoj një faqe 55 00:03:04,000 --> 00:03:07,000 duke vendosur se çfarë janë quajtur pronat, kështu që le të marrin një vështrim në këtë 56 00:03:07,000 --> 00:03:09,000 me anë të disa shembujve bazë. 57 00:03:09,000 --> 00:03:12,000 Më lejoni të shkoj në aplikim sot. 58 00:03:12,000 --> 00:03:15,000 Unë kam 8 dosjen burim hënën në këtu, 59 00:03:15,000 --> 00:03:18,000 dhe unë jam duke shkuar për të shkuar në një direktori të quajtur CSS, ku ne kemi një bandë e tërë 60 00:03:18,000 --> 00:03:21,000 e dosjeve duke pritur për ne të drejtë këtu, 61 00:03:21,000 --> 00:03:27,000 dhe në këtë dosje ne kemi, për shembull, search0.html nga koha e kaluar. 62 00:03:27,000 --> 00:03:31,000 Tani, kujtojnë me search0 ne e kemi lënë në këtë shënim 63 00:03:31,000 --> 00:03:35,000 nga lloj i zbatimit Google apo me të vërtetë vetëm fundin e përparme për atë një javë apo më shumë më parë, 64 00:03:35,000 --> 00:03:38,000 dhe vini re se ne kishim disa etiketa të reja atje. 65 00:03:38,000 --> 00:03:41,000 Ne kishim h1 për një titull të madh, të guximshme, 66 00:03:41,000 --> 00:03:45,000 formë, e cila na lejohet që në fakt kanë një formë HTML për input të përdoruesit. 67 00:03:45,000 --> 00:03:48,000 Veprim, ajo ishte domethënia e një atribut të veprimit 68 00:03:48,000 --> 00:03:52,000 në HTML tag formë? 69 00:03:52,000 --> 00:03:58,000 Cili ishte kuptimi i këtij veprimi,? 70 00:03:58,000 --> 00:04:00,000 Unë vetëm do të bëj këtë sot. 71 00:04:00,000 --> 00:04:03,000 Veprimi është destinacioni ku formulari do të dorëzohet. 72 00:04:03,000 --> 00:04:07,000 Fakti se që thotë veprim = "google.com / kërko" 73 00:04:07,000 --> 00:04:10,000 do të thotë se kur përdoruesi klikimeve butonin paraqesë ose ekuivalent 74 00:04:10,000 --> 00:04:14,000 çfarëdo forme Fushat ata plotësuar do të dërgohen për të mos serverin tonë 75 00:04:14,000 --> 00:04:17,000 apo aplikim tonë, por më tepër për atë URL të veçantë në Google. 76 00:04:17,000 --> 00:04:19,000 Dhe metoda se do të përdorë quhet marrë, 77 00:04:19,000 --> 00:04:25,000 dhe për të marrë, tani për tani, është vetëm një teknikë për kalimin informacion së bashku në një web server 78 00:04:25,000 --> 00:04:29,000 me mënyrën e URL, kështu që le të marrin një vështrim të shpejtë mbrapa se si kjo funksionon. 79 00:04:29,000 --> 00:04:31,000 >> Vini re se ka një input emri i të cilit është q 80 00:04:31,000 --> 00:04:35,000 Lloji i të cilit është teksti dhe pastaj një input i dytë i llojit të paraqesë 81 00:04:35,000 --> 00:04:39,000 vlera e të cilit është CS50 Search, dhe në të vërtetë, në qoftë se ne hapim këtë skedë këtu, 82 00:04:39,000 --> 00:04:42,000 search0.html, kjo është një formë super të thjeshtë, 83 00:04:42,000 --> 00:04:45,000 dhe në qoftë se unë kërkoni për diçka si shkenca kompjuterike 84 00:04:45,000 --> 00:04:50,000 dhe pastaj hit enter ose kliko mbi CS50 Kërko 85 00:04:50,000 --> 00:04:53,000 vini re se ajo që ndodh është përtej marrjen në Google 86 00:04:53,000 --> 00:04:56,000 Unë e kam përfunduar në mënyrë specifike deri në këtë URL në krye, 87 00:04:56,000 --> 00:05:01,000 google.com / Search? q = + kompjuter shkenca, 88 00:05:01,000 --> 00:05:04,000 shkenca kompjuterike dhe është padyshim ajo që unë typed in 89 00:05:04,000 --> 00:05:06,000 Shenja + thjesht do të thotë se ku ishte një karakter hapësirë, 90 00:05:06,000 --> 00:05:10,000 dhe kjo është bërë nga shfletuesi vetëm për të siguruar se nuk ka asnjë 91 00:05:10,000 --> 00:05:13,000 konfuzion dhe hapësirë ​​të bardhë në URL aktuale. 92 00:05:13,000 --> 00:05:15,000 Dhe pastaj q, sigurisht, është emri parametri. 93 00:05:15,000 --> 00:05:20,000 Ne nuk kemi parë se si ne, programues, në fakt mund të hyni në q ende. 94 00:05:20,000 --> 00:05:23,000 Ne mund të supozojmë se Google e di se çfarë të bëjë me këtë këtu, 95 00:05:23,000 --> 00:05:25,000 por ne do të merrni atje në kohën e duhur sot. 96 00:05:25,000 --> 00:05:30,000 >> Por më lejoni të marrë një sy në vend search1.html, 97 00:05:30,000 --> 00:05:34,000 e cila duket pak më ndryshe, sepse unë kam vendosur që kjo formë këtu ishte vetëm pak çalë. 98 00:05:34,000 --> 00:05:36,000 Unë do të thotë, kjo është në të majtë të lartë. 99 00:05:36,000 --> 00:05:40,000 Ka të vërtetë nuk ka estetikë të tij, dhe kështu që unë dua të stilizoj këtë 100 00:05:40,000 --> 00:05:43,000 pak më shumë si Google, të cilit homepage, risjell, 101 00:05:43,000 --> 00:05:47,000 edhe pse ju nuk mund të vizitoni atë që shpesh, duket sikur kjo sot në Halloween. 102 00:05:47,000 --> 00:05:53,000 Në qoftë se ne vend hapë version 1 të këtij file, 1.html kërko, unë kam përqëndruar atë. 103 00:05:53,000 --> 00:05:57,000 , Ende mjaft e shëmtuar, por të paktën tani kam filluar për të kontrolluar estetikë e kësaj faqeje 104 00:05:57,000 --> 00:06:00,000 jo vetëm duke shënuar deri tij. 105 00:06:00,000 --> 00:06:04,000 Le të marrin një vështrim në kërkim 1, dhe nuk është me të vërtetë vetëm një dallim këtu, 106 00:06:04,000 --> 00:06:06,000 që mund të hidhen jashtë në ju, ose ndoshta jo, 107 00:06:06,000 --> 00:06:11,000 por ajo është një linjë apo copëza të ndryshim? 108 00:06:11,000 --> 00:06:14,000 >> Ka këtë atribut stil, kështu rezulton se në HTML 109 00:06:14,000 --> 00:06:19,000 Elementet shumica, shumica tags mund të ketë një atribut stil mbi to, 110 00:06:19,000 --> 00:06:23,000 dhe brenda kësaj atribut stil është një varg cituar, 111 00:06:23,000 --> 00:06:26,000 dhe që string cituar është CSS. 112 00:06:26,000 --> 00:06:29,000 Ju mund të vënë fletë Cascading Style në atje 113 00:06:29,000 --> 00:06:32,000 duke specifikuar atë si një emër të pronës 114 00:06:32,000 --> 00:06:34,000 pasuar nga një zorrë e trashë të pasohet nga një vlerë. 115 00:06:34,000 --> 00:06:37,000 Kjo është lloj i një vendimi të projektimit fatkeq disa vjet më parë 116 00:06:37,000 --> 00:06:40,000 që CSS është një gjuhë në vetvete, 117 00:06:40,000 --> 00:06:43,000 por syntactically kjo është shumë e ndryshme nga HTML. 118 00:06:43,000 --> 00:06:46,000 Në këtë rast, ne shohim se brenda faqen time, e cila është shkruar në HTML, 119 00:06:46,000 --> 00:06:51,000 Kam CSS brendësi të këtyre thonjëza, dhe konventa për CSS 120 00:06:51,000 --> 00:06:55,000 është se ju keni atë që quhet një pronë e ndjekur nga, përsëri, një zorrë e trashë, 121 00:06:55,000 --> 00:06:58,000 pasuar nga vlera e kësaj pasurie, kështu që nuk ka asnjë shenjë të barabartë. 122 00:06:58,000 --> 00:07:00,000 Nuk ka kuotat shtesë. 123 00:07:00,000 --> 00:07:03,000 Është vetëm ky i ndarë zorrës së trashë kyçe vlera palë, 124 00:07:03,000 --> 00:07:05,000 Teksti dhe linja e bën pikërisht atë që ajo thotë. 125 00:07:05,000 --> 00:07:09,000 Ajo aligns tekstin në trupin e faqe, e cila është me të vërtetë guxim e faqe, 126 00:07:09,000 --> 00:07:11,000 në qendër. 127 00:07:11,000 --> 00:07:13,000 >> Mirë, atëherë rezultati përfundimtar, të jetë i qartë, është kjo. 128 00:07:13,000 --> 00:07:17,000 Jo të gjithë që sexier, por të paktën është e përqëndruar dhe një pak më shumë si Google reale. 129 00:07:17,000 --> 00:07:21,000 Por çfarë nëse unë në vend të hapur versionin 2 të këtij 130 00:07:21,000 --> 00:07:25,000 dhe theksoj këtu poshtë një kod të ri krejt? 131 00:07:25,000 --> 00:07:30,000 Tani në krye të faqes sime, e cila më parë kishte vetëm cilën tag 132 00:07:30,000 --> 00:07:32,000 në të gjitha shembujt e mëparshme? 133 00:07:32,000 --> 00:07:34,000 Ajo vetëm kishte këtë, titullin. 134 00:07:34,000 --> 00:07:38,000 Një moment më parë kreu tag dukej si kjo. 135 00:07:38,000 --> 00:07:40,000 Tani ajo ka një vend brenda tag stil të saj, 136 00:07:40,000 --> 00:07:44,000 dhe kjo shumë, unë kërkoj falje, syntactically duket shumë e ndryshme nga HTML, 137 00:07:44,000 --> 00:07:47,000 por ju merrni përdorur për të, ku në brendësi të tag stil 138 00:07:47,000 --> 00:07:50,000 Unë tani mund të faktor se çfarë ishte një moment më parë 139 00:07:50,000 --> 00:07:54,000 një atribut, atribut stil, dhe unë mund të vënë atë në krye të faqen time. 140 00:07:54,000 --> 00:07:56,000 >> Pse? 141 00:07:56,000 --> 00:08:00,000 E pra, ky është një hap drejt pastrimin gjërat, ashtu si në shkrim kod C 142 00:08:00,000 --> 00:08:04,000 ne do të shkruaj ndonjëherë funksione të faktorit jashtë funksionalitetit të përbashkët. 143 00:08:04,000 --> 00:08:07,000 Kjo është vetëm një pastruese pak për të filluar nga gjëra të tilla si factoring estetikë 144 00:08:07,000 --> 00:08:11,000 në një vend qendror në vend që të gjitha shpërndaj gjithë HTML tuaj. 145 00:08:11,000 --> 00:08:14,000 Kjo shumë e bën atë që thotë, edhe pse ka një grimë e sintaksës së re. 146 00:08:14,000 --> 00:08:19,000 Kjo këtu është një përzgjedhës, dhe trupi do të thotë vetëm të zgjidhni elementin trupit 147 00:08:19,000 --> 00:08:21,000 dhe të zbatojë vetitë e mëposhtme për të. 148 00:08:21,000 --> 00:08:23,000 E pra, prona është saktësisht e njëjtë. 149 00:08:23,000 --> 00:08:25,000 Për masë të mirë unë kam shtuar një pikëpresje në fund, 150 00:08:25,000 --> 00:08:29,000 e cila ka tendencë të jetë konventë, dhe unë e kam mbështjellë tërë këtë pronë 151 00:08:29,000 --> 00:08:33,000 në formatimin e teksteve kaçurrel, sepse unë në fakt mund të ketë gjëra të ndryshme këtu. 152 00:08:33,000 --> 00:08:39,000 Unë në fakt mund të them diçka si ngjyra: blu; 153 00:08:39,000 --> 00:08:42,000 >> Tani edhe kjo nuk do të jetë një hap drejt çdo gjë gjithçka që prettier, 154 00:08:42,000 --> 00:08:47,000 por në qoftë se unë tani kthehem në versionin 2 kam bërë së paku tani trupin e mia 155 00:08:47,000 --> 00:08:49,000 Teksti Faqe gjitha blu. 156 00:08:49,000 --> 00:08:51,000 Butonin qëndron e njëjtë, sepse kjo është një input. Kjo nuk është tekst i pastër. 157 00:08:51,000 --> 00:08:56,000 Por çdo gjë tjetër që është teksti, si CS50 Kërkimi deri krye, është në fakt blu. 158 00:08:56,000 --> 00:09:01,000 Përsëri, të gjithë ne kemi bërë tani është hequr nga tag trupit, njoftim, 159 00:09:01,000 --> 00:09:04,000 atribut stil, dhe ne kemi faktorizuar atë këtu. 160 00:09:04,000 --> 00:09:08,000 Kjo nuk është një përmirësim i madh, por në qoftë se ne kemi marrë këtë hap më tej 161 00:09:08,000 --> 00:09:10,000 njoftim se çfarë ne mund të bëjmë në këtë version të tretë këtu. 162 00:09:10,000 --> 00:09:14,000 >> Në search3.html faqe është pothuajse identike 163 00:09:14,000 --> 00:09:17,000 përveç për atë tag re tani? 164 00:09:17,000 --> 00:09:20,000 Lidhje, kështu që kjo nuk është shumë me vend të quajtur 165 00:09:20,000 --> 00:09:24,000 sepse ju nuk jeni lidhur në kuptimin e një hyperlink klikueshme. 166 00:09:24,000 --> 00:09:28,000 Përkundrazi, ju jeni lloj i bërë ekuivalentin e C # përfshijë në 167 00:09:28,000 --> 00:09:31,000 ku tag lidhja me një atribut href 168 00:09:31,000 --> 00:09:34,000 dhe një atribut rel thotë të shkojnë përpara 169 00:09:34,000 --> 00:09:39,000 dhe kopje ngjisni përmbajtjen e një file të quajtur search3.css të drejtë këtu, në thelb. 170 00:09:39,000 --> 00:09:42,000 Ajo nuk ka fare të bëjë këtë, por kjo është fryma e saj. 171 00:09:42,000 --> 00:09:45,000 Ajo thotë se të shkoni hapur këtë dosje, search3.css, 172 00:09:45,000 --> 00:09:49,000 dhe trajtojnë atë sikur përdoruesi ka shtypur atë të drejtë këtu në krye të faqes 173 00:09:49,000 --> 00:09:51,000 ashtu si kam bërë në shembullin e mëparshëm. 174 00:09:51,000 --> 00:09:54,000 Search3.css, ndërkohë, është shumë e thjeshtë. 175 00:09:54,000 --> 00:09:58,000 Ajo me të vërtetë vetëm përmban saktësisht se çfarë ishte një moment më parë 176 00:09:58,000 --> 00:10:03,000 në tag stil, por kam faktorizuar atë këtu për dosjen e vet. 177 00:10:03,000 --> 00:10:07,000 >> Edhe pse ne nuk kemi shpenzuar shumë kohë në të gjitha në HTML ose web programim 178 00:10:07,000 --> 00:10:11,000 vetëm intuitive çfarë është motivimi, ndoshta, për factoring jashtë 179 00:10:11,000 --> 00:10:14,000 kjo copë e vogël madje CSS në dosjen e vet 180 00:10:14,000 --> 00:10:19,000 dhe pastaj duke përfshirë edhe atë me këtë tag Lidhje këtu? 181 00:10:19,000 --> 00:10:21,000 [Përgjigja e padëgjueshme Student] 182 00:10:21,000 --> 00:10:25,000 Mirë, kjo është më e lehtë për të lexuar në kuptimin që ju keni CSS tuaj në një skedar CSS. 183 00:10:25,000 --> 00:10:28,000 Ju keni HTML tuaj në dosjen tuaj HTML, kështu që është më i lexueshëm në këtë kuptim. 184 00:10:28,000 --> 00:10:30,000 Çfarë tjetër mund të jetë bindëse? Po. 185 00:10:30,000 --> 00:10:32,000 [Përgjigja e padëgjueshme Student] 186 00:10:32,000 --> 00:10:35,000 Yeah, kështu që ju mund të përfshijë atë shumë herë, kështu që tani që ne jemi duke bërë këto 187 00:10:35,000 --> 00:10:38,000 shembuj themelore me fotografi individuale, por mendoj që ju jeni në të vërtetë duke e bërë 188 00:10:38,000 --> 00:10:42,000 një faqe interneti të vërtetë si ju do të për pset 7 apo projekt përfundimtar ndoshta, 189 00:10:42,000 --> 00:10:45,000 dhe ju dëshironi që të ketë webpages të shumta, siç është e zakonshme në siguri 190 00:10:45,000 --> 00:10:48,000 Web aktual World Wide, dhe kjo do të jetë lloj i çalë 191 00:10:48,000 --> 00:10:52,000 të ketë të kopjoni dhe ngjisni të njëjtën ngjyrë blu 192 00:10:52,000 --> 00:10:56,000 dhe teksti njëjtën linjë qendra në çdo një prej këtyre faqeve. 193 00:10:56,000 --> 00:10:59,000 Përkundrazi kjo e bën më shumë kuptim për faktor jashtë, ashtu si kemi bërë në C 194 00:10:59,000 --> 00:11:02,000 me dosjen. h, e vënë atë në një vend qendror, 195 00:11:02,000 --> 00:11:06,000 në këtë search3.css rast, dhe pastaj të lejojë ndonjë skedar 196 00:11:06,000 --> 00:11:11,000 në faqen tuaj të vërtetë të përfshijë këtë dosje me anë të këtij tag këtu në linjë 16. 197 00:11:11,000 --> 00:11:14,000 Si zakonisht është rasti, kemi filluar me versionin 0, cili lloj i punimeve 198 00:11:14,000 --> 00:11:18,000 por nuk është domosdoshmërisht më të mirë, dhe me çdo hap, 199 00:11:18,000 --> 00:11:21,000 Kërkim 1, kërko 2, 3 dhe tani kërkoni që ne kemi marrë këto hapa të fëmijës 200 00:11:21,000 --> 00:11:26,000 drejt harton që janë të pastër dhe pak më përgatitore 201 00:11:26,000 --> 00:11:30,000 për faqet më komplekse që ne mund të bëjmë poshtë rrugës. 202 00:11:30,000 --> 00:11:33,000 >> Më lejoni të hapë një shembull të fundit këtu vetëm për të treguar 203 00:11:33,000 --> 00:11:36,000 një faqe edhe më të stilizuar, por së pari le të shohim në HTML. 204 00:11:36,000 --> 00:11:41,000 Kjo është search4.html, dhe vëreni se strukturalisht kjo është pothuajse e njëjtë 205 00:11:41,000 --> 00:11:44,000 përveç për futjen e një tag të ri, div. 206 00:11:44,000 --> 00:11:48,000 Div është një tag që prezanton një ndarje të faqes. 207 00:11:48,000 --> 00:11:51,000 Ju mund të mendoj për këtë si një drejtkëndësh të padukshme. 208 00:11:51,000 --> 00:11:54,000 Ai lloj i krijon një brez i kositur i zonës në faqen 209 00:11:54,000 --> 00:11:56,000 që ju mund të stilizoj të gjitha përnjëherë. 210 00:11:56,000 --> 00:11:58,000 Ajo që unë kam bërë këtu është si vijon. 211 00:11:58,000 --> 00:12:01,000 Brenda tag trupin tim, i cili ka qenë atje të gjithë së bashku, 212 00:12:01,000 --> 00:12:05,000 Unë jam duke thënë se të krijuar një ndarje të faqes këtu nëpërmjet linjave 45 deri 47, 213 00:12:05,000 --> 00:12:09,000 dhe që do të thotë në thelb më jepni një drejtkëndësh padukshme përgjatë krye të faqes. 214 00:12:09,000 --> 00:12:14,000 Pastaj më jepni një drejtkëndësh të dytë, megjithëse të padukshme, më poshtë se, 215 00:12:14,000 --> 00:12:16,000 dhe për të identifikuar atë nga përmbajtja emrin, dhe pastaj së fundi, 216 00:12:16,000 --> 00:12:19,000 më jepni një ndarje të tretë të faqes në fund 217 00:12:19,000 --> 00:12:21,000 quajtur ID. 218 00:12:21,000 --> 00:12:23,000 Ne do të shohim se pse e kam bërë këtë në vetëm një moment, 219 00:12:23,000 --> 00:12:26,000 por konceptualisht Unë kam një ndarje header. 220 00:12:26,000 --> 00:12:30,000 Unë kam një ndarje përmbajtje, dhe unë kam një ndarje futboll e faqes 221 00:12:30,000 --> 00:12:32,000 edhe pse këto janë vetëm në Markup. 222 00:12:32,000 --> 00:12:35,000 Ky përdorues nuk do të shoh 3 rectangles, 223 00:12:35,000 --> 00:12:37,000 por lloj strukturalisht ka prapa skenave 224 00:12:37,000 --> 00:12:39,000 ata janë të pranishëm në të vërtetë. 225 00:12:39,000 --> 00:12:41,000 >> Tani, i cili kujdeset? Pse në të vërtetë e bëjnë këtë? 226 00:12:41,000 --> 00:12:43,000 Çdo gjë tjetër në faqe është e njëjtë siç kemi parë më parë. 227 00:12:43,000 --> 00:12:47,000 Këtu është forma ime. Ja input im, input ime, një pushim line dhe kështu me radhë. 228 00:12:47,000 --> 00:12:50,000 Këtu është një imazh, edhe pse, kështu që ne do të shohim kur kjo erdhi nga në vetëm një moment. 229 00:12:50,000 --> 00:12:52,000 Këtu është një futboll, i cili është i ri, vetëm sepse kam kërkuar për të futur 230 00:12:52,000 --> 00:12:54,000 Përmbajtja e disa më shumë këtu. 231 00:12:54,000 --> 00:12:58,000 Nëse ne lëvizni lart vëreni se ID e këtij div është header. 232 00:12:58,000 --> 00:13:02,000 ID i këtij div është përmbajtje, dhe ID i këtij njërit është Fundfaqe. 233 00:13:02,000 --> 00:13:05,000 Dhe si emri sugjeron, kur ju keni një atribut identiteti 234 00:13:05,000 --> 00:13:09,000 në HTML, sipas definicionit duhet të identifikojnë unike 235 00:13:09,000 --> 00:13:12,000 një nga elementët, një nga Etiketimet në faqen tuaj. 236 00:13:12,000 --> 00:13:16,000 Barra është krejtësisht për ju të mbani mend se ju keni një ID header tashmë. 237 00:13:16,000 --> 00:13:19,000 Ju keni një futboll. Ju keni një ID të përmbajtjes tashmë. 238 00:13:19,000 --> 00:13:22,000 Kompjuteri nuk do të kuptoj se çfarë është një ID dispozicion është për ju, 239 00:13:22,000 --> 00:13:27,000 kështu që ju mund të aksidentalisht jepni 2 etiketa një ID të header, 240 00:13:27,000 --> 00:13:29,000 dhe se do të jetë vetëm e gabuar. 241 00:13:29,000 --> 00:13:31,000 >> Ju duhet të mbani në mend atë që ju keni krijuar, 242 00:13:31,000 --> 00:13:34,000 por sapo ju të keni bërë këtë njoftim se çfarë ne mund të bëjmë këtu. 243 00:13:34,000 --> 00:13:38,000 Unë tani mund të specifikojë në tag tim stil në krye 244 00:13:38,000 --> 00:13:41,000 ose ekuivalente në CSS dosjen time, në qoftë se unë isha ende duke përdorur atë version, 245 00:13:41,000 --> 00:13:46,000 Unë mund të them # header, dhe se çfarë do të thotë është se çfarëdo tag 246 00:13:46,000 --> 00:13:49,000 në këtë faqe ka një ID të header 247 00:13:49,000 --> 00:13:53,000 dhe #, vetëm nga Konventa e njeriut, përfaqëson ID. 248 00:13:53,000 --> 00:13:56,000 Shenja të mprehta ose paund shenjë përfaqëson ID. 249 00:13:56,000 --> 00:13:58,000 Header është emri që unë i dha atë. 250 00:13:58,000 --> 00:14:01,000 Kjo do të thotë të zbatohet këtë pronë CSS 251 00:14:01,000 --> 00:14:04,000 për çfarëdo tag në këtë faqe mban një ID të header. 252 00:14:04,000 --> 00:14:06,000 Marrëveshja same here. 253 00:14:06,000 --> 00:14:09,000 Aplikoni këtë pronë, i cili ndodh të jetë i njëjtë, për çdo element 254 00:14:09,000 --> 00:14:11,000 ID cilit është i kënaqur, dhe pastaj këtu poshtë 255 00:14:11,000 --> 00:14:14,000 njoftimit kam marrë një pak njohës me futboll. 256 00:14:14,000 --> 00:14:18,000 Çdo element të cilit ID është futboll, e cila nuk mund të jetë vetëm një nga definicioni, 257 00:14:18,000 --> 00:14:21,000 të shkojnë përpara dhe të bëjë madhësia e saj të vogël font, 258 00:14:21,000 --> 00:14:24,000 pesha e saj font bold, diferencë e saj 20 pixels. 259 00:14:24,000 --> 00:14:26,000 >> Çfarë do të thotë kjo? 260 00:14:26,000 --> 00:14:28,000 Kjo është vetëm një diferencë në krye, në fund, dhe majtës dhe të djathtës. 261 00:14:28,000 --> 00:14:31,000 Kjo do të thotë më jepni një diferencë 20-pixel padukshme rreth saj 262 00:14:31,000 --> 00:14:35,000 vetëm për të shtyrë çdo gjë tjetër larg nga ajo pak, si ju mund të bëni në Word, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word ose Pages apo si. 264 00:14:37,000 --> 00:14:39,000 Dhe pastaj teksti align qendër. 265 00:14:39,000 --> 00:14:43,000 Le të shohim rezultatin përfundimtar, dhe pastaj ne do të kthehemi deri në copëza e mbetur të një CSS atje. 266 00:14:43,000 --> 00:14:48,000 Ky është versioni 4, e fundit tonë për shembujt e kërkimit, dhe kjo është shumë, shumë sexier. 267 00:14:48,000 --> 00:14:54,000 Tani, në drejtësi, unë vetëm googled "google logo gjenerator font". 268 00:14:54,000 --> 00:14:58,000 Dhe kjo lejohet mua për të krijuar një GIF, një format imazh, i cili duket sikur se ka. 269 00:14:58,000 --> 00:15:00,000 Në fakt, ju mund ta bëni këtë shumë. 270 00:15:00,000 --> 00:15:03,000 Ne kemi "Google gjenerator fonts logo." 271 00:15:03,000 --> 00:15:05,000 >> Le të shohim nëse ne mund ta bëjmë këtë. 272 00:15:05,000 --> 00:15:07,000 Mirë, unë mendoj se kjo është faqja e internetit kam përdorur. 273 00:15:07,000 --> 00:15:11,000 Ne mund të themi KE 10, për shembull, dhe t'i bëjë ata të tyren. 274 00:15:11,000 --> 00:15:13,000 Ju mund të luajnë me këtë ditë të gjithë të gjatë dhe pastaj right click mbi atë 275 00:15:13,000 --> 00:15:16,000 dhe pastaj shkarko GIF aktuale, e cila është e gjitha që kam bërë. 276 00:15:16,000 --> 00:15:19,000 Dhe vërtet, kjo është arsyeja pse në HTML time, kujtoj, mbi këtu 277 00:15:19,000 --> 00:15:22,000 Unë kisha një etiketë imazh, i cili shkurtimisht pamë javën e kaluar 278 00:15:22,000 --> 00:15:24,000 cilit burim është logo.gif. 279 00:15:24,000 --> 00:15:28,000 Dhe çfarë ishte përsëri motivimi për të pasur këtë atribut alt, 280 00:15:28,000 --> 00:15:31,000 Ky atribut alternativë? 281 00:15:31,000 --> 00:15:33,000 Po. 282 00:15:33,000 --> 00:15:35,000 [Përgjigja e padëgjueshme Student] 283 00:15:35,000 --> 00:15:37,000 Mirë, kështu që 2 arsye të vërtetë, nëse shfletuesi nuk mund të tërheqë deri imazhin 284 00:15:37,000 --> 00:15:40,000 sepse ju keni një lidhje të ngadaltë të rrjetit ose imazh është i korruptuar 285 00:15:40,000 --> 00:15:44,000 ose diçka si kjo të paktën njeriut mund të shihni "CS50 kërkim," 286 00:15:44,000 --> 00:15:46,000 dhe pastaj edhe për arsye të aksesueshmërisë. 287 00:15:46,000 --> 00:15:48,000 Nëse ju keni një përdorues i cili është i verbër dhe është duke përdorur një lexues ekran 288 00:15:48,000 --> 00:15:50,000 dhe prandaj natyrisht që nuk mund të shohin imazhet ata mund te pakten 289 00:15:50,000 --> 00:15:52,000 dëgjoni tekstin në qoftë se kompjuteri i tyre flet atyre. 290 00:15:52,000 --> 00:15:56,000 >> Në përgjithësi, kjo është praktikë e mirë kur është fjala për qasjen e faqeve 291 00:15:56,000 --> 00:16:00,000 në mënyrë që përdoruesit edhe në atë situatë mund të dëgjojnë ose shohin, kështu që të flasin, 292 00:16:00,000 --> 00:16:03,000 çfarë është ajo që është në faqen tuaj. 293 00:16:03,000 --> 00:16:05,000 Ka një gjë tjetër që kam bërë këtu 294 00:16:05,000 --> 00:16:09,000 cila është një pak interesant, dhe ne do shih më shumë lidhje kjo në problemit vendosur 7 295 00:16:09,000 --> 00:16:12,000 nëpërmjet njërit prej shorts drejtuara nga një nga Fellows mësimdhënies. 296 00:16:12,000 --> 00:16:15,000 Por # Përmbajtja referohet tag 297 00:16:15,000 --> 00:16:20,000 ID cilit është i kënaqur, por pastaj ka një karakter hapësirë, dhe pastaj nuk ka të dhëna fjala. 298 00:16:20,000 --> 00:16:25,000 E pra, çfarë është interesante në lidhje me CSS është se ju mund të 299 00:16:25,000 --> 00:16:29,000 referohen Etiketimet në një lloj faqja e hierarkike, 300 00:16:29,000 --> 00:16:33,000 dhe atë që kjo copë e mjeteve CSS është gjetur tag 301 00:16:33,000 --> 00:16:37,000 ID cilit është i kënaqur, dhe pastaj të zbatohet vetitë e mëposhtme 302 00:16:37,000 --> 00:16:42,000 të gjithë tags dhëna që janë pasardhësit e përmbajtjes, 303 00:16:42,000 --> 00:16:44,000 kjo është që janë prerë në brendësi të saj. 304 00:16:44,000 --> 00:16:48,000 Gjurmë, përsëri, është e rëndësishme vetëm në kompjuter, jo të njeriut, 305 00:16:48,000 --> 00:16:51,000 por nga Konventa ne porosit gjërat si të shkojmë më thellë në një faqe, 306 00:16:51,000 --> 00:16:54,000 kështu që kjo do të thotë të aplikojnë një diferencë prej 5 pixel për çdo element të dhëna 307 00:16:54,000 --> 00:16:57,000 që është diku brenda apo mbivendosur brenda 308 00:16:57,000 --> 00:16:59,000  element i të cilit është i kënaqur ID. 309 00:16:59,000 --> 00:17:01,000 >> Kush e bën që të aplikojnë për të? 310 00:17:01,000 --> 00:17:03,000 E pra, nuk ka në fakt vetëm këto 2 djemtë këtu. 311 00:17:03,000 --> 00:17:05,000 Vini re se brenda të formularit ka 2 inputeve, 312 00:17:05,000 --> 00:17:07,000 si ka qenë për të gjithë këto shembuj. 313 00:17:07,000 --> 00:17:11,000 Por njoftim se ato 2 inputeve të ndodhë që të mbivendosur brenda, 314 00:17:11,000 --> 00:17:13,000 megjithëse pak të thellë, një çift i kryeradhës shtresa, 315 00:17:13,000 --> 00:17:16,000 në brendësi të tag cilit ID është i kënaqur. 316 00:17:16,000 --> 00:17:18,000 Çfarë do të thotë kjo? 317 00:17:18,000 --> 00:17:21,000 Nëse ne do të shkojmë në shfletuesin këtu ju mund të shihni ndonjëherë në mënyrë pak- 318 00:17:21,000 --> 00:17:23,000 më lejoni të zoom in-që ka një grimë mbushje mes butonin 319 00:17:23,000 --> 00:17:25,000 dhe në mes fushën e tekstit. 320 00:17:25,000 --> 00:17:27,000 >> Më lejoni që përkohësisht të kthehet off. 321 00:17:27,000 --> 00:17:30,000 Më lejoni të shkoj deri në CSS e mia, dhe më lejoni të shkojnë përpara dhe vetëm 322 00:17:30,000 --> 00:17:34,000 ndryshuar këtë diferencë prej 5 pixel në 0 pixels. 323 00:17:34,000 --> 00:17:37,000 Më lejoni të shkojnë përpara dhe pastaj ruani skedarin, shkoni prapa në search engine 324 00:17:37,000 --> 00:17:40,000 dhe rifreskoni, dhe të shikojnë mes të faqes. 325 00:17:40,000 --> 00:17:43,000 Gjithçka u ngjeshur së bashku, dhe kur kam parë këtë shembull whipped up 326 00:17:43,000 --> 00:17:46,000 Kam menduar se dukej budallallëk me fushën e tekstit dhe pastaj butonin menjëherë poshtë atë. 327 00:17:46,000 --> 00:17:50,000 Unë të kërkuar për të pad atë pak, kështu që unë futur kufijtë. 328 00:17:50,000 --> 00:17:55,000 Ajo që ne nuk do të bëjmë në leksion është të shkoni nëpër disa dhjetra 329 00:17:55,000 --> 00:17:58,000 Pronat CSS se ekzistojnë, sepse, përsëri, nuk janë gjëra të tilla si madhësia e shkronjave, 330 00:17:58,000 --> 00:18:02,000 pesha font, margin, text lidhur, dhe disa të tjerë duzinë, 331 00:18:02,000 --> 00:18:06,000 dhe ne do t'ju rekomandojë në problemin vendosur për 7 tutorials ndryshme online 332 00:18:06,000 --> 00:18:08,000 dhe referencat që ju lejon të marr këto gjëra deri. 333 00:18:08,000 --> 00:18:10,000 Por ajo që është me të vërtetë e rëndësishme në fund të ditës 334 00:18:10,000 --> 00:18:12,000 >> është për të kuptuar se si këto gjëra janë zbatuar. 335 00:18:12,000 --> 00:18:15,000 Përsëri, në qoftë se ne kemi tag stil brenda të cilave 336 00:18:15,000 --> 00:18:19,000 mund të shkoni selectors, lloj i identifikuesve që specifikojnë 337 00:18:19,000 --> 00:18:21,000 për të cilin ju dëshironi të aplikoni këto prona, 338 00:18:21,000 --> 00:18:24,000 dhe pastaj ju vënë prona si palë vlerë kyçe 339 00:18:24,000 --> 00:18:28,000 ndarë nga një zorrë e trashë dhe përfundoi pastaj me një pikëpresje, 340 00:18:28,000 --> 00:18:32,000 ose ju mund të shqyej të gjitha atë jashtë dhe e vënë atë në një skedar të veçantë CSS 341 00:18:32,000 --> 00:18:35,000 vetvete. 342 00:18:35,000 --> 00:18:39,000 Të gjithë të drejtë, ndonjë pyetje mbi konceptet 343 00:18:39,000 --> 00:18:41,000 ose foto e madhe e CSS? 344 00:18:41,000 --> 00:18:43,000 Ju do të shikoni përsëri më shumë nga ajo në pset 7, 345 00:18:43,000 --> 00:18:47,000 por ne do të mbani atë në përgjithësi shumë e thjeshtë. 346 00:18:47,000 --> 00:18:49,000 Jo? Dakord. 347 00:18:49,000 --> 00:18:51,000 Është koha për një gjuhë programimi aktual, 348 00:18:51,000 --> 00:18:54,000 dhe ne do kthehen tek një pak e CSS në formën e një shembull. 349 00:18:54,000 --> 00:18:58,000 PHP është në fakt një gjuhë mrekullisht arritshme 350 00:18:58,000 --> 00:19:02,000 në atë që është syntactically pothuajse ekuivalente me C. 351 00:19:02,000 --> 00:19:06,000 Me fjalë të tjera, nëse ju e dini C, ju e dini për PHP pjesën më të madhe, 352 00:19:06,000 --> 00:19:08,000 paktën syntactically, edhe pse ka disa karakteristika të reja 353 00:19:08,000 --> 00:19:10,000 dhe disa koncepte të reja, ne do të duhet të shikoni në. 354 00:19:10,000 --> 00:19:13,000 >> Por për pjesën më të madhe, tani që ne kalimi nga C për PHP 355 00:19:13,000 --> 00:19:16,000 shumica e gjëra të reja është me të vërtetë në foto e madhe, 356 00:19:16,000 --> 00:19:19,000 si ju përdorni një gjuhë për programin në Web në krahasim me 357 00:19:19,000 --> 00:19:23,000 në command line ose në një keq të shpejtë siç kemi bërë deri tani. 358 00:19:23,000 --> 00:19:27,000 Për referencë, veçanërisht me pset 7 dhe në vazhdim përfundimtare të projektit, 359 00:19:27,000 --> 00:19:31,000 do të përfitojnë nga kjo URL këtu në qoftë se ju dëshironi të lexoni deri në formalitetet e PHP. 360 00:19:31,000 --> 00:19:34,000 Është në fakt si një tekst falas online në mënyrë efektive, 361 00:19:34,000 --> 00:19:37,000 dhe ju do të gjeni se çfarë është me të vërtetë e bukur për PHP 362 00:19:37,000 --> 00:19:41,000 është se ka me qindra e funksioneve që vijnë me të, 363 00:19:41,000 --> 00:19:44,000 ndërsa në C ju nuk domosdoshmërisht të kenë qasje në 364 00:19:44,000 --> 00:19:47,000 Funksionet më shumë se ishin në bibliotekë matematikë, të CS50 bibliotekë. 365 00:19:47,000 --> 00:19:51,000 Në PHP dhe një shumë prej gjuhëve moderne, Python dhe Ruby në mesin e tyre, 366 00:19:51,000 --> 00:19:54,000 që ju të merrni qasje në kaq shumë funksione më shumë, që do të thotë që ju të merrni për të shkruar 367 00:19:54,000 --> 00:19:57,000 Kodi shumë pak, sepse ju mund të qëndrojnë mbi supet e njerëzve të tjerë 368 00:19:57,000 --> 00:19:59,000 që kanë shkruar tashmë gjëra të caktuara për ju. 369 00:19:59,000 --> 00:20:03,000 >> Le të marrin një turne të shpejtë të sintaksës e PHP dhe pastaj shkruaj disa shembuj. 370 00:20:03,000 --> 00:20:06,000 Çfarë është e bukur për të parë dhe më kryesorja PHP 371 00:20:06,000 --> 00:20:08,000 po nuk ka funksioni kryesor. 372 00:20:08,000 --> 00:20:10,000 Nëse ju doni të shkruani një program në PHP qe sapo filloni të shkruani kodin, 373 00:20:10,000 --> 00:20:12,000 dhe ju nuk keni për t'u shqetësuar rreth kryesore. 374 00:20:12,000 --> 00:20:14,000 Nuk ka asnjë int. Nuk ka kthim. 375 00:20:14,000 --> 00:20:17,000 Nuk ka, argv argc që është e nevojshme kur ju shkruani programin. 376 00:20:17,000 --> 00:20:20,000 Përkundrazi vetëm ju mund të filloni të shkruani kodin, dhe kjo është pjesërisht 377 00:20:20,000 --> 00:20:23,000 sepse PHP është ajo që quhet një gjuhë interpretuar. 378 00:20:23,000 --> 00:20:26,000 C është përpiluar, dhe ajo u përpiluar në kuptimin që ju të filloni 379 00:20:26,000 --> 00:20:29,000 me kod burim, e drejtuar atë nëpërmjet tingëllimë, e cila është një përpilues, 380 00:20:29,000 --> 00:20:33,000 dhe eventualisht pas disa numrin e hapave që ju të merrni kodin objekt, 0s dhe 1s. 381 00:20:33,000 --> 00:20:36,000 PHP dhe Python dhe Ruby dhe Pearl dhe të tjerët 382 00:20:36,000 --> 00:20:39,000 lloje të ndryshme të gjuhëve në të cilat ju nuk përpilojnë ato. 383 00:20:39,000 --> 00:20:42,000 Ju nuk shkoni nga kodi burim për 0s dhe 1s. 384 00:20:42,000 --> 00:20:45,000 Ju vetëm të drejtuar kodin burimor, dhe ju drejtuar kodin burimor 385 00:20:45,000 --> 00:20:49,000 duke shkruar në një skedar teksti të zakonshme, duke i dhënë fund në. php në këtë rast 386 00:20:49,000 --> 00:20:53,000 në vend të. c, dhe çfarë programi bën në kompjuterin tuaj 387 00:20:53,000 --> 00:20:57,000 është ajo fjalë për fjalë interpreton linjë kodin tuaj duke rresht pas rreshti. 388 00:20:57,000 --> 00:21:00,000 >> Me fjalë të tjera, në vend se të shkruani një program dhe të drejtuar programin 389 00:21:00,000 --> 00:21:04,000 direkt ju në vend që të shkruani një program me një skedar përfundon në. php. 390 00:21:04,000 --> 00:21:09,000 Pastaj ju drejtuar një program të quajtur php.exe aktuale, nëse ju jeni në Windows, 391 00:21:09,000 --> 00:21:12,000 ose thjesht PHP nëse ju jeni në Mac OS apo Linux, 392 00:21:12,000 --> 00:21:17,000 dhe ju ofrojnë si input për programin PHP kodin tuaj burim, 393 00:21:17,000 --> 00:21:20,000 dhe qëllimi i tij në jetë është për të lexuar kodin tuaj të lartë në fund, e majta në të djathtë, 394 00:21:20,000 --> 00:21:23,000 dhe çdo gjë që ju bëni kam thënë atë për të bërë. 395 00:21:23,000 --> 00:21:25,000 >> Le të shohim se çfarë kjo do të thotë syntactically. 396 00:21:25,000 --> 00:21:27,000 Në PHP kemi kushte. 397 00:21:27,000 --> 00:21:29,000 Kjo rrëshqitje është identike me atë që ju pashë përsëri në 1 javë 398 00:21:29,000 --> 00:21:33,000 sepse syntactically kushtet, IFS dhe IFS tjetër dhe tjetër në PHP 399 00:21:33,000 --> 00:21:35,000 duken tamam si kjo. 400 00:21:35,000 --> 00:21:38,000 Kur është fjala për shprehje boolean ata do të duken tamam si kjo. 401 00:21:38,000 --> 00:21:43,000 Kur është fjala për anding gjëra së bashku si booleans ajo do të duken tamam si kjo. 402 00:21:43,000 --> 00:21:46,000 Switches duken të njëjta, dhe ju merrni përfitimin shtuar në PHP 403 00:21:46,000 --> 00:21:51,000 që ndizet në C vetëm mund të kaloni në një char apo Int. 404 00:21:51,000 --> 00:21:53,000 Ju nuk mund të kaloni në një vlerë string. 405 00:21:53,000 --> 00:21:55,000 Në PHP ju mund të vërtetë kanë një shprehje 406 00:21:55,000 --> 00:21:58,000 që është një ndryshore përmbajtja e së cilës janë një varg, 407 00:21:58,000 --> 00:22:01,000 dhe ju në fakt mund të bëni krahasimin varg në mënyrë të vërtetë intuitive, 408 00:22:01,000 --> 00:22:06,000 Nuk krahasim akrep, me qëllim që të vendosë nëse do të bëjë apo rast unë j apo diçka tjetër. 409 00:22:06,000 --> 00:22:09,000 Ne do të shohim se potencialisht para se të gjatë. 410 00:22:09,000 --> 00:22:11,000 >> Sythe shumë mrekullisht janë të njëjta. 411 00:22:11,000 --> 00:22:15,000 Për sythe kanë një initialization, një kusht, dhe disa numri i përditësime. 412 00:22:15,000 --> 00:22:18,000 Ndërsa sythe gjithashtu ekzistojnë në PHP. 413 00:22:18,000 --> 00:22:21,000 Bëni ndërsa sythe ekzistojnë edhe në PHP, 414 00:22:21,000 --> 00:22:26,000 dhe vargjeve ekzistojnë në PHP, por këtu është ku fillon sintaksë për të marrë një pak më ndryshe, 415 00:22:26,000 --> 00:22:29,000 por konceptet janë të njëjta, dhe konceptet me të vërtetë janë të njëjta 416 00:22:29,000 --> 00:22:32,000 si ata ishin në javë me 0 Scratch. 417 00:22:32,000 --> 00:22:34,000 Së pari dhe më kryesorja është $ shenjë. 418 00:22:34,000 --> 00:22:37,000 Ky ishte një vendim i projektimit në PHP ku çdo variabël 419 00:22:37,000 --> 00:22:41,000 në PHP nga dizajni fillon me $ shenjë. 420 00:22:41,000 --> 00:22:46,000 Nuk ka asnjë më të X, Y, Z. Ajo është tani $ X, Y $, $ Z vetëm për shkak. 421 00:22:46,000 --> 00:22:49,000 Kjo është diçka për të mbajtur në mend, dhe tani në anën e djathtë 422 00:22:49,000 --> 00:22:52,000 kjo duket e ngjashme me një grup, 423 00:22:52,000 --> 00:22:54,000 por ne jemi duke përdorur kllapa katrore këtu. 424 00:22:54,000 --> 00:22:57,000 Në PHP dhe JavaScript, si ne do të shohim përfundimisht, 425 00:22:57,000 --> 00:23:01,000 të deklarojë një rrjet që ju bëni kllapa katrore hapur dhe mbyllur kllapa katrore, 426 00:23:01,000 --> 00:23:04,000 dhe atëherë ju keni një listë të ndara me presje e vlerave, nëse ints 427 00:23:04,000 --> 00:23:09,000 ose strings ose karaktere, çdo gjë që ju dëshironi, brenda e asaj shprehjes atje. 428 00:23:09,000 --> 00:23:11,000 >> Tani, si u bëjmë diçka si kjo në C? 429 00:23:11,000 --> 00:23:16,000 Cili ishte sintaksë për statically deklaruar një grup të numrave të njohura? 430 00:23:16,000 --> 00:23:19,000 Ajo ishte formatimin e teksteve kaçurrel, kështu që diferenca të vogla këtu, por në dy PHP 431 00:23:19,000 --> 00:23:22,000 dhe përfundimisht JavaScript ajo vetëm përdor kllapa katrore, në mënyrë që me të vërtetë 432 00:23:22,000 --> 00:23:25,000 detaje vetëm interesante këtu është $ shenjë për emrin e ndryshueshme 433 00:23:25,000 --> 00:23:28,000 dhe gjithashtu kllapa katrore, dhe nuk është një gjë e çuditshme 434 00:23:28,000 --> 00:23:32,000 që i janë hequr, si edhe në anën e majtë e shenjës =. 435 00:23:32,000 --> 00:23:36,000 Çfarë është zhdukur që ne kemi qenë duke kërkuar për disa javë tani? Po. 436 00:23:36,000 --> 00:23:38,000 [Përgjigja e padëgjueshme Student] 437 00:23:38,000 --> 00:23:41,000 Madhësia, kështu që nuk ka asnjë përmendje të madhësisë së grup. 438 00:23:41,000 --> 00:23:45,000 Sinqerisht, nuk ka përmendur kllapa katrore në anën e majtë 439 00:23:45,000 --> 00:23:47,000 e shenjës =, dhe çfarë tjetër është zhdukur nga vija? 440 00:23:47,000 --> 00:23:49,000 Po. >> [Përgjigja e padëgjueshme Student] 441 00:23:49,000 --> 00:23:52,000 Lloji, kështu që çfarë është interesante në veçanti në lidhje me PHP 442 00:23:52,000 --> 00:23:56,000 është që ajo nuk është një gjuha fort shtypen si C është, 443 00:23:56,000 --> 00:23:58,000 dhe që është shtypur me forcë, në kuptimin që ju duhet të thoni char, 444 00:23:58,000 --> 00:24:00,000 ju duhet të them int, ju duhet të them noton. 445 00:24:00,000 --> 00:24:03,000 >> Çdoherë ju doni një ndryshore që ju duhet të tregoni se çfarë lloji tingëllimë saj është. 446 00:24:03,000 --> 00:24:05,000 PHP është pak lazier. 447 00:24:05,000 --> 00:24:08,000 Është shtypur lirshëm në kuptimin që 448 00:24:08,000 --> 00:24:11,000 ju mund të keni gjithandej dhe karaktere dhe vargjet 449 00:24:11,000 --> 00:24:14,000 dhe ints dhe kështu me radhë, por gjuha vetë 450 00:24:14,000 --> 00:24:17,000 nuk ka të vërtetë kujdes atë që keni vënë në brendësi të një variable. 451 00:24:17,000 --> 00:24:20,000 Ju nuk keni për të informuar atë më parë se çfarë lloji të dhënave 452 00:24:20,000 --> 00:24:22,000 është duke shkuar në një ndryshore. 453 00:24:22,000 --> 00:24:24,000 Kjo është plotësisht deri në ju, kështu që kjo është e bukur 454 00:24:24,000 --> 00:24:27,000 në se ju nuk keni për t'u shqetësuar aq shumë për të dhënat e shtypur 455 00:24:27,000 --> 00:24:29,000 dhe shqetësuese se çfarë argumentet tuaja dhe kështu me radhë. 456 00:24:29,000 --> 00:24:32,000 Kjo gjithashtu do të thotë përfundimisht funksione në PHP do të jetë në gjendje të kthehen 457 00:24:32,000 --> 00:24:36,000 ose një më të int e kohës, dhe ndoshta një herë në një kohë 458 00:24:36,000 --> 00:24:40,000 ata do të kthehen një bool, një FALSE boolean, për shembull, për të ditur se diçka shkoi keq. 459 00:24:40,000 --> 00:24:44,000 Kjo na jep disa upsides, por ajo gjithashtu do të na bëjë lloj i dizajnit nga 460 00:24:44,000 --> 00:24:47,000 pak lazier kur është fjala për të dhënat e shtypur. 461 00:24:47,000 --> 00:24:50,000 >> Çfarë tjetër është atje për të mbajtur në mendje këtu? 462 00:24:50,000 --> 00:24:54,000 Variablat duken mjaft si kjo, kështu që $ s = "Hello, World". 463 00:24:54,000 --> 00:24:57,000 Kjo është ndoshta nënkuptura për t'u ulur nga shembullin e mëparshëm, 464 00:24:57,000 --> 00:24:59,000 dhe ne kemi një tjetër lloj lak. 465 00:24:59,000 --> 00:25:02,000 Ky i fundit ne do të shohim në fakt një herë në një kohë që është mjaft i dobishëm, 466 00:25:02,000 --> 00:25:04,000 a foreach ndërtimin. 467 00:25:04,000 --> 00:25:11,000 Në këtë rast, lak foreach merr brenda kllapa e saj 3 fjalë tipike, 468 00:25:11,000 --> 00:25:16,000 $ Diçka e parë, e cila është ajo array ju doni të iterate mbi anëtarët e, 469 00:25:16,000 --> 00:25:19,000 pastaj fjalë fjalen si, dhe pastaj së fundi, 470 00:25:19,000 --> 00:25:21,000 një tjetër emër ndryshueshme që ju të merrni për të zgjedhur. 471 00:25:21,000 --> 00:25:23,000 Ajo mund të jetë foo, bar, apo element, 472 00:25:23,000 --> 00:25:26,000 dhe çfarë e bën këtë konstrukt 473 00:25:26,000 --> 00:25:29,000 është nëse $ array përmban 10 elemente 474 00:25:29,000 --> 00:25:34,000 në çdo përsëritje të kësaj grup-keq, në çdo përsëritje të këtij lak 475 00:25:34,000 --> 00:25:37,000 Elementi i quajtur variabël do të jenë të përditësuar 476 00:25:37,000 --> 00:25:40,000 të jetë elementi i parë në grup, atëherë elementi i dytë në grup, 477 00:25:40,000 --> 00:25:44,000 pastaj elementi i tretë i grup, duke obviating nevojën 478 00:25:44,000 --> 00:25:46,000 për të bërë shënim pak bezdisshëm katror parantezë dhe 479 00:25:46,000 --> 00:25:49,000 $ I në mënyrë që të indeksit në një rrjet. 480 00:25:49,000 --> 00:25:53,000 PHP ka të gjithë atë punë për ju dhe në çdo përsëritje 481 00:25:53,000 --> 00:25:55,000 vetëm duart ju element tjetër nga grup 482 00:25:55,000 --> 00:26:01,000 pa ju pasur nevojë të dinë rreth ose kujdesen për vendndodhjen e saj numerike tregues. 483 00:26:01,000 --> 00:26:04,000 >> Dhe pastaj në fund, tani për tani, nuk ka një tipar tjetër të PHP 484 00:26:04,000 --> 00:26:08,000 që do të jetë jashtëzakonisht e dobishme, sidomos kur kemi filluar programimin në Web, 485 00:26:08,000 --> 00:26:10,000 dhe kjo është e njohur si një grup shoqëruese. 486 00:26:10,000 --> 00:26:13,000 Vargjeve që ne e dimë deri më tani si e 20 sekonda më parë 487 00:26:13,000 --> 00:26:17,000 dhe për 8 javët e fundit janë të indeksuar numerikisht vargjeve, 488 00:26:17,000 --> 00:26:20,000 lloj i vargjeve tradicionale ku indekset janë ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, gjithë mënyrë më lart. 490 00:26:23,000 --> 00:26:25,000 Vargjeve associative janë shumë më të fuqishme. 491 00:26:25,000 --> 00:26:28,000 Ato ju lejojnë të ketë çelësat arbitrare, 492 00:26:28,000 --> 00:26:31,000 indekset arbitrare dhe vlerat arbitrare. 493 00:26:31,000 --> 00:26:34,000 Ndërsa në një grup tradicionale ajo është 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 në një grup associative ju mund të ketë një indeks 495 00:26:37,000 --> 00:26:41,000 ose një kyç i foo vlera e të cilave është bar. 496 00:26:41,000 --> 00:26:46,000 Ju pastaj mund të ketë një tjetër emri i të cilit është kyç Baz dhe vlera e të cilave është qux. 497 00:26:46,000 --> 00:26:49,000 >> Përsëri, emrat budallaqe shkenca kompjuterike generic ndryshueshme këtu, 498 00:26:49,000 --> 00:26:55,000 por pikë është se ky grup nuk ka kllapa 0 ose 1 kllapa. 499 00:26:55,000 --> 00:26:59,000 Është vend do të ketë parantezë parantezë foo dhe Baz. 500 00:26:59,000 --> 00:27:03,000 Kjo është një shumë më të shkathët në atë që ne jemi duke shkuar të jetë në gjendje që të lidhen 501 00:27:03,000 --> 00:27:07,000 Fjalët me fjalë të tjera, çelësat me vlera krejtësisht arbitrare, 502 00:27:07,000 --> 00:27:12,000 dhe ne do të jetë në gjendje për të marrë ato vlera prapa në kohë konstante 503 00:27:12,000 --> 00:27:14,000 sepse nën kapuç se çfarë një grup shoqerues 504 00:27:14,000 --> 00:27:16,000 është me të vërtetë është një tabelë hash. 505 00:27:16,000 --> 00:27:20,000 Kujtojnë se një tabelë hash ju lejon për të vënë në disa të dhëna 506 00:27:20,000 --> 00:27:25,000 si të vënë në fjalë Davidit në qoftë se ju doni të futur Davidin në disa lloj fjalori, 507 00:27:25,000 --> 00:27:27,000 dhe pastaj ju merrni mbrapa disa vlera tipike. 508 00:27:27,000 --> 00:27:29,000 Në rastin e speller, e vërtetë apo e rreme. 509 00:27:29,000 --> 00:27:33,000 David apo çfarëdo fjalë është ose nuk është në fjalor. 510 00:27:33,000 --> 00:27:36,000 Një grup asociativ është me të vërtetë vetëm një tabelë hash, 511 00:27:36,000 --> 00:27:38,000 por kjo është një mishërim më shumë përdorues miqësore për të. 512 00:27:38,000 --> 00:27:41,000 Siç do të shohim, kjo do të na lejojë të bëjmë disa gjëra 513 00:27:41,000 --> 00:27:43,000 shumë, shumë e lehtë. 514 00:27:43,000 --> 00:27:45,000 >> Le të marrin një vështrim në disa PHP bazë 515 00:27:45,000 --> 00:27:47,000 shembuj dhe shikoni se çfarë mund të bëjmë me këtë gjuhë. 516 00:27:47,000 --> 00:27:51,000 Më lejoni të shkojnë përpara dhe të hapur deri në directory tonë burimor sot 517 00:27:51,000 --> 00:27:54,000 një file të quajtur hello1.php. 518 00:27:54,000 --> 00:27:57,000 Kjo skedë është komenti më shumë se ajo është kodi aktual, 519 00:27:57,000 --> 00:28:00,000 prandaj më lejoni të vërtetë të hequr të gjitha komenteve nga dosja 520 00:28:00,000 --> 00:28:05,000 dhe të pranishëm për ju ndoshta thjeshtë të programit PHP drejtë këtu. 521 00:28:05,000 --> 00:28:07,000 5 linja, dhe disa prej atyre që janë të hapësirë ​​të bardhë, 522 00:28:07,000 --> 00:28:09,000 kështu që të vëreni disa dallime kyçe këtu. 523 00:28:09,000 --> 00:28:12,000 File quhet hello1.php. 524 00:28:12,000 --> 00:28:16,000 Linja e parë, megjithatë, është 00:28:18,000 Ngjashme në frymë të HTML, 526 00:28:18,000 --> 00:28:21,000 se rend i karaktereve tregon kompjuter 527 00:28:21,000 --> 00:28:25,000 "Hej, kompjuter, këtu vjen një program që ne jemi në në PHP." 528 00:28:25,000 --> 00:28:28,000 Kjo e bën të sigurt se nuk është e hutuar se ajo është një gjuhë tjetër. 529 00:28:28,000 --> 00:28:30,000 Linja 2 është një hapësirë ​​interesante bardhë. 530 00:28:30,000 --> 00:28:32,000 Line 3 është miku ynë i vjetër printf, 531 00:28:32,000 --> 00:28:34,000 këtë herë në kontekstin e PHP. 532 00:28:34,000 --> 00:28:37,000 PHP ka versionin e vet të printf cila sillet njëjtë, 533 00:28:37,000 --> 00:28:39,000 kështu që kjo është vetëm do të shtypura "Hello World,". 534 00:28:39,000 --> 00:28:46,000 Dhe pastaj ky tag kundërta këtu?>, Thotë se është ajo për kodin PHP tim. 535 00:28:46,000 --> 00:28:48,000 >> Le të shohim se si për të drejtuar këtë. 536 00:28:48,000 --> 00:28:50,000 Unë jam duke shkuar për të shkuar mbrapa në dritaren time terminal këtu. 537 00:28:50,000 --> 00:28:52,000 Unë jam duke shkuar për të shkuar në directory time PHP. 538 00:28:52,000 --> 00:28:56,000 Vini re se ne kemi një bandë e tërë e dosjeve, i pari prej të cilave është hello.php. 539 00:28:56,000 --> 00:29:01,000 Më lejoni të shkojnë përpara dhe për të drejtuar këtë hello1.php,, hyjnë. 540 00:29:01,000 --> 00:29:03,000 Leja mohoi. Rregull. 541 00:29:03,000 --> 00:29:06,000 Si e kemi fiksuar gjëra të tilla si kjo në të kaluarën? 542 00:29:06,000 --> 00:29:08,000 Çfarë është ajo? >> [Përgjigja padëgjueshme Student] 543 00:29:08,000 --> 00:29:11,000 Ne kemi nevojë për të lexuar dhe shkruar, por më lejoni të bëj ls-l. 544 00:29:11,000 --> 00:29:14,000 Mbani mend këtë dalje disi fshehta ku hello1 545 00:29:14,000 --> 00:29:17,000 duket të jetë i lexueshëm dhe të shkruhet nga mua 546 00:29:17,000 --> 00:29:19,000 por i lexueshëm nga të gjithë të tjerët. 547 00:29:19,000 --> 00:29:22,000 Kjo rezulton nga kjo në fakt nuk është një hap në drejtimin e duhur. 548 00:29:22,000 --> 00:29:25,000 Dallimi, përsëri, me një gjuhë të interpretohet 549 00:29:25,000 --> 00:29:27,000 është që ju nuk do të kandidojë programin direkt. 550 00:29:27,000 --> 00:29:30,000 Ju në vend të drejtuar një përkthyes dhe dorëzojë atë kod 551 00:29:30,000 --> 00:29:33,000 që ju keni shkruar kështu që mund të interpretojnë atë rresht pas rreshti. 552 00:29:33,000 --> 00:29:36,000 Në këtë rast, përkthyesi apo program unë në fakt doni të drejtuar 553 00:29:36,000 --> 00:29:38,000 fjalë për fjalë është quajtur PHP. 554 00:29:38,000 --> 00:29:41,000 >> Diku në këtë hard drive e pajisjes nuk është një program 555 00:29:41,000 --> 00:29:45,000 dikush tjetër shkroi quajtur PHP, ose në Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Ajo që unë jam duke shkuar për të bërë këtu është që unë jam duke shkuar për të vërtetë të drejtuar PHP 557 00:29:48,000 --> 00:29:51,000 por të japë atë si një argument command line kodin që kam shkruar, 558 00:29:51,000 --> 00:29:54,000 dhe pastaj unë do të zoom jashtë dhe e goditi të hyjë. 559 00:29:54,000 --> 00:29:58,000 Ajo shkon programin tim për mua, nga lart poshtë, e majta në të djathtë. 560 00:29:58,000 --> 00:30:01,000 Më lejoni të shkoj përpara dhe të hapur një grindje të vogël të kësaj. 561 00:30:01,000 --> 00:30:05,000 Në njoftimin hello2.php se kjo shumë 562 00:30:05,000 --> 00:30:08,000 është kryesisht komente, kështu që më lejoni të shpëtoj nga ata si një çmenduri, 563 00:30:08,000 --> 00:30:13,000 dhe çfarë është në mënyrë të qartë të ndryshme në lidhje me këtë dosje tani? 564 00:30:13,000 --> 00:30:15,000 Nuk është kjo linjë e re, disi i fshehtë në krye. 565 00:30:15,000 --> 00:30:20,000 Në linjë 1 është #! / Bin / php. 566 00:30:20,000 --> 00:30:24,000 Bin është një konventë në Linux dhe Mac OS për binare, 567 00:30:24,000 --> 00:30:27,000 kështu / bin do të thotë kjo është një dosje që përmban një bandë e binare 568 00:30:27,000 --> 00:30:29,000 që është programuar, një nga të cilat është PHP. 569 00:30:29,000 --> 00:30:32,000 #! është mbiquajtur mesele, 570 00:30:32,000 --> 00:30:35,000 e cila është mënyra më e shpejtë për të thënë atë, dhe çfarë kjo do të thotë 571 00:30:35,000 --> 00:30:40,000 është se kur ju drejtuar këtë program tani ka një aluzion në krye të file 572 00:30:40,000 --> 00:30:44,000 që tregon se çfarë kompjuterin përkthyes për t'u përdorur. 573 00:30:44,000 --> 00:30:47,000 >> Ajo merr pak i bezdisshëm, nëse keni pasur për të treguar përdoruesit tuaj dhe klientët tuaj 574 00:30:47,000 --> 00:30:50,000 "Hej, ne shkruar këtë program të quajtur hello1.php." 575 00:30:50,000 --> 00:30:54,000 Të gjithë ju duhet të bëni është të drejtuar përgjithmonë PHP dhe pastaj emrin e këtij programi. 576 00:30:54,000 --> 00:30:58,000 Sinqerisht, kjo vetëm do të jetë nicer për të kandiduar hello1.php, 577 00:30:58,000 --> 00:31:00,000 dhe në të vërtetë, ne mund të qoftë se ne bëjmë në vijim. 578 00:31:00,000 --> 00:31:05,000 Më lejoni të shkojnë përpara dhe të bëjë ls-l, dhe njoftim në hello2 është ende vetëm lexuar shkruani 579 00:31:05,000 --> 00:31:10,000 dhe pastaj lexoni lexuar, kështu që unë ende nuk mund ta bëjë këtë, hello2.php. 580 00:31:10,000 --> 00:31:15,000 Por ne kemi prezantuar këtë ndonjëherë kaq pak kohë për herë të fundit, komanda chmod. 581 00:31:15,000 --> 00:31:20,000 Nëse unë bëj një chmod + x, që do të thotë të gjitha përmbarueshmëria plus, 582 00:31:20,000 --> 00:31:26,000 dhe pastaj hello2.php dhe pastaj do ls-l sërish njoftim se çfarë ndryshuar. 583 00:31:26,000 --> 00:31:29,000 Një, Linux është treguar mua emrin e file në të gjelbër për të përcjellë idenë 584 00:31:29,000 --> 00:31:32,000 se kjo ekzekutueshme, por më e rëndësishmja, në anën e majtë 585 00:31:32,000 --> 00:31:36,000 vini re se pak përfaqëson X për ekzekutues tani është vendosur. 586 00:31:36,000 --> 00:31:42,000 Çfarë kjo do të thotë që tani është që unë mund të kandidojë ./hello2.php si zakonisht, 587 00:31:42,000 --> 00:31:45,000 goditur të hyjë, dhe për shkak të mesele në krye të dosjes 588 00:31:45,000 --> 00:31:48,000 kjo është një aluzion, përsëri, për të Linux që thotë se 589 00:31:48,000 --> 00:31:51,000 përdorni këtë përkthyes për të drejtuar këtë file. 590 00:31:51,000 --> 00:31:54,000 Mos u shqetësoni detyruar përdoruesit të tipit të vërtetë atë. 591 00:31:54,000 --> 00:31:57,000 >> Dhe ajo që është e bukur tani është lloji i parëndësishëm për klientët e mi, ose miqtë e mi 592 00:31:57,000 --> 00:32:01,000 çfarë gjuhe kam shkruar këtë program në, kështu që unë mund të shkojë përpara me TM 593 00:32:01,000 --> 00:32:04,000 dhe të riemërtoni këtë gjë për të hello2, për shembull. 594 00:32:04,000 --> 00:32:07,000 Dhe tani, nëse unë bëj ./hello2 595 00:32:07,000 --> 00:32:10,000 dhe zoom nga programi im vazhdon për të kandiduar. 596 00:32:10,000 --> 00:32:13,000 Këto file extensions janë një konventë njerëzore që është e nevojshme 597 00:32:13,000 --> 00:32:15,000 për diçka si tingëllimë dhe të bëjë që të shikoni për ta. 598 00:32:15,000 --> 00:32:18,000 Por për PHP, unë mund të telefononi këtë gjë file extension dua. 599 00:32:18,000 --> 00:32:22,000 Unë mund të gënjejnë botën në duke menduar se unë jam me të vërtetë mirë në Ruby, 600 00:32:22,000 --> 00:32:25,000 dhe unë mund të shkruaj hello2.rb dhe pastaj të drejtuar këtë, 601 00:32:25,000 --> 00:32:28,000 dhe voila, tani kam versionin rubin, e cila është një gënjeshtër plotë. 602 00:32:28,000 --> 00:32:30,000 Por file extensions janë të pakuptimta 603 00:32:30,000 --> 00:32:35,000 nëse skedari është i ekzekutueshëm dhe ka këtë aluzion të veçantë në krye të file. 604 00:32:35,000 --> 00:32:38,000 >> Tani, si një mënjanë, më lejoni të ju tregojnë shpejt version 3, 605 00:32:38,000 --> 00:32:40,000 e cila është një lloj mashtrim dobishme të dinë. 606 00:32:40,000 --> 00:32:45,000 Në hello3 kam bërë diçka të gabuar pak 607 00:32:45,000 --> 00:32:47,000 se unë do update online kodin burim. 608 00:32:47,000 --> 00:32:50,000 Në versionin 3 rezulton se në shumicën e kompjuterëve Linux 609 00:32:50,000 --> 00:32:53,000 ka një program të quajtur env për mjedisin, 610 00:32:53,000 --> 00:32:56,000 dhe çfarë ju mund të bëni këtu është nëse ju nuk keni ide se ku PHP 611 00:32:56,000 --> 00:33:00,000 është instaluar në hard drive lokale, sepse vërtet ajo mund të ndryshojnë bazuar në kompjuter 612 00:33:00,000 --> 00:33:03,000 se dikush është duke përdorur, env vetëm thotë drejtuar env, 613 00:33:03,000 --> 00:33:07,000 e cila është në shumicën e sistemeve, dhe të kuptoj se ku PHP është. 614 00:33:07,000 --> 00:33:11,000 Vetëm një mashtrim të përbashkët në mënyrë që ju nuk duhet të shqetësohen për të gjetur se ku programi është. 615 00:33:11,000 --> 00:33:14,000 Por në qoftë se ju bëni kujdes për të gjetur se ku është një program dhe ju nuk janë kujdesur deri më tani 616 00:33:14,000 --> 00:33:16,000 ju mund të përdorni komandën e cila. 617 00:33:16,000 --> 00:33:19,000 >> Më lejoni të zoom jashtë dhe lloji e cila php, 618 00:33:19,000 --> 00:33:23,000 dhe vini re kjo tregon mua kjo është në të vërtetë në usr / bin / php. 619 00:33:23,000 --> 00:33:25,000 Kjo është lloj i një gënjeshtër. Është gjithashtu në kazan. 620 00:33:25,000 --> 00:33:27,000 Është vetëm tregon mua hit parë. 621 00:33:27,000 --> 00:33:31,000 Nëse keni menduar ndonjëherë ku është tingëllimë, i cili tingëllimë, që është në usr / bin / tingëllimë, 622 00:33:31,000 --> 00:33:34,000 të cilat e bëjnë, usr / bin / të bërë, dhe çfarë do të thotë se është e gjitha kjo kohë 623 00:33:34,000 --> 00:33:38,000 ju mund të keni qenë të shtypur usr / bin / tingëllimë të hyjë për të kandiduar tingëllimë, 624 00:33:38,000 --> 00:33:41,000 por kjo është lloj i lodhshëm për të bërë këtë, kështu që disa dosje 625 00:33:41,000 --> 00:33:44,000 si usr / bin dhe bin supozohen të jenë defaults 626 00:33:44,000 --> 00:33:50,000 kështu që kompjuteri di të shikoni në to për ju. 627 00:33:50,000 --> 00:33:53,000 Çdo pyetje për të shkruar një super, super program të thjeshtë Hello World 628 00:33:53,000 --> 00:33:55,000 në PHP dhe pastaj drejtimin e tij? 629 00:33:55,000 --> 00:33:59,000 Sepse tani ne do të fillojnë për të futur sintaksë më bindës. 630 00:33:59,000 --> 00:34:01,000 Të gjithë të drejtë, këtu ne do të shkojmë. 631 00:34:01,000 --> 00:34:03,000 Këto programe që ne kemi parë në të vërtetë të gjitha ato para. 632 00:34:03,000 --> 00:34:07,000 >> Nëse unë të hapur, për shembull, le të bëjë beer1.php, 633 00:34:07,000 --> 00:34:09,000 ne nuk do të kalojnë nëpër disa versione të kësaj, por ajo që kam bërë 634 00:34:09,000 --> 00:34:13,000 Unë u ula dhe ia derdhi vajin ose konvertuar 635 00:34:13,000 --> 00:34:15,000 Kodi C ime për kodin PHP këtu. 636 00:34:15,000 --> 00:34:18,000 Shumica e krye të file is deri këtu. 637 00:34:18,000 --> 00:34:20,000 Ajo rezulton se ka një funksion të ri të quajtur linja leximi ne kemi nevojë. 638 00:34:20,000 --> 00:34:23,000 GetString, risjell, nga 0 Java e tutje ishte një CS50 gjë. 639 00:34:23,000 --> 00:34:27,000 PHP vjen me funksionin e saj vet user-friendly quajtur linja leximi 640 00:34:27,000 --> 00:34:30,000 që merr 1 argument që specifikon shpejtë 641 00:34:30,000 --> 00:34:33,000 se ju doni të tregojnë të përdoruesit, dhe çfarë e bën linja leximi 642 00:34:33,000 --> 00:34:35,000 është ajo kthehet çdo gjë që përdoruesit lloje in 643 00:34:35,000 --> 00:34:39,000 Në këtë rast, unë jam deklaruar një ndryshore të quajtur $ n. 644 00:34:39,000 --> 00:34:42,000 Unë jam në atë ruajtjen e vlerës së kthimit të linja leximi 645 00:34:42,000 --> 00:34:44,000 pas bërë përdoruesit me këtë varg. 646 00:34:44,000 --> 00:34:47,000 Vetëm për të mbështetur, për të vërtetë të drejtuar këtë gjë, më lejoni të shkoj përpara 647 00:34:47,000 --> 00:34:50,000 dhe të drejtuar beer1.php php. 648 00:34:50,000 --> 00:34:53,000 Sa shishe do të ketë? Le të vetëm të bëjë këtë kohë 2. 649 00:34:53,000 --> 00:34:55,000 Enter. Kjo është e gjitha. 650 00:34:55,000 --> 00:34:59,000 >> Programi është funksionalisht identike me versionin e C javë më parë nga. 651 00:34:59,000 --> 00:35:01,000 Por syntactically le të shohim se çfarë është e ndryshme. 652 00:35:01,000 --> 00:35:05,000 Pasi kam marrë një int nga njoftimi përdorues që unë jam duke bërë disa kontrolluar gabim, 653 00:35:05,000 --> 00:35:08,000 dhe nëse n është më pak se 1 kam lënë dhe unë të shtypura nga 654 00:35:08,000 --> 00:35:11,000 një mesazh të keq për përdoruesit dhe dalje me 1. 655 00:35:11,000 --> 00:35:13,000 Kjo shumë është pak më ndryshe. 656 00:35:13,000 --> 00:35:16,000  Në C Çfarë kemi bërë? Në C kthyem 1. 657 00:35:16,000 --> 00:35:20,000 Në PHP dilni me 1, që sinqerisht unë mendoj se është pak më shumë intuitiv 658 00:35:20,000 --> 00:35:22,000 sepse ju jeni fjalë për fjalë programin e daljes. 659 00:35:22,000 --> 00:35:25,000 Të gjithë të drejtë, dhe pastaj këtu poshtë këngë bezdisshëm është identike syntactically 660 00:35:25,000 --> 00:35:29,000 me përjashtim të ndryshueshme, kështu që këtu poshtë në linjë 24 e tutje 661 00:35:29,000 --> 00:35:31,000 njoftim tim për lak është pothuajse e njëjtë, 662 00:35:31,000 --> 00:35:34,000 por unë kam $ në frontin e I dhe n, 663 00:35:34,000 --> 00:35:37,000 dhe çfarë është gjithashtu mungon nga linjë 26 që ne kemi pasur në të kaluarën 664 00:35:37,000 --> 00:35:39,000 kur shpalljen i ndryshueshëm? 665 00:35:39,000 --> 00:35:41,000 Nuk ka asnjë lloji. 666 00:35:41,000 --> 00:35:43,000 Kjo është e gabuar në PHP për të thënë int. 667 00:35:43,000 --> 00:35:45,000 Ju thjesht nuk keni nevojë të bëni këtë. 668 00:35:45,000 --> 00:35:48,000 Kompjuteri, PHP përkthyes është mjaft i zgjuar për të realizuar 669 00:35:48,000 --> 00:35:51,000 se në qoftë se ju vendosni një numër në $ unë do të trajtojmë atë 670 00:35:51,000 --> 00:35:53,000 si një numër për ju. 671 00:35:53,000 --> 00:35:57,000 Dhe pastaj këtu poshtë kemi plug në $ i, $ i, $ i - 1. 672 00:35:57,000 --> 00:36:00,000 Të gjithë e që është e njëjtë, dhe pastaj këtu poshtë bëjmë një "Wow, se është i bezdisshëm" printf 673 00:36:00,000 --> 00:36:02,000 dhe pastaj dalje (0). 674 00:36:02,000 --> 00:36:05,000 >> Përsëri, takeaway këtu është se edhe pse ne jemi duke shkuar për të shpenzuar relativisht 675 00:36:05,000 --> 00:36:09,000 pak kohë në PHP, sigurisht kundrejt asaj që kemi bërë në C, 676 00:36:09,000 --> 00:36:12,000 ajo është pothuajse e njëjtë, dhe kështu çfarë ne do të bëjmë sot dhe javën e ardhshme 677 00:36:12,000 --> 00:36:14,000 dhe më tej është të përqëndrohet me të vërtetë në disa prej ideve të reja. 678 00:36:14,000 --> 00:36:17,000 Vetëm për të parë se një gjë tjetër nuk përkthehet përsipër nga C, 679 00:36:17,000 --> 00:36:20,000 kjo ishte një program super të thjeshtë që ne e bëmë në Javën e 1 680 00:36:20,000 --> 00:36:22,000 ose 2 që cubed një vlerë. 681 00:36:22,000 --> 00:36:25,000 Por ajo që ishte interesante në kohë në lidhje me këtë program është se ajo 682 00:36:25,000 --> 00:36:28,000 paraqiti idenë e një funksioni me porosi me shkrim që ne vetë shkruante. 683 00:36:28,000 --> 00:36:31,000 Sintaksa në PHP është pothuajse e njëjtë. 684 00:36:31,000 --> 00:36:33,000 Ja programi im deri krye. 685 00:36:33,000 --> 00:36:35,000 Njoftim përsëri mungon është çdo nocioni i kryesor. 686 00:36:35,000 --> 00:36:39,000 Unë të filloni të shkruani kodin, dhe kjo është ajo që do të merrni ekzekutuar nga përkthyesi. 687 00:36:39,000 --> 00:36:42,000 Unë të shtypura nga x 2 është tani, me sa duket. 688 00:36:42,000 --> 00:36:44,000 Pastaj unë pretendojnë cubing ... 689 00:36:44,000 --> 00:36:47,000 Pastaj unë e quaj funksion kubike dhe të kalojë në $ x 690 00:36:47,000 --> 00:36:50,000 dhe të caktojë vlerën e kthimit në $ x. 691 00:36:50,000 --> 00:36:53,000 Atëherë unë pretendojnë se kjo është Cubed, dhe atëherë unë them këtë, që shpresojmë se 692 00:36:53,000 --> 00:36:55,000 do të thonë tani është x 8. 693 00:36:55,000 --> 00:36:59,000 Sintaksa për funksionin në PHP është ndonjëherë në mënyrë pak ndryshe. 694 00:36:59,000 --> 00:37:01,000 Përsëri mungon është lloji kthimit. 695 00:37:01,000 --> 00:37:05,000 Përsëri mungon është lloji kthimit dhe gjithashtu mungon është se çfarë lloji tjetër? 696 00:37:05,000 --> 00:37:07,000 [Përgjigja e padëgjueshme Student] 697 00:37:07,000 --> 00:37:10,000 E pra, në rregull, kjo është e mirë. Le të kthehen në se në një sekondë. 698 00:37:10,000 --> 00:37:12,000 >> Ne nuk kemi, për shembull, int këtu. 699 00:37:12,000 --> 00:37:15,000 Ne nuk e bëjnë, për shembull, e kanë int këtu, sepse, përsëri, në PHP 700 00:37:15,000 --> 00:37:18,000 ju thjesht nuk keni nevojë për të dhe nuk duhet ta bëjë këtë, 701 00:37:18,000 --> 00:37:20,000 por nuk është kjo fjalen e re e quajtur funksion. 702 00:37:20,000 --> 00:37:23,000 Në PHP është pothuajse pak më të qarta, sepse kur ju doni një funksion 703 00:37:23,000 --> 00:37:26,000 ju thoni fjalë për fjalë funksion, ju t'i jepte një emër dhe më pas një listë të ndara me presje 704 00:37:26,000 --> 00:37:28,000 në qoftë se ndonjë nga argumentet e saj. 705 00:37:28,000 --> 00:37:32,000 Nuk ka nevojë për të thënë pavlefshëm ose diçka të tillë, dhe pastaj kthimi është i njëjtë, 706 00:37:32,000 --> 00:37:35,000 $ A * $ a * $ a. 707 00:37:35,000 --> 00:37:38,000 Çfarë është gjithashtu i mungon? Sammy vuri këtë këtu. 708 00:37:38,000 --> 00:37:43,000 Në krye të file krejtësisht mungon në PHP gjithashtu është një prototip. 709 00:37:43,000 --> 00:37:45,000 Kjo shumë është me dashje. 710 00:37:45,000 --> 00:37:48,000 Gjuhë dhe përkthyesit si PHP janë të zgjuar se C ndonjëherë ishte 711 00:37:48,000 --> 00:37:50,000 në hartuesit si tingëllimë. 712 00:37:50,000 --> 00:37:53,000 >> Kujtojnë se tingëllimë, në qoftë se ju nuk e tregoni atë se kubike ekziston, 713 00:37:53,000 --> 00:37:56,000 në qoftë se ju nuk e tregoni atë që printf ekziston si një prototip me 714 00:37:56,000 --> 00:38:00,000 ose me nje # përfshijnë, gjithashtu, se do të bërtas me ju dhe as përpilojnë kodin tuaj. 715 00:38:00,000 --> 00:38:03,000 PHP dhe gjuhë më moderne janë shumë të zgjuar, kur është fjala për këtë. 716 00:38:03,000 --> 00:38:07,000 Ata do të marrin mbi vete për të lexuar nëpër të gjitha kodin tuaj 717 00:38:07,000 --> 00:38:11,000 dhe pastaj bërtas në ju vetëm nëse ajo gjen askund kubike. 718 00:38:11,000 --> 00:38:15,000 Kjo nuk ka rëndësi nëse kubike është në fund apo krye apo edhe në disa dosje të veçantë. 719 00:38:15,000 --> 00:38:18,000 Gjuhët PHP dhe të ngjashme janë tani mjaft i zgjuar për të shikojmë përpara 720 00:38:18,000 --> 00:38:26,000 në çdo gjë para gjykon si ju ka bërë një gabim. 721 00:38:26,000 --> 00:38:28,000 Ku na çon kjo? 722 00:38:28,000 --> 00:38:32,000 >> Le të bëjmë një shembull të fundit këtu në kushte, 723 00:38:32,000 --> 00:38:35,000 dhe në qoftë se unë i hapur deri njoftim conditions2.php shumë 724 00:38:35,000 --> 00:38:37,000 Sintaksa këtu është pothuajse e njëjtë. 725 00:38:37,000 --> 00:38:40,000 Unë jam duke përdorur linja leximi vend të getString, por që linja është e njëjtë si më parë, 726 00:38:40,000 --> 00:38:42,000 "Unë do të doja një numër të plotë ju lutem." 727 00:38:42,000 --> 00:38:45,000 Unë pastaj të ketë një kusht, nëse, një tjetër në qoftë se, dhe pastaj një tjetër, 728 00:38:45,000 --> 00:38:48,000 por funksionalisht ky program është edhe identik me atë që kemi bërë javë më parë, 729 00:38:48,000 --> 00:38:51,000 kështu që në qoftë se unë të drejtuar këtë gjë, php e conditions2, 730 00:38:51,000 --> 00:38:54,000 dhe unë t'i jepte një numër si 23 - 731 00:38:54,000 --> 00:38:57,000 I kap një numër pozitiv. Nëse unë jap atë -1 unë kap një numër negativ. 732 00:38:57,000 --> 00:39:00,000 Nëse unë jap se unë me të vërtetë kap 0 0. 733 00:39:00,000 --> 00:39:02,000 Pra, kush kujdeset për të gjithë këtë? 734 00:39:02,000 --> 00:39:06,000 Pra, një nga lloj fun e ushtrime këtu 735 00:39:06,000 --> 00:39:10,000 për mua të paktën ishte për të shkuar mbrapa dhe shikoni se sa shpejt unë mund të zbatojë pset 5, 736 00:39:10,000 --> 00:39:12,000 pset misspellings. 737 00:39:12,000 --> 00:39:15,000 Kujtojnë se nuk ishte ky file i quajtur Shkruaj një fjalë, 738 00:39:15,000 --> 00:39:17,000 dhe atje ishte një file i quajtur dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Ajo që unë kam qenë unë lloj i kaluar pak minuta dhe unë konvertuar kodin C 740 00:39:20,000 --> 00:39:23,000 për kodin PHP, dhe ne nuk do të shpenzojnë shumë kohë në speller 741 00:39:23,000 --> 00:39:26,000 sepse ashtu si në pset 5 ju nuk duhet të vërtetë për të 742 00:39:26,000 --> 00:39:29,000 kalojnë shumë kohë në speller vetë, sepse vëmendja juaj ishte në fjalor. 743 00:39:29,000 --> 00:39:32,000 >> Mjafton të them se në qoftë se ju lexoni me anë të speller, 744 00:39:32,000 --> 00:39:35,000 Vlerësoni këtë fotografi këtu, kjo është shumë e shumë të barabartë me kodin C 745 00:39:35,000 --> 00:39:37,000 kemi dhënë ju për pset 5. 746 00:39:37,000 --> 00:39:39,000 Unë kam shtuar vetëm disa $ në vende. 747 00:39:39,000 --> 00:39:43,000 Unë kam ndryshuar emrat e disa funksion, nëse ata nuk ekzistojnë në PHP. 748 00:39:43,000 --> 00:39:45,000 Ka një gjë tjetër këtu, preg_match, 749 00:39:45,000 --> 00:39:48,000 e cila është mënyra më pak njohës të bërë diçka, por ne do të kthehen me atë përfundimisht. 750 00:39:48,000 --> 00:39:51,000 Por në të shkurtër, speller është pothuajse identike, dhe në qoftë se ju shikoni në fund shumë 751 00:39:51,000 --> 00:39:54,000 ajo përfundimisht pështyn jashtë është kjo këtu, 752 00:39:54,000 --> 00:39:57,000 fjalë misspelled, fjalë me fjalë, fjalor në tekst. 753 00:39:57,000 --> 00:40:00,000 Të gjithë të drejtë, kështu që çfarë është interesante tani është në vijim. 754 00:40:00,000 --> 00:40:05,000 Në krye të dosjen time unë jam duke kërkuar dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Ashtu si C # ka përfshirë PHP ka një funksion të veçantë të quajtur kërkojnë 756 00:40:09,000 --> 00:40:14,000 që shumë e shumë të bën të njëjtën gjë, të kërkojë një skedar të quajtur dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Si mund të shkoj në lidhje me zbatimin e pset 5? 758 00:40:18,000 --> 00:40:21,000 Më lejoni të shkoj përpara dhe të hapur një skedë këtu. 759 00:40:21,000 --> 00:40:24,000 Më lejoni të marrë një referencë pak këtu. 760 00:40:24,000 --> 00:40:29,000 Dhe më lejoni të krijoni një skedar të ri dhe të fillojnë duke e quajtur këtë dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Më lejoni të vënë atë në një tjetër dosje kështu që ne mund të bëjmë këtë jetojmë. 762 00:40:31,000 --> 00:40:33,000 Dhe tani unë do të zoom in 763 00:40:33,000 --> 00:40:37,000 Unë jam duke shkuar për të filluar dosjen time PHP me kllapa hapur php mbyllur kllapa. 764 00:40:37,000 --> 00:40:40,000 Dhe pastaj këtu ka pasur disa funksione që unë e nevojshme për të zbatuar për pset 5, 765 00:40:40,000 --> 00:40:42,000 kështu që më lejoni të filloj zbatimin e disa prej atyre, 766 00:40:42,000 --> 00:40:47,000 kështu që kontrolloni funksion, i cili kishte për të marrë një fjalë në si një argument. 767 00:40:47,000 --> 00:40:49,000 Ne do të bëjmë që dhe të vijnë përsëri në atë në një moment. 768 00:40:49,000 --> 00:40:53,000 >> Nuk ishte ngarkesës funksion, i cili mori në atë si argument? 769 00:40:53,000 --> 00:40:56,000 Fjalor, kështu file që unë në fakt donte të ngarkesës. 770 00:40:56,000 --> 00:41:00,000 Nuk ishte madhësia funksion, i cili nuk ka marrë ndonjë argumente 771 00:41:00,000 --> 00:41:04,000 dhe nuk kishte funksion-çfarë ishte tjetër? 772 00:41:04,000 --> 00:41:06,000 Shkarkoj, i cili nuk ka marrë ndonjë argumente ose. 773 00:41:06,000 --> 00:41:10,000 Këto janë 4 funksionet që unë do të duhet për të zbatuar tani në PHP, 774 00:41:10,000 --> 00:41:13,000 dhe atë që unë jam duke shkuar për të bëni është të shkoni përpara dhe të bëjë këtë. 775 00:41:13,000 --> 00:41:16,000 Një shumë prej jush përdorur një tabelë hash në pset 5, 776 00:41:16,000 --> 00:41:21,000 kështu që le të shkoj përpara dhe të krijojë një tabelë hash në PHP. 777 00:41:21,000 --> 00:41:23,000 Bërë. 778 00:41:23,000 --> 00:41:25,000 Kjo më jep një tabelë hash. E pra, pse? 779 00:41:25,000 --> 00:41:30,000 Një, quhet ndryshueshme $ tavolinë, vetëm për të sjell në mendje deri idenë e një tabelë hash. 780 00:41:30,000 --> 00:41:34,000 Kllapa katrore, megjithatë, kujtoj, përfaqëson çfarë? 781 00:41:34,000 --> 00:41:37,000 Një grup, por në vargjeve PHP nuk duhet të jenë të indeksuar numerikisht. 782 00:41:37,000 --> 00:41:41,000 Ata gjithashtu mund të jenë të vargjeve associative, 783 00:41:41,000 --> 00:41:44,000 që do të thotë që ju mund të keni çelësat arbitrare dhe vlerat. 784 00:41:44,000 --> 00:41:49,000 >> Pjesa më e madhe si në pset 5, atyre prej jush që e bëri Implementimi hash tryezë 785 00:41:49,000 --> 00:41:53,000 ndoshta keni futur fjalën dhe pastaj futur atë në një zinxhir të listave të lidhura, 786 00:41:53,000 --> 00:41:56,000 ose ju ruajtur vlerën e vërtetë diku apo diçka për këtë qëllim. 787 00:41:56,000 --> 00:41:59,000 Ju disi mend faktin se fjala ishte aty. 788 00:41:59,000 --> 00:42:01,000 Tani për tani, kjo do të jetë tryezën time hash, 789 00:42:01,000 --> 00:42:06,000 dhe kështu që tani për të shkuar në lidhje me zbatimin e funksionit të kontrollit 790 00:42:06,000 --> 00:42:09,000 Unë vetëm duhet të shikoni brenda asaj tabelës hash 791 00:42:09,000 --> 00:42:11,000 dhe të shohim nëse një fjalë është atje. 792 00:42:11,000 --> 00:42:15,000 Ajo që unë jam duke shkuar për të bërë është që unë jam duke shkuar për të thonë se nëse- 793 00:42:15,000 --> 00:42:20,000 le të themi isset, i cili është një funksion PHP që fjalë për fjalë do të thotë vetëm është vendosur kyç, 794 00:42:20,000 --> 00:42:24,000 kështu isset ($ table [$ fjalë], 795 00:42:24,000 --> 00:42:29,000 dhe nëse po kthehen vërtetë. 796 00:42:29,000 --> 00:42:32,000 Kjo ishte. Kjo është pset 5 në PHP. 797 00:42:32,000 --> 00:42:34,000 E pra, në drejtësi, në rregull. 798 00:42:34,000 --> 00:42:37,000 Kthimit të rreme tjetër, kështu që nuk është atje. 799 00:42:37,000 --> 00:42:39,000 Çfarë është me të vërtetë ndodh këtu? 800 00:42:39,000 --> 00:42:42,000 E pra, nëse tavolinë apo tabelë hash-këtu më në përgjithësi, 801 00:42:42,000 --> 00:42:46,000 është një grup shoqerues që do të thotë që ju mund të indeksit në të 802 00:42:46,000 --> 00:42:50,000 me një fjalë si "fjalë", dhe ju duhet të merrni mbrapa disa vlera. 803 00:42:50,000 --> 00:42:52,000 >> Ne jemi lloj të marrë një hap përpara nga vetja. 804 00:42:52,000 --> 00:42:56,000 Ajo do të jetë mirë në qoftë se llojin e ne fakt ngarkuar skedarin e parë, 805 00:42:56,000 --> 00:42:58,000 kështu ngarkesës nuk është mjaft e thjeshtë, por më lejoni të shkoj përpara dhe nxit 806 00:42:58,000 --> 00:43:00,000  një zbatim të vërtetë të shpejtë të ngarkesës. 807 00:43:00,000 --> 00:43:07,000 Më lejoni të shkojnë përpara dhe të thonë fjalët e merr fjalorin file. 808 00:43:07,000 --> 00:43:10,000 Funksioni fotografi në PHP hap një skedar 809 00:43:10,000 --> 00:43:12,000 dhe ju kthehet në një koleksion të të gjitha fjalë në këtë dosje, 810 00:43:12,000 --> 00:43:14,000 vetëm duart e tyre për ju. 811 00:43:14,000 --> 00:43:16,000 Kjo ishte një dhimbje e madhe shumë, nuk është ajo? 812 00:43:16,000 --> 00:43:21,000 Tani foreach, kjo është ndërtimin tonë të re, foreach ($ $ fjalë si fjalë). 813 00:43:21,000 --> 00:43:25,000 Kjo lak do të fillojë iterating mbi fjalët array 814 00:43:25,000 --> 00:43:30,000 dhe të caktojë për variablin $ fjalës çdo fjalë në dosjen 815 00:43:30,000 --> 00:43:32,000 nga e para të dytë të tretë të katërt gjithë rrugës 816 00:43:32,000 --> 00:43:35,000 kështu që unë nuk duhet të bëjë bezdisshëm [I] simbol dhe si. 817 00:43:35,000 --> 00:43:38,000 Dhe atë që unë jam thjesht do të bëni për secilin nga këto fjalë 818 00:43:38,000 --> 00:43:43,000 është ruajtur atë në tryezën time, duke indeksimit në tryezë 819 00:43:43,000 --> 00:43:47,000 dhe pastaj duke bërë vërtetë, sepse për të kujtuar 820 00:43:47,000 --> 00:43:50,000 se një fjalë është në fjalorin tim të gjitha unë me të vërtetë duhet të bëni 821 00:43:50,000 --> 00:43:55,000 është lloj i shfletoj pak dhe thonë se kjo fjalë në tryezën time hash është atje, e vërtetë. 822 00:43:55,000 --> 00:43:58,000 Dhe në qoftë se kjo nuk është atje, unë nuk kam për të vënë në mënyrë eksplicite të rreme, 823 00:43:58,000 --> 00:44:01,000 përndryshe unë do të keni për të vënë të rreme për të gjitha fjalët e mundshme në univers. 824 00:44:01,000 --> 00:44:05,000 >> Kjo mjafton për mua vetëm për të vendosur një vlerë indeksi 825 00:44:05,000 --> 00:44:09,000 të vërtetë nëse një fjalë në fakt është në tryezën time hash. 826 00:44:09,000 --> 00:44:12,000 Tani, unë jam duke prerë një çift të qoshet këtu se unë do të tundë duart e mia në për tani, 827 00:44:12,000 --> 00:44:15,000 por tani funksioni ngarkesës është bërë. 828 00:44:15,000 --> 00:44:18,000 I ngarkesës të gjitha fjalët nga skedari në një rrjet. 829 00:44:18,000 --> 00:44:21,000 Unë iterate mbi atë grup, dhe për çdo fjalë në rrjet 830 00:44:21,000 --> 00:44:24,000 Unë plug it në tryezën time hash me 1 linjë të kodit. 831 00:44:24,000 --> 00:44:26,000 Kjo është e bukur. Ti e di se si ne mund të zbatojë masën tani? 832 00:44:26,000 --> 00:44:28,000 E pra, madhësia është gjithmonë shumë e lehtë, në drejtësi. 833 00:44:28,000 --> 00:44:32,000 Këtu ne vetëm mund të kthehen numërimin e tabelës. 834 00:44:32,000 --> 00:44:34,000 Kjo është goxha e lehtë shumë, të numëruar numrin e gjërave në tabelë. 835 00:44:34,000 --> 00:44:36,000 Kjo është lloj i vërtetë nuk më efikase. 836 00:44:36,000 --> 00:44:39,000 Unë ndoshta duhet të ketë një madhësi të ndryshueshme quajtur kështu që ne mund të bëjmë atë 837 00:44:39,000 --> 00:44:41,000 në kohë të vazhdueshme, por kjo është goxha e lehtë. 838 00:44:41,000 --> 00:44:45,000 Oh, dhe pastaj zbraz, në qoftë se ne të vërtetë duan të jenë të anal këtu 839 00:44:45,000 --> 00:44:47,000 mund të themi se është se si ju të shkarkoj diçka. 840 00:44:47,000 --> 00:44:49,000 Ju vetëm të vendosur ndryshoren barabartë me një rrjet të zbrazët, 841 00:44:49,000 --> 00:44:51,000 dhe ajo merr shpëtoj nga gjithçka që ishte atje. 842 00:44:51,000 --> 00:44:53,000 Nuk ka nevojë për të thirrur të lirë. 843 00:44:53,000 --> 00:44:56,000 >> Përsëri, unë kam shkurtuar disa qoshe, dhe unë kërkoj falje për të vendosur caktimin e problemit 5 844 00:44:56,000 --> 00:45:00,000 ndoshta në C, por në qoftë se ne tani të shkojnë përpara dhe për të drejtuar këtë, 845 00:45:00,000 --> 00:45:02,000 Unë jam duke shkuar për të drejtuar versionin e vërtetë që kam shkruar më parë 846 00:45:02,000 --> 00:45:05,000 vetëm kështu që unë nuk kam bërë ndonjë gabime syntactical whatsoever. 847 00:45:05,000 --> 00:45:08,000 Më lejoni të shkojnë përpara dhe të drejtuar speller. Përdorimi është i njëjtë. 848 00:45:08,000 --> 00:45:12,000 Këtu është një fotografi e cila sapo fjalor përmban foo fjalë. 849 00:45:12,000 --> 00:45:15,000 Këtu është një file teksti që përmban vetëm foo bar. 850 00:45:15,000 --> 00:45:19,000 Le të spell check këtë, speller kështu, duke përdorur këtë skedë në këtë fjalor skedar teksti. 851 00:45:19,000 --> 00:45:21,000 Ka një fjalë misspelled, bar, dhe voila. 852 00:45:21,000 --> 00:45:23,000 Bërë me pset 5. 853 00:45:23,000 --> 00:45:30,000 Le të marrin një pushim 5-minutëshe këtu, dhe ne do të kthehen dhe më shumë në PHP. 854 00:45:30,000 --> 00:45:32,000 Të gjithë të drejtë, ne jemi të kthyer. 855 00:45:32,000 --> 00:45:34,000 Le të mos-urrejnë për një kohë. 856 00:45:34,000 --> 00:45:37,000 Le të shohim nëse tani në fakt kjo nuk ishte një pozitiv 857 00:45:37,000 --> 00:45:39,000 në fakt zbatimin e këtë gjë në PHP. 858 00:45:39,000 --> 00:45:43,000 Dhënë, ai mori 45 sekonda për të zbatuar. 859 00:45:43,000 --> 00:45:45,000 >> Por le të shkojnë përpara dhe të drejtuar gjëra tani. 860 00:45:45,000 --> 00:45:49,000 Më lejoni të shkojnë përpara dhe për të drejtuar një version C 861 00:45:49,000 --> 00:45:52,000 i speller, dhe ne do të drejtuar atë në një prej dosjeve mëdha, 862 00:45:52,000 --> 00:45:54,000 cila është King James Bibla. 863 00:45:54,000 --> 00:45:57,000 Dhe që këtu është-le të shkojnë në dosje C tonë, 864 00:45:57,000 --> 00:46:01,000 speller në King James 5. 865 00:46:01,000 --> 00:46:03,000 Një shumë e fjalë misspelled. 866 00:46:03,000 --> 00:46:06,000 Mirë, kështu që është prodhimi ju ndoshta mori edhe nëse kohët janë pak më ndryshe, 867 00:46:06,000 --> 00:46:09,000 në qoftë se ju mori gjithçka punon si duhet, dhe kështu që është koha në total për të spell check 868 00:46:09,000 --> 00:46:13,000 James Mbreti Bibla ishte 0,38 sekonda, në mënyrë mjaft të mirë duke përdorur se zbatimi. 869 00:46:13,000 --> 00:46:16,000 Tani më lejoni të shkoj në versionin PHP, të cilat ne vetëm shkruante. 870 00:46:16,000 --> 00:46:18,000 Më lejoni të drejtuar speller në King James. 871 00:46:18,000 --> 00:46:21,000 Uh, injorojnë atë gabim. Unë jam në directory gabuar. 872 00:46:21,000 --> 00:46:24,000 Speller në King James 5. 873 00:46:46,000 --> 00:46:48,000 Bërë gati. 874 00:46:48,000 --> 00:46:51,000 >> Mirë, vëzhguesi i zgjuar do të kuptojë se ishte më shumë se 3 sekonda atje. 875 00:46:51,000 --> 00:46:54,000 Kjo është koha e vërtetë running. 876 00:46:54,000 --> 00:46:58,000 Ajo rezulton se kjo merr kohë për të nxjerr shumë të tekstit jashtë 877 00:46:58,000 --> 00:47:00,000 për shkak të buffering çështje, por histori të gjatë të shkurtër, 878 00:47:00,000 --> 00:47:04,000 që ishte 3.15 sekonda të kohës, koha makinës CPU, 879 00:47:04,000 --> 00:47:07,000 kundrejt asaj ishte një moment më parë? 880 00:47:07,000 --> 00:47:09,000 Ashtu si 0,3. 881 00:47:09,000 --> 00:47:11,000 Unë do të thotë, është një urdhër i madhësisë ngadalshëm, kështu që ku është 882 00:47:11,000 --> 00:47:14,000 Ngadalësimi qesharake që vijnë nga? 883 00:47:14,000 --> 00:47:17,000 E pra, siç ka qenë rasti me vendimin më ndonjë dizajn që kemi bërë 884 00:47:17,000 --> 00:47:21,000 në klasë gjatë 9 javëve të fundit ka pothuajse gjithmonë këtë tradeoff. 885 00:47:21,000 --> 00:47:24,000 Ndonjëherë vetëm në mes të hapësirës, ​​nganjëherë në mes të hapësirës dhe kohës, 886 00:47:24,000 --> 00:47:27,000 , hapësirë ​​kohë dhe përpjekje të zhvillimit, dhe në të vërtetë këtu, edhe pse 887 00:47:27,000 --> 00:47:31,000 kemi ruajtur një sasi të madhe të kohës, ndoshta potencialisht 10-20-30 orë 888 00:47:31,000 --> 00:47:34,000 e kohës për zbatimin e zhvillimit spell checker 889 00:47:34,000 --> 00:47:36,000 nga kurbanit atë në vetëm 45 sekonda me këtë gjuhë 890 00:47:36,000 --> 00:47:40,000 çmimi që ne të paguajë është se ajo është një urdhër i madhësisë ngadalshëm si rezultat, 891 00:47:40,000 --> 00:47:43,000 dhe kjo në përgjithësi është rasti me gjuhën më të madhe çdo interpretuar, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Pearl ose të tjerët ku 893 00:47:46,000 --> 00:47:49,000 nëse ju jeni duke shkuar për të drejtuar atë nëpërmjet një përkthyesi dhe kanë lexuar kodin tuaj 894 00:47:49,000 --> 00:47:52,000 rresht pas rreshti, nga lart poshtë, e majta në të djathtë, 895 00:47:52,000 --> 00:47:55,000 që ndërmjetës do të marrë disa kohë për të vetin, 896 00:47:55,000 --> 00:47:59,000 dhe atë që ju u ndjenjë këtu në 3 sekonda, në krahasim me 0,3 sekonda 897 00:47:59,000 --> 00:48:02,000 është fakti se nuk është ky ndërmjetës i cili ka fjalë për fjalë interpretuar kodin tonë 898 00:48:02,000 --> 00:48:05,000 rresht pas rreshti, dhe Perëndia ndalon nëse ju jeni në brendësi të një lak 899 00:48:05,000 --> 00:48:08,000 me një fotografi të madhe që përmban qindra e mijëra fjalë. 900 00:48:08,000 --> 00:48:11,000 >> Kjo lart do të shtoni deri dhe të shtoni deri dhe të shtoni deri dhe të shtoni deri. 901 00:48:11,000 --> 00:48:16,000 Për një mjet si kjo nuk është ndoshta gjuha e mira për të përdorur për zbatimin e 902 00:48:16,000 --> 00:48:20,000 a spell checker nëse menjëhershme është në interes të përdoruesit tuaj dhe për ju. 903 00:48:20,000 --> 00:48:23,000 Por luksoze ne kemi në një moment është në qoftë se ju 904 00:48:23,000 --> 00:48:27,000 përdorin një gjuhë si PHP ose një shumë të gjuhëve interpretuar 905 00:48:27,000 --> 00:48:30,000 në kontekstin e Web, për këtë çështje, ju keni dobi 906 00:48:30,000 --> 00:48:34,000 se në internet është shumë më e ngadalshme se shumicën e kompjuterëve. 907 00:48:34,000 --> 00:48:38,000 Ju keni një CPU GHz në kompjuterin tuaj, 2 GHz, ndoshta edhe më shumë këto ditë. 908 00:48:38,000 --> 00:48:41,000 Por realiteti është në internet ka një sasi të lartë të fshehtë 909 00:48:41,000 --> 00:48:45,000 ku për një shfletues të bisedoni me një server, edhe pse pamë javën e kaluar 910 00:48:45,000 --> 00:48:47,000 se kjo është goxha e shpejtë, një gjysmë Millisekonda apo më shumë, 911 00:48:47,000 --> 00:48:51,000 shton se shumë lart, dhe nëse ju jeni të shkarkimit gjëra të tilla si një imazh 912 00:48:51,000 --> 00:48:54,000 apo një foto Facebook ose marrjen e mesazheve të menjëhershme mbi kërcëllimë Facebook, 913 00:48:54,000 --> 00:48:57,000 Gchat apo të ngjashme, të gjitha këto vajtje-ardhje herë 914 00:48:57,000 --> 00:49:00,000 midis shfletuesit dhe server fillimit të shtoni deri, 915 00:49:00,000 --> 00:49:03,000 gjë që e bën zgjedhjen tuaj të veçantë të gjuhës në shumë raste 916 00:49:03,000 --> 00:49:07,000 jo të gjithë që e rëndësishme, kështu që ju jeni mirë duke përdorur një gjuhë pak më e ngadalshme 917 00:49:07,000 --> 00:49:10,000 si PHP ose Python Ruby ose 918 00:49:10,000 --> 00:49:13,000 por për të cilat nuk janë upsides madh për ju dhe kolegët tuaj 919 00:49:13,000 --> 00:49:17,000 dhe miqtë tuaj, sepse ju mund të zbatojë gjërat kështu, në mënyrë shumë të shpejtë. 920 00:49:17,000 --> 00:49:20,000 Dhe për më tepër, ju keni rrezik shumë më pak të meta të sigurisë të caktuara. 921 00:49:20,000 --> 00:49:22,000 Nuk ka pointers në PHP. 922 00:49:22,000 --> 00:49:25,000 Nuk ka gabime seg që ju lehtë mund të nxisin 923 00:49:25,000 --> 00:49:27,000 në të njëjtën mënyrë që ju mund të në C. 924 00:49:27,000 --> 00:49:29,000 Me C se ju jeni super në afërsi të hardware. 925 00:49:29,000 --> 00:49:33,000 Me gjuhë PHP dhe të ngjashme ju jeni lloj i nivelit të lartë, në mënyrë që të flasin, 926 00:49:33,000 --> 00:49:37,000 me një shumë prej mbrojtjes midis jush dhe çfarë është në të vërtetë ndodh 927 00:49:37,000 --> 00:49:39,000 brenda makinës, dhe kjo është vetëm një tradeoff. 928 00:49:39,000 --> 00:49:42,000 >> Ne kemi marrë deri në pikën e të pasurit më moderne, këto gjuhë të nivelit të lartë 929 00:49:42,000 --> 00:49:47,000 si PHP për shkak të mësimeve të nxjerra në gjuhët PHP si në C. 930 00:49:47,000 --> 00:49:50,000 Por në qoftë se ju nuk e kuptoni atë që është në vazhdim e sipër nën kapuç gjithë këtë kohë 931 00:49:50,000 --> 00:49:53,000 ju me siguri nuk mund të bëjnë vendime të drejta projektimit, 932 00:49:53,000 --> 00:49:56,000 dhe sigurisht kur vjen puna për të punuar në një vend si Facebook apo Google 933 00:49:56,000 --> 00:49:59,000 apo ndonjë nga këto vende që janë gjithnjë e duke luajtur me të dhëna të mëdha përcakton 934 00:49:59,000 --> 00:50:01,000 edhe në qoftë se ju shkoni mbrapa dhe mos premed dhe janë duke punuar me disa MD 935 00:50:01,000 --> 00:50:04,000 në disa të dhënave të mëdha vendosur që përfshin pacientët dhe mjekët 936 00:50:04,000 --> 00:50:08,000 dhe si duke përdorur mjetet e drejtë është jashtëzakonisht bindës 937 00:50:08,000 --> 00:50:11,000 sepse përndryshe analiza tuaj të disa të dhënave mund të marrë sërë sekonda, 938 00:50:11,000 --> 00:50:14,000 ose ajo mund të marrë fjalë për fjalë orë. 939 00:50:14,000 --> 00:50:17,000 Ky është vetëm një shembull, për të mos irrituar me përpjekje sa më shumë 940 00:50:17,000 --> 00:50:21,000 ajo ishte në C, por për t'ju ndihmuar të vlerësojmë se kur ju bëni diçka të zbatojë në C 941 00:50:21,000 --> 00:50:24,000 ju me të vërtetë kuptojnë, ose në teori, të vërtetë kuptojnë 942 00:50:24,000 --> 00:50:28,000 se si çdo gjë është ose duhet të punojnë, dhe ju keni kontroll pothuajse të plotë 943 00:50:28,000 --> 00:50:31,000 mbi atë që po ndodh nën kapuç, dhe me këto gjuhë të nivelit të lartë 944 00:50:31,000 --> 00:50:34,000 ju duhet të heqë dorë nga kontrolli më shumë për njerëzit që shpiku ato 945 00:50:34,000 --> 00:50:37,000 dhe i nënshtrohen më shumë për vendimet e tyre të projektimit se tuajat. 946 00:50:37,000 --> 00:50:41,000 Por në qoftë se ne kemi marrë për të dhënë se performanca 947 00:50:41,000 --> 00:50:44,000 nuk është mjaft aq i rëndësishëm në Web për shkak të këtyre çështjeve të tjera, 948 00:50:44,000 --> 00:50:47,000 vetëm me shpejtësi të rrjetit janë pak të ngadalshëm se sa CPU shpejtësi gjithsesi, 949 00:50:47,000 --> 00:50:50,000 kështu që ne mund të lloj të përballojë për të përdorur një gjuhë pak më të ngadalshme 950 00:50:50,000 --> 00:50:55,000 nëse upsides janë gjëra që ne mund të zhvillojnë 10 herë më të shpejtë, ose edhe më shumë. 951 00:50:55,000 --> 00:50:57,000 >> Le të shohim se si ne mund të filloni duke përdorur këtë. 952 00:50:57,000 --> 00:51:00,000 Më lejoni të shkoj në një dosje 953 00:51:00,000 --> 00:51:03,000 ndër shembujt e sotme quhet frosh.ims, 954 00:51:03,000 --> 00:51:06,000 dhe kjo ishte në fakt i motivuar personalisht nga fakti se gjëja e parë 955 00:51:06,000 --> 00:51:10,000 Kam shkruar për Web vjet më parë pas marrjes CS50 dhe CS51 956 00:51:10,000 --> 00:51:14,000 ishte një website për programin IMs Frosh, sportive fillestar i brendshëm, 957 00:51:14,000 --> 00:51:16,000 e cila në atë kohë kjo ishte vjet mjaft parë se në kohën 958 00:51:16,000 --> 00:51:19,000 nuk kishte faqen e internetit për programin, edhe pse ka pasur një Web, 959 00:51:19,000 --> 00:51:22,000 dhe në vend ka pasur një Proctor në Wigglesworth ku në qoftë se ju të kërkuar 960 00:51:22,000 --> 00:51:26,000 të regjistroheni për volejboll ose futboll ose çfarëdo që ju do të plotësoni një copë letër. 961 00:51:26,000 --> 00:51:28,000 Ju pastaj do të ecin nëpër oborr. 962 00:51:28,000 --> 00:51:31,000 Ju pastaj do të trokasin në derën e tyre dhe rrëshqitje në derën e tyre, ose dora në Proctor 963 00:51:31,000 --> 00:51:34,000 një copë letër me emrin tuaj në të, ose nëse nuk ju duan të jenë një kapiten i ekipit, 964 00:51:34,000 --> 00:51:37,000 atë sport që ju të kërkuar për të bërë, dhe çfarë ju keni qenë fjetore in 965 00:51:37,000 --> 00:51:39,000 Ajo ishte lloj i një mënyrë të shkollës së vjetër të bërë gjëra, dhe kjo ishte një kryeministër 966 00:51:39,000 --> 00:51:41,000 mundësi për të Automate një shumë të këtij procesi. 967 00:51:41,000 --> 00:51:43,000 Ju thjesht shkoni në faqen e internetit. Ju shkruani diçka in 968 00:51:43,000 --> 00:51:46,000 Ju merrni një konfirmim email, dhe bum, ju jeni bërë. 969 00:51:46,000 --> 00:51:49,000 >> Kjo ishte gjëja e parë që kam bërë, megjithëse në një gjuhë quajtur Pearl, 970 00:51:49,000 --> 00:51:52,000 por është relativisht e lehtë për të bërë në PHP, dhe kjo është lloj i përfaqësuesit 971 00:51:52,000 --> 00:51:55,000 nga problemet që ju mund të filloni zgjidhjen, kur ju mund të shprehin veten 972 00:51:55,000 --> 00:51:58,000 programuar dhe nuk duhet të mbështetet në gjëra të tilla si faqet e Google 973 00:51:58,000 --> 00:52:01,000 ose Excel ose mjete që janë dorëzuar për ju. 974 00:52:01,000 --> 00:52:03,000 Ju djema tani kanë mundësinë për të bërë gjëra të tilla si kjo. 975 00:52:03,000 --> 00:52:06,000 Ky është një version super e shëmtuar e një formë, 976 00:52:06,000 --> 00:52:09,000 por le të vetëm e përdorin atë për fillimin e bisedës ku kjo është e 977 00:52:09,000 --> 00:52:12,000 afërsisht çfarë forme dukej si vjet më parë për ne 978 00:52:12,000 --> 00:52:14,000 për të mundësuar njerëzit në Web për të nënshkruar për Frosh IMS. 979 00:52:14,000 --> 00:52:18,000 Ne kemi kërkuar për një emër, një checkbox për të nëse janë apo jo ata dëshironin të jenë kapiten, 980 00:52:18,000 --> 00:52:21,000 mashkull apo femër, dhe pastaj atë që ata ishin në fjetore, 981 00:52:21,000 --> 00:52:23,000 dhe atëherë ata do të paraqesin këtë formë. 982 00:52:23,000 --> 00:52:27,000 Le të shikojmë të parë nën kapuç në HTML që përfaqëson këtë faqe. 983 00:52:27,000 --> 00:52:31,000 Më lejoni të shkoj në froshims0, 984 00:52:31,000 --> 00:52:35,000 dhe si një mënjanë, për pset 7 Unë jam duke marrë për të dhënë 985 00:52:35,000 --> 00:52:37,000 drejtoritë dhe dosjet që unë jam vënë gjërat in 986 00:52:37,000 --> 00:52:40,000 Ne do të ecin ju nëpërmjet saktësisht se ku stuff ka për të shkuar në aplikim, 987 00:52:40,000 --> 00:52:43,000 i cili urdhëron mod ju keni për të kandiduar, kështu që mos u bëni merak për të gjithë të 988 00:52:43,000 --> 00:52:46,000 Detajet budallaqe syncing në nga get-go këtu. 989 00:52:46,000 --> 00:52:49,000 >> Të gjithë të drejtë, këtu është froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Më lejoni të lëvizni poshtë, dhe çfarë është kurioz këtu, 991 00:52:52,000 --> 00:52:56,000 kjo është një fotografi PHP, por ajo që është në brendësi të saj, në mënyrë të qartë? 992 00:52:56,000 --> 00:52:59,000 Kjo është një tërësi shumë të HTML, dhe në të vërtetë, origjina e php 993 00:52:59,000 --> 00:53:02,000 me të vërtetë kanë qenë për të qenë një Web-centrike gjuhë. 994 00:53:02,000 --> 00:53:04,000 Një moment më parë ne kemi përdorur atë për të zbatuar shembullin birrë, 995 00:53:04,000 --> 00:53:07,000 kushtet shembull, shembulli Përshëndetje, dhe kjo është në rregull. 996 00:53:07,000 --> 00:53:11,000 Ju mund të përdorni PHP si gjuhë e shkruar 997 00:53:11,000 --> 00:53:15,000 ku një dorëshkrim është në të vërtetë vetëm nomenklatura dhënë një program të shpejtë dhe të pista 998 00:53:15,000 --> 00:53:19,000 apo diçka që ju shkruani në një gjuhë shkruar një ose më në përgjithësi interpretuar. 999 00:53:19,000 --> 00:53:22,000 PHP është super e dobishme për shkak se ju keni parë se sa shpejt 1000 00:53:22,000 --> 00:53:24,000 relativisht ne mund të nxit programe në PHP. 1001 00:53:24,000 --> 00:53:27,000 Por ajo është projektuar të vërtetë për t'u përdorur për Web, 1002 00:53:27,000 --> 00:53:31,000 dhe i projektuar për Web në kuptimin që vërejnë deri këtu në krye të dosjes 1003 00:53:31,000 --> 00:53:34,000 Unë të fillojë me 00:53:38,000 Atëherë unë kam një bandë e komenteve padobishme, të dhëna, por pastaj unë mbyll mënyrën PHP. 1005 00:53:38,000 --> 00:53:41,000 Por pastaj unë të bjerë në mënyrë të HTML. 1006 00:53:41,000 --> 00:53:45,000 >> Çfarë është interesante në lidhje me PHP është edhe pse përfundon në fotografi. Php 1007 00:53:45,000 --> 00:53:48,000 ajo është menduar në përgjithësi për të bashkë-përzier me HTML, 1008 00:53:48,000 --> 00:53:50,000 Kodi PHP disa, disa HTML. 1009 00:53:50,000 --> 00:53:53,000 Dhe ne do të shohim në fund se ne mund të fillojë të bezdis ata përveç 1010 00:53:53,000 --> 00:53:56,000 dhe për të mbajtur të ndara nga PHP HTML tonë tone krejt, 1011 00:53:56,000 --> 00:53:59,000 por origjina e PHP vërtetë ishin të ju jap këtë fleksibilitet, 1012 00:53:59,000 --> 00:54:02,000 se në qoftë se ju doni disa HTML shkruani vetëm atë, dhe që do të jetë 1013 00:54:02,000 --> 00:54:04,000 nxjerr nga goja identike të shfletuesit. 1014 00:54:04,000 --> 00:54:07,000 Por në qoftë se keni nevojë për disa teknika programimi, 1015 00:54:07,000 --> 00:54:12,000 Kodi disa programimi, ju gjithashtu mund të vënë atë në dosjen e saktë të njëjtën, si ne do të shohim së shpejti. 1016 00:54:12,000 --> 00:54:14,000 Ja HTML im. 1017 00:54:14,000 --> 00:54:16,000 Unë kam marrë një titull nga kjo për Frosh IMS. 1018 00:54:16,000 --> 00:54:20,000 Unë kam marrë një tag trupit i cili ka marrë disa CSS mbi atë për çdo gjë qendër në mes, 1019 00:54:20,000 --> 00:54:23,000 dhe pastaj poshtë këtu kam një formë e cila me sa duket do të dorëzohet 1020 00:54:23,000 --> 00:54:27,000 në një skedë të re të quajtur register0.php, kështu që ne do të shohim se në një moment. 1021 00:54:27,000 --> 00:54:31,000 Është përdorur një metodë të quajtur mesazhin, të cilin ne do të kthehen për të si. 1022 00:54:31,000 --> 00:54:34,000 Atëherë unë kam disa inpute formë, një emër i quajtur, të cilit lloj është teksti, 1023 00:54:34,000 --> 00:54:37,000 një emri i të cilit është kapiten, të cilit lloj është checkbox, 1024 00:54:37,000 --> 00:54:40,000 dhe kjo, ne nuk kemi parë atë më parë, por kjo e bën pikërisht atë që ajo thotë. 1025 00:54:40,000 --> 00:54:42,000 Ju do të merrni një checkbox në vend të një kuti teksti. 1026 00:54:42,000 --> 00:54:46,000 Poshtë këtu ju keni një buton radio, e cila është një nga ato butonat rrethore 1027 00:54:46,000 --> 00:54:48,000 që ju të mund ta zgjidhni këtë një ose se një. 1028 00:54:48,000 --> 00:54:52,000 >> Vini re se është e qëllimshme që i dha të dyja butonat e radios emrin e gjinisë. 1029 00:54:52,000 --> 00:54:55,000 Kjo është se si ju të merrni përjashtimin reciprok ku ju duhet të klikoni 1030 00:54:55,000 --> 00:54:58,000 ose kjo një ose se një, dhe nga klikuar tjetër 1031 00:54:58,000 --> 00:55:01,000 ajo unchecks të tjera, kështu që ju duhet për t'i dhënë atyre të njëjtin emër 1032 00:55:01,000 --> 00:55:03,000 në qoftë se ju duan ata të jenë reciprokisht ekskluzive si kjo. 1033 00:55:03,000 --> 00:55:07,000 Dhe pastaj për konvikt, unë nuk mendoj se ne kemi parë këtë, por kjo është një menu zgjidhni, një drop-down menu. 1034 00:55:07,000 --> 00:55:09,000 Tag për këtë është zgjedhur. 1035 00:55:09,000 --> 00:55:11,000 Ju pastaj jepni drop-down menu një emër, 1036 00:55:11,000 --> 00:55:13,000 dhe atëherë ju keni një bandë e tërë e këtyre opsioneve. 1037 00:55:13,000 --> 00:55:16,000 I pari, vetëm për estetikë, është një varg bosh. 1038 00:55:16,000 --> 00:55:20,000 Unë vetëm të kërkuar për të drop down jetë bosh nga default, 1039 00:55:20,000 --> 00:55:22,000 dhe pastaj ka Apley, Canaday, Grays, dhe kështu me radhë. 1040 00:55:22,000 --> 00:55:24,000 Dhe njoftim dikotomi këtu. 1041 00:55:24,000 --> 00:55:27,000 Opsioni në drop down ka një vlerë, 1042 00:55:27,000 --> 00:55:30,000 por pastaj ajo ka një emër njeriut-miqësore, e cila në këtë shembull 1043 00:55:30,000 --> 00:55:33,000 është identike, por në qoftë se ne të vërtetë donte të jetë anal që ne mund të kemi 1044 00:55:33,000 --> 00:55:36,000 vlera e këtij drop down jetë vetëm short version, 1045 00:55:36,000 --> 00:55:39,000 Grays, por ne mund të vërtetë të them se Grite Hall njerëzore në fakt e sheh, 1046 00:55:39,000 --> 00:55:43,000 por kjo nuk është e gjitha se interesante, kështu që unë vetëm mbajtur atë të thjeshtë dhe i bëri ata identike. 1047 00:55:43,000 --> 00:55:46,000 Pastaj poshtë në fund kemi një buton Submit 1048 00:55:46,000 --> 00:55:49,000 që kemi parë më parë, por vini re unë vetëm ia dha një fjalë të ndryshme. 1049 00:55:49,000 --> 00:55:53,000 Në vend të kërkimit CS50 I dha etiketën "Registrohu". 1050 00:55:53,000 --> 00:55:56,000 >> Rezultati përfundimtar është ky webpage këtu, dhe përsëri, 1051 00:55:56,000 --> 00:56:00,000 ku e bën këtë për të marrë dorëzuar? 1052 00:56:00,000 --> 00:56:04,000 Ajo merr dorëzuar për disa dosje, vlera e atribut të veprimit, 1053 00:56:04,000 --> 00:56:07,000 e cila ishte register0.php. 1054 00:56:07,000 --> 00:56:09,000 Le të shohim se çfarë në të vërtetë ndodh këtu. 1055 00:56:09,000 --> 00:56:13,000 Më lejoni të shkojnë përpara dhe të plotësoni këtë formular, thonë David, 1056 00:56:13,000 --> 00:56:16,000 mashkull, Matthews, dhe pastaj unë do të them regjistroheni. 1057 00:56:16,000 --> 00:56:18,000 Më lejoni të zoom jashtë dhe klikoni regjistroheni. 1058 00:56:18,000 --> 00:56:22,000 Mirë, kështu që lloj i kotë, por le të shohim se çfarë është në të vërtetë ndodh. 1059 00:56:22,000 --> 00:56:26,000 Vini re se URL ka ndryshuar të jetë register0.php. 1060 00:56:26,000 --> 00:56:34,000 Çfarë është interesant mungon nga URL, edhe pse, edhe pse ne vetëm dorëzuar një formë? 1061 00:56:34,000 --> 00:56:37,000 [Përgjigja e padëgjueshme Student] 1062 00:56:37,000 --> 00:56:39,000 Mirë, kjo është vetëm përdorues miqësore Chrome qenë këto ditë. 1063 00:56:39,000 --> 00:56:42,000 Kjo është në fakt atje. Ata vetëm fshehur atë për të ruajtur hapësirën. 1064 00:56:42,000 --> 00:56:44,000 Por mendim të mirë, mendim të mirë. 1065 00:56:44,000 --> 00:56:46,000 Drejt anën tjetër URL, pse, çfarë mungon? Po. 1066 00:56:46,000 --> 00:56:48,000 [Student] string query. 1067 00:56:48,000 --> 00:56:51,000 String query, kështu që kujtoni nga shembuj të thjeshtë tanë kërkimit Google. 1068 00:56:51,000 --> 00:56:54,000 Sapo kam klikoni butonin paraqesë URL 1069 00:56:54,000 --> 00:57:00,000 mori mua në Google, por pastaj nuk kishte? q = shkenca kompjuterike ose çfarëdo kisha shtypur in 1070 00:57:00,000 --> 00:57:04,000 Kjo është për shkak se ne kemi përdorur metodën e merrni me shembullin e kërkimit. 1071 00:57:04,000 --> 00:57:06,000 >> Këtë herë ne jemi duke përdorur çfarë metodë në vend? 1072 00:57:06,000 --> 00:57:10,000 Post, dhe një nga dallimet e menjëhershme 1073 00:57:10,000 --> 00:57:14,000 mes të merrni dhe pas është se pas nuk ka vënë kontributin e përdoruesit në URL. 1074 00:57:14,000 --> 00:57:16,000 Ajo fsheh atë. Ajo ende dërgon atë. 1075 00:57:16,000 --> 00:57:19,000 Në fakt, ajo që ne jemi duke parë në shfletuesin këtu, pasi ne do të zbulojë në një moment 1076 00:57:19,000 --> 00:57:22,000 duke shikuar në register0, po unë jam vetëm duke parë përmbajtjen 1077 00:57:22,000 --> 00:57:25,000 e grup që janë dorëzuar nga shfletuesi në server. 1078 00:57:25,000 --> 00:57:29,000 Por URL nuk ka?, Nuk ka asnjë fjalë kyçe 1079 00:57:29,000 --> 00:57:31,000 ose vlerat në të, dhe pse është kjo? 1080 00:57:31,000 --> 00:57:35,000 E pra, post ju lejon të paraqesë ende të dhënat nga një server në formë, 1081 00:57:35,000 --> 00:57:38,000 por nuk e vënë atë në URL, kështu çfarë lloj informacioni është pas 1082 00:57:38,000 --> 00:57:41,000 veçanërisht e përshtatshme për ndoshta kur jeni duke i kërkuar përdoruesit të 1083 00:57:41,000 --> 00:57:44,000 shkruani input në formë? 1084 00:57:44,000 --> 00:57:48,000 Diçka si një fjalëkalim, diçka si çfarë tjetër? 1085 00:57:48,000 --> 00:57:50,000 Numrat e kartës së kreditit. 1086 00:57:50,000 --> 00:57:53,000 Çdo gjë që është e butë të ndjeshme që ju ndoshta nuk dëshironi mbaron deri në URL 1087 00:57:53,000 --> 00:57:56,000 në qoftë se vetëm për shkak se kjo do të thotë shokun tuaj apo anëtar i familjes mund të këndoj vetëm nëpërmjet 1088 00:57:56,000 --> 00:57:59,000 historia juaj e internetit dhe pastaj fjalë të shihni fjalëkalimet tuaja, 1089 00:57:59,000 --> 00:58:02,000 fjalë për fjalë të parë kartën tuaj të krediti numrat sepse shumica e shfletuesit 1090 00:58:02,000 --> 00:58:05,000 mend në historinë çfarëdo URLs ju keni qenë në, 1091 00:58:05,000 --> 00:58:09,000 kështu që në qoftë se vetëm për shkak se do të ishte një ide e keqe. 1092 00:58:09,000 --> 00:58:11,000 Përdorimi fsheh Postimi se detaje nga përdoruesit. 1093 00:58:11,000 --> 00:58:14,000 >> Gjithashtu, si mund të ngarkoj një foto në Facebook? 1094 00:58:14,000 --> 00:58:17,000 Mirë, vetëm 2 mekanizma të vërtetë ju mund të përdorni, 1095 00:58:17,000 --> 00:58:21,000 edhe pse ka një ato pak të tjera më misterioze, është marrë dhe pas. 1096 00:58:21,000 --> 00:58:26,000 Si mund të ngarkoj një foto mundësisht me anë të një URL? 1097 00:58:26,000 --> 00:58:28,000 Ju në fakt mund të bëjë atë. 1098 00:58:28,000 --> 00:58:30,000 Ju mund të merrni një JPEG ose GIF ose bitmap dhe ju mund të përfaqësojnë atë në heksadecimal 1099 00:58:30,000 --> 00:58:32,000 ose diçka që quhet bazë 64. 1100 00:58:32,000 --> 00:58:35,000 Në vend të bazës ju përdorni 16 64 bazë, e cila në thelb duket si 1101 00:58:35,000 --> 00:58:38,000 Karaktere ASCII, dhe ju mund të vërtetë të ngarkoj një foto me anë të një URL 1102 00:58:38,000 --> 00:58:41,000 pas një pikëpyetje, por ka kufizime në përgjithësi madhësia. 1103 00:58:41,000 --> 00:58:44,000 Shumica e shfletuesit detyrojë URLs të jetë jo më shumë se 1.000 karaktere, 1104 00:58:44,000 --> 00:58:47,000 ndoshta 2.000 karaktere apo si, kështu që ju nuk mund të ngarkoni 1105 00:58:47,000 --> 00:58:50,000 një 10 MB Facebook photo. 1106 00:58:50,000 --> 00:58:54,000 Për të cilat ju përdorni post si edhe, kështu që tani për tani të merrni vë parametrat në URL, 1107 00:58:54,000 --> 00:58:57,000 që është e bukur dhe e dobishme ndonjëherë, por për çdo gjë të ndjeshme apo të mëdha 1108 00:58:57,000 --> 00:58:59,000 post është rruga për të shkuar. 1109 00:58:59,000 --> 00:59:02,000 Çfarë është në të vërtetë duke bërë register0 këtu? 1110 00:59:02,000 --> 00:59:05,000 E pra, në qoftë se unë i hapur deri register0 njoftim se ky është një faqe super e thjeshtë, 1111 00:59:05,000 --> 00:59:09,000 por kjo është demonstruar faktin se unë mund të bashkë-shoqërohem, për mirë apo për keq, 1112 00:59:09,000 --> 00:59:12,000 HTML me PHP. 1113 00:59:12,000 --> 00:59:15,000 Kjo skedë tërësi, me përjashtim të komenteve në krye, janë HTML 1114 00:59:15,000 --> 00:59:19,000 përjashtim për këtë djalë këtu. 1115 00:59:19,000 --> 00:59:22,000 >> Vini re në mes të PHP kodin tim, 1116 00:59:22,000 --> 00:59:26,000 në mes të HTML time, kam lloj përkohësisht 1117 00:59:26,000 --> 00:59:28,000 hyri në mënyrën e PHP. 1118 00:59:28,000 --> 00:59:31,000 Unë jam duke e quajtur një funksion të veçantë të quajtur print r. 1119 00:59:31,000 --> 00:59:34,000 Kjo do të thotë të shtypura rekursive, dhe atë që nuk është ajo Recursively shtyp 1120 00:59:34,000 --> 00:59:38,000 çdo gjë që ju ndryshueshme dore atë, dalje pikëpresje, PHP mode. 1121 00:59:38,000 --> 00:59:40,000 Dhe tag para ju jep para-formatuar tekstin, 1122 00:59:40,000 --> 00:59:43,000 Teksti mono hapësirë ​​në mënyrë që çdo hapësirë ​​që ju të shikoni në fakt atë. 1123 00:59:43,000 --> 00:59:46,000 Ajo nuk zhduket. Çfarë është pas? 1124 00:59:46,000 --> 00:59:48,000 E pra, çfarë është interesante dhe bindëse në lidhje me PHP 1125 00:59:48,000 --> 00:59:52,000 është se sa herë që ju të paraqesë një formë duke përdorur të marrë ose të postoni 1126 00:59:52,000 --> 00:59:56,000 çdo gjë që është paraqitur për ju nga një shfletues 1127 00:59:56,000 --> 01:00:00,000 PHP vetë shifrat se çfarë ato çifte kyçe vlerë janë, 1128 01:00:00,000 --> 01:00:02,000 Shifrat e nëse nuk ka shenja të barabarta, shifra nëse ka një pikëpyetje. 1129 01:00:02,000 --> 01:00:07,000 Ai e bën gjithë punën e vështirë për ju, dhe pastaj duart ju një grup shoqerues 1130 01:00:07,000 --> 01:00:10,000 përmban gjithçka që përdoruesi typed në formë. 1131 01:00:10,000 --> 01:00:12,000 E pra, çfarë fushat e bëri këtë formë kemi? 1132 01:00:12,000 --> 01:00:14,000 >> Ajo kishte 4 fusha. 1133 01:00:14,000 --> 01:00:16,000 Njëri ishte një fushë teksti të quajtur emrin. 1134 01:00:16,000 --> 01:00:18,000 Njëri ishte një checkbox quajtur kapiten. 1135 01:00:18,000 --> 01:00:22,000 Njëri ishte një buton radio quajtur gjinore, 1136 01:00:22,000 --> 01:00:24,000 dhe një ishte një drop-down menu quajtur fjetore, 1137 01:00:24,000 --> 01:00:27,000 kështu që kur unë të shtypura njoftim Recursively 1138 01:00:27,000 --> 01:00:29,000 përmbajtjen e këtij variablit të veçantë. 1139 01:00:29,000 --> 01:00:34,000 Kjo është një ndryshore globale të veçantë të quajtur fjalë për fjalë $ _POST, në të gjitha shkronja kapitale. 1140 01:00:34,000 --> 01:00:39,000 Kjo është një variabël e veçantë globale që krijon PHP vetëm për ju 1141 01:00:39,000 --> 01:00:42,000 dhe duart për ju në mënyrë që ju mund të hyni në çdo gjë 1142 01:00:42,000 --> 01:00:45,000 që është dorëzuar nëpërmjet një formë nga një përdorues. 1143 01:00:45,000 --> 01:00:48,000 Dhe duke e quajtur r shtyp mbi-ju nuk do ta bëjë këtë në një aplikim normale. 1144 01:00:48,000 --> 01:00:50,000 Ne jemi duke e bërë këtë për të parë brenda këtij variablit, 1145 01:00:50,000 --> 01:00:53,000 dhe çfarë është në brendësi të saj, mirë, 4 çelësat, 1146 01:00:53,000 --> 01:00:56,000 4 parametrat http, në mënyrë që të flasin, 1147 01:00:56,000 --> 01:00:59,000 emri, kapiten, gjinia, fjetore, dhe pastaj vlerat që përdoruesi 1148 01:00:59,000 --> 01:01:01,000 shtypur në me një përjashtim. 1149 01:01:01,000 --> 01:01:03,000 Unë i llojit D-A-V-I-D. 1150 01:01:03,000 --> 01:01:05,000 I kontrolluar kuti, edhe pse, për meshkuj, e cila me sa duket dorëzuar një vlerë 1151 01:01:05,000 --> 01:01:07,000 i vetëm m të jetë i ngjeshur. 1152 01:01:07,000 --> 01:01:10,000 >> Kur kam zgjedhur Matthews që është vlerë që u zgjedhur, 1153 01:01:10,000 --> 01:01:12,000 dhe kjo është pak budalla, por kjo është konventë. 1154 01:01:12,000 --> 01:01:17,000 Kur kam kontrolluar kuti, me një vlerë prej më, "në", u dorëzuar për checkbox. 1155 01:01:17,000 --> 01:01:21,000 Në qoftë se unë nuk e kishte kontrolluar atë, asnjë vlerë do të kishte qenë dërguar whatsoever. 1156 01:01:21,000 --> 01:01:26,000 Kjo është vetëm duke na dhënë njohuri në atë që është në brendësi të këtij variablit të veçantë globale, 1157 01:01:26,000 --> 01:01:29,000 dhe kjo është në mënyrë të veçantë që është quajtur një ndryshore globale super. 1158 01:01:29,000 --> 01:01:33,000 Ajo ekziston kudo për ju brenda kodin tuaj në mënyrë që ju në fakt mund të hyni në atë. 1159 01:01:33,000 --> 01:01:36,000 Kjo nuk është se bindëse, kështu që le të përdorni të vërtetë globale super 1160 01:01:36,000 --> 01:01:38,000 dhe në fakt të përpiqen për të regjistruar dikë. 1161 01:01:38,000 --> 01:01:41,000 Në froshims1 unë jam duke shkuar për të bërë një ndryshim. 1162 01:01:41,000 --> 01:01:44,000 Unë jam duke ndryshuar veprimet të jenë të register1.php, 1163 01:01:44,000 --> 01:01:46,000 dhe unë jam duke bërë një gjë tjetër. 1164 01:01:46,000 --> 01:01:48,000 Unë kam qenë lloj i zënë ngushtë me cilësinë e webpage tim atje. 1165 01:01:48,000 --> 01:01:52,000 Kjo është goxha e shëmtuar, sinqerisht, kështu që rezulton 1166 01:01:52,000 --> 01:01:56,000 që ju mund të përdorni shumë lehtë në Web 1167 01:01:56,000 --> 01:01:59,000 Kodi JavaScript tjerëve, CSS tjerëve 1168 01:01:59,000 --> 01:02:02,000 që ata kanë shkruar dhe me burim të hapur dhe vënë në dispozicion si një bibliotekë, 1169 01:02:02,000 --> 01:02:06,000 kështu që të flasin, dhe për shembull, këtu unë jam duke përdorur një bibliotekë të lirë në dispozicion, 1170 01:02:06,000 --> 01:02:08,000 një bandë e kodit që dikush tjetër ka shkruar. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter ndodhur për të shkruar këtë kod, dhe është quajtur Biblioteka bootstrap, 1172 01:02:11,000 --> 01:02:15,000 dhe kjo është vetëm një bandë e stilit fletë CSS, një bandë e. fotografi css 1173 01:02:15,000 --> 01:02:19,000 se dikush tjetër ka shkruar dhe i realizuar artistikisht se si të merrni gjithçka e bukur dhe goxha 1174 01:02:19,000 --> 01:02:22,000 në mënyrë që njerëzit si ne mund të shqetësohen më pak rreth estetikë dhe të përqëndrohet më shumë 1175 01:02:22,000 --> 01:02:24,000 në logjikën dhe programimin aktual. 1176 01:02:24,000 --> 01:02:30,000 Duke i lidhur atë me këtë tag, i cili është tag njëjtë kam përdorur kujtohet për styles3.css më herët, 1177 01:02:30,000 --> 01:02:34,000 Unë tani kanë qasje në një skedar të quajtur bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Min thjesht do të thotë se ata kanë minified atë dhe ata kanë marrë shpëtoj të gjithë hapësirës së bardhë dhe kështu me radhë 1179 01:02:37,000 --> 01:02:40,000 vetëm për të siguruar që ata nuk janë dërguar mua bytes më tepër se unë në fakt duhet. 1180 01:02:40,000 --> 01:02:45,000 Por aty është një bandë e tërë e CSS, kështu që nëse unë tani të hapë version 1 e Frosh IMS 1181 01:02:45,000 --> 01:02:49,000 vëreni se dosja ime është definitivisht prettier. 1182 01:02:49,000 --> 01:02:54,000 Tani ajo është ende vetëm bardhë e zi, por vini re se vetëm duke përdorur fletë stilin e tyre 1183 01:02:54,000 --> 01:02:58,000 dhe duke përdorur disa funksione të saj në formën time kjo nuk është e mahnitshme, 1184 01:02:58,000 --> 01:03:01,000 por është patjetër më të pastër se sa ishte më parë, dhe projektues nuk është duke bërë atë të drejtësisë. 1185 01:03:01,000 --> 01:03:05,000 Ka linja pak gri rreth butonat dhe rreth fushën e tekstit të drejtë këtu, 1186 01:03:05,000 --> 01:03:07,000 por është patjetër më të pastër se sa ishte më parë. 1187 01:03:07,000 --> 01:03:09,000 >> Tani, në drejtësi, unë nuk duhet të ndryshojë markup mia pak. 1188 01:03:09,000 --> 01:03:12,000 Ky është versioni 1, dhe të vëreni se unë kam përdorur një pak tags reja, 1189 01:03:12,000 --> 01:03:17,000 dhe sinqerisht, unë nuk kishte asnjë ide se si për të bërë këtë deri sa kam lexuar dokumentacionin e 1190 01:03:17,000 --> 01:03:20,000 për bibliotekën Twitter bootstrap, dhe ata më thanë, nëse ju doni të përdorni bibliotekën tonë 1191 01:03:20,000 --> 01:03:23,000 përdorin një element FIELDSET brenda formën tuaj, 1192 01:03:23,000 --> 01:03:27,000 vënë fjalën që ju dëshironi për të treguar e ardhshme në një fushë brenda një tag të etiketë, 1193 01:03:27,000 --> 01:03:30,000 pastaj jepni kontributin tuaj një emër, ashtu si më parë, 1194 01:03:30,000 --> 01:03:34,000 dhe pastaj për checkbox, jo vetëm që ju të përfundojë atë në një element etiketë, 1195 01:03:34,000 --> 01:03:36,000 ju përdorni diçka që quhet një klasë, kështu që ne nuk e kemi parë këtë më parë, 1196 01:03:36,000 --> 01:03:39,000 por ju do të shihni këtë në një pantallona të shkurtra pset 7 s. 1197 01:03:39,000 --> 01:03:43,000 Një klasë në CSS ju lejon të bëni diçka shumë të ngjashme me ID, 1198 01:03:43,000 --> 01:03:46,000 por para kur kemi pasur një ID me simbolin # 1199 01:03:46,000 --> 01:03:48,000 që ishte për një dhe vetëm një element. 1200 01:03:48,000 --> 01:03:51,000 Çfarë është mirë për një klasë është se elemente të shumta mund të kenë të njëjtën klasë 1201 01:03:51,000 --> 01:03:54,000 ose njëjta gjëra CSS aplikuar për të. 1202 01:03:54,000 --> 01:03:57,000 >> Por përsëri, më shumë në ato në të shkurtër, si dhe pjesa tjetër e kjo është thjesht kopjoni dhe ngjisni 1203 01:03:57,000 --> 01:04:00,000 nga dokumentacionit të tyre, ku unë kam shtuar një etiketë këtu dhe atje. 1204 01:04:00,000 --> 01:04:03,000 Dhe në fund, sepse unë kam përfshirë tag lidhjen në krye, 1205 01:04:03,000 --> 01:04:06,000 çdo gjë duket prettier automatikisht 1206 01:04:06,000 --> 01:04:10,000 nga thjesht duke shënuar deri faqen time në një mënyrë që 1207 01:04:10,000 --> 01:04:12,000 Twitter pritet, dhe ka kaq shumë mënyra të ndryshme 1208 01:04:12,000 --> 01:04:14,000 për të bërë këtë, dhe kjo është me të vërtetë shumë e përshtatshme. 1209 01:04:14,000 --> 01:04:17,000 Në këtë pikë të semestrit, si ju do të shihni në spekulim pset 7-së, 1210 01:04:17,000 --> 01:04:20,000 Googling shikoj, leximit deri në bibliotekat, duke përdorur CSS e njerëzve të tjerë 1211 01:04:20,000 --> 01:04:23,000 dhe JavaScript për të zgjidhur problemet ndihmëse 1212 01:04:23,000 --> 01:04:26,000 për të vendosur vetë problemit është e inkurajuar me siguri dhe është mënyra 1213 01:04:26,000 --> 01:04:29,000 Web-i është ndërtuar këto ditë, duke qëndruar mbi supet e njerëzve të tjerë 1214 01:04:29,000 --> 01:04:32,000 kështu që ju mund të vërtetë të përqëndrohet në problemet e reja dhe interesante. 1215 01:04:32,000 --> 01:04:34,000 Por tani le të përqëndrohet në, përsëri, logjikën. 1216 01:04:34,000 --> 01:04:38,000 >> Kjo ishte një mënyrë e tërthortë të shpejtë në estetikë vetëm për të ju tregojnë drejtimin në të cilën ju mund të shkoni. 1217 01:04:38,000 --> 01:04:40,000 Unë jam duke shkuar për të kthehen në një shëmtuar për tani vetëm për shkak se 1218 01:04:40,000 --> 01:04:44,000 nuk ka distractions me sende Twitter, dhe më lejoni të shkoj përpara dhe të hapur 1219 01:04:44,000 --> 01:04:51,000 froshims2, e cila, përsëri, ndryshon vetëm në, register2.php veprimit, 1220 01:04:51,000 --> 01:04:55,000 dhe le të marrin një vështrim në atë që efekti është këtu. 1221 01:04:55,000 --> 01:04:57,000 Më lejoni të shkojnë përpara dhe të shkruani Davidit. 1222 01:04:57,000 --> 01:04:59,000 Unë nuk do të jetë kapiten këtë kohë. 1223 01:04:59,000 --> 01:05:01,000 Unë do të them mashkull, Matthews, regjistrimin. 1224 01:05:01,000 --> 01:05:05,000 Damn atë. Mirë, kjo është një vidhos deri në pjesën time. 1225 01:05:05,000 --> 01:05:07,000 Stand by. 1226 01:05:07,000 --> 01:05:17,000 Register2, linja 22, nëse është bosh ose-keq. 1227 01:05:17,000 --> 01:05:19,000 Le të reload. 1228 01:05:19,000 --> 01:05:22,000 Mirë, pas dorëzimit këtë formular çfarë ndodhi? 1229 01:05:22,000 --> 01:05:25,000 I shtypur në Davidit, kontrollohet mashkull, klikuar Matthews, regjistrimin. 1230 01:05:25,000 --> 01:05:27,000 Ju jeni regjistruar. (Pra, jo të vërtetë.) 1231 01:05:27,000 --> 01:05:32,000 Kjo është qartë një hap përtej vetëm shtypje nga përmbajtjen e disa ndryshore, 1232 01:05:32,000 --> 01:05:34,000 Por çfarë është në të vërtetë këtë fotografi doing? 1233 01:05:34,000 --> 01:05:37,000 Në register2.php 1234 01:05:37,000 --> 01:05:40,000 vëreni se unë kam disa kodin e ri. 1235 01:05:40,000 --> 01:05:44,000 Brenda tag trupin tim kam thelb një rast tjetër të ndërtuar, 1236 01:05:44,000 --> 01:05:47,000 por për shkak se unë jam bashkë-duke sjellë këtë me disa HTML 1237 01:05:47,000 --> 01:05:51,000 Unë duhet të hyjë dhe të dalë mënyra PHP mbrapa dhe me radhë, kështu që le të shohim se çfarë unë jam duke bërë. 1238 01:05:51,000 --> 01:05:55,000 >> Në rreshtin e parë këtu unë jam duke thënë se në qoftë se është rasti 1239 01:05:55,000 --> 01:06:00,000 se super Postimi globale është bosh për çelës e emrit, 1240 01:06:00,000 --> 01:06:04,000 kështu që me fjalë të tjera, në qoftë se përdoruesi nuk ka të jepni një vlerë për emrin në formë, 1241 01:06:04,000 --> 01:06:07,000 pastaj bosh do të kthehen vërtetë, sepse vlera është bosh. 1242 01:06:07,000 --> 01:06:11,000 Ose-Njoftim vertikale bare-nëse gjinore është bosh 1243 01:06:11,000 --> 01:06:15,000 brenda këtij globale super të veçantë, e cila, përsëri, përfaqëson përmbajtjen e formularit, 1244 01:06:15,000 --> 01:06:19,000 ose konvikt është e zbrazët, atëherë unë jam duke shkuar për të shkuar përpara dhe bërtas në përdorues. 1245 01:06:19,000 --> 01:06:22,000 Si? E pra, unë jam duke shkuar njoftim të thotë që ju duhet të jepni emrin tuaj, gjininë, dhe konvikt. 1246 01:06:22,000 --> 01:06:24,000 Le të vërtetë sjell atë gabim. 1247 01:06:24,000 --> 01:06:27,000 Më lejoni të kthehem në formën time. Më lejoni të rifreskoni të qartë atë. 1248 01:06:27,000 --> 01:06:30,000 Dhe unë jam vetëm duke shkuar për t'i dhënë atyre Davidin, dhe ata nuk kanë nevojë të dinë se ku unë jetoj. 1249 01:06:30,000 --> 01:06:33,000 Regjistrohu. Me sa duket unë nuk duhet të tregoni atyre se ku unë jetoj. 1250 01:06:33,000 --> 01:06:35,000 Ju duhet të sigurojë gjininë tuaj, emrin dhe konvikt. Kthehu mbrapa. 1251 01:06:35,000 --> 01:06:39,000 >> Dhe unë mund të klikoni për të shkuar përsëri në atë formë, por pse është kjo? 1252 01:06:39,000 --> 01:06:43,000 E pra, në këtë rast nuk ishte emër bosh, por gjinore ishte dhe fjetore ishte, 1253 01:06:43,000 --> 01:06:47,000 kështu që kjo shprehje tërësi vlerësohet të vërtetë, dhe edhe pse sintaksa është pak i ri, 1254 01:06:47,000 --> 01:06:51,000 përsëri, ne të hyjë mënyrën PHP, njohur, nëse deklaratë, 1255 01:06:51,000 --> 01:06:54,000 por pjesë e re këtu është vetëm kjo zorrës së trashë, dhe unë e kishte dehur duke hequr një parantezë 1256 01:06:54,000 --> 01:06:57,000 nga aksident, por njoftim zorrës së trashë, dhe që do të thotë 1257 01:06:57,000 --> 01:07:00,000 edhe pse ne jemi të daljes gjithçka PHP mënyrën 1258 01:07:00,000 --> 01:07:03,000 që vijon duhet të nxjerr nga goja fjalë për fjalë në shfletuesin 1259 01:07:03,000 --> 01:07:07,000 derisa ju të shihni një bllok tjetër, siç bëjmë ne këtu, 1260 01:07:07,000 --> 01:07:10,000 në të cilin rast ju duhet të nxjerr në vend këtë, 1261 01:07:10,000 --> 01:07:13,000 derisa ta shohin endif, kështu që disa pak sintaksë e re 1262 01:07:13,000 --> 01:07:16,000 që lejon mua për të toggle mes HTML dhe PHP. 1263 01:07:16,000 --> 01:07:19,000 Ne mund të pastër këtë ide përfundimisht, por tani për tani, 1264 01:07:19,000 --> 01:07:22,000 kjo është lloj i një mënyrë bindëse e gabimit kontrolluar formën. 1265 01:07:22,000 --> 01:07:25,000 >> Tani, unë them se ju nuk jeni të regjistruar me të vërtetë, sepse padyshim ne kemi bërë asgjë, por të të dhënave, 1266 01:07:25,000 --> 01:07:28,000 kështu që le të vërtetë të përpiqet të bëjë diçka të ftohtë. 1267 01:07:28,000 --> 01:07:33,000 Në froshims3 Dallimi i vetëm është që unë jam duke shkuar për të dorëzuar për register3, 1268 01:07:33,000 --> 01:07:35,000 kështu HTML nuk është i njëjtë. 1269 01:07:35,000 --> 01:07:38,000 Në register3 këtë njoftim. 1270 01:07:38,000 --> 01:07:40,000 Kjo është një lloj i sexy. 1271 01:07:40,000 --> 01:07:44,000 Në krye unë jam duke përdorur një deklaratë të kërkojë, kështu që kjo është si # përfshijnë. 1272 01:07:44,000 --> 01:07:46,000 Këtë herë nuk është stdio.h ose diçka të tillë. 1273 01:07:46,000 --> 01:07:50,000 Kjo është një bibliotekë PHP, dhe kjo quhet PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Si e di që të përfshijë pikërisht këtë varg cituar? 1275 01:07:53,000 --> 01:07:56,000 Kam lexuar atë në dokumentacion, kështu që kur ata më tha të vënë këtë në krye të dosjes 1276 01:07:56,000 --> 01:08:00,000 në qoftë se ju doni të përdorni një bibliotekë të veçantë të quajtur PHPMailer që e bën atë që ajo thotë. 1277 01:08:00,000 --> 01:08:03,000 Kjo ju lejon të dërgoni një email përmes PHP. 1278 01:08:03,000 --> 01:08:05,000 Tani le të lëvizni poshtë më tej. 1279 01:08:05,000 --> 01:08:08,000 >> Njoftim për të filluar unë jam në mënyrë PHP këtë kohë e tërë, 1280 01:08:08,000 --> 01:08:11,000 kështu që tani vërehet këtu poshtë pas importimit atë bibliotekë, 1281 01:08:11,000 --> 01:08:13,000  kështu që të flasin, unë jam duke bërë disa kontrolle mendje e shëndoshë. 1282 01:08:13,000 --> 01:08:16,000 Nëse kjo është rast se emri nuk është bosh 1283 01:08:16,000 --> 01:08:19,000 dhe gjinia nuk është bosh njoftim Exclamation pikë- 1284 01:08:19,000 --> 01:08:24,000 dhe fjetore nuk është i zbrazët, atëherë përdoruesi ka plotësuar formularin e logjikisht, të paktën të mjaftueshme. 1285 01:08:24,000 --> 01:08:28,000 Unë nuk e kujdesit në qoftë se ata janë kapiteni apo jo. Unë vetëm nevojë për emrin e tyre, gjininë, dhe konvikt. 1286 01:08:28,000 --> 01:08:31,000 Në qoftë se ata kanë mbushur ato jashtë në mënyrë që asnjë nga këto fusha janë bosh 1287 01:08:31,000 --> 01:08:33,000 kjo është pak më e sintaksë e re. 1288 01:08:33,000 --> 01:08:36,000 PHP, si një mënjanë, është një objekt orientuar programimit gjuhë 1289 01:08:36,000 --> 01:08:39,000 të cilat disa nga ju djema mund të kujtojnë nga autoblindat apo si. 1290 01:08:39,000 --> 01:08:42,000 Tani për tani, nëse panjohura, vetëm e di se të përdorni këtë bibliotekë 1291 01:08:42,000 --> 01:08:45,000 ju duhet të shkruani një linjë të kodit si kjo duke përdorur një fjalen i ri, 1292 01:08:45,000 --> 01:08:47,000 fjalë për fjalë një fjalen i ri i quajtur të ri. 1293 01:08:47,000 --> 01:08:50,000 Por përtej kësaj, ne kemi disa sintaksë njohur. 1294 01:08:50,000 --> 01:08:54,000 Kjo është një operator shigjetë, e cila është e ngjashme me atë që ne e përdorur për structs në kontekstin e pointers. 1295 01:08:54,000 --> 01:08:57,000 Për sot PHP nuk ka pointers, 1296 01:08:57,000 --> 01:09:01,000 por e di se tani për tani në brendësi të ndryshueshme postës 1297 01:09:01,000 --> 01:09:05,000 është në thelb një lloj tregues për një bibliotekë të veçantë 1298 01:09:05,000 --> 01:09:08,000 se dikush tjetër ka shkruar, dhe në qoftë se unë dua të hyni në funksionet specifike 1299 01:09:08,000 --> 01:09:12,000 brenda kësaj biblioteke unë, si në C, përdorni operatorin shigjetë, 1300 01:09:12,000 --> 01:09:14,000 edhe pse këto nuk janë në të vërtetë pointers. 1301 01:09:14,000 --> 01:09:16,000 Kjo është lloj i versionit vet PHP tij. 1302 01:09:16,000 --> 01:09:20,000 Kjo do të thotë shkoni në bibliotekë dhe thirrje funksionin IsSMTP. 1303 01:09:20,000 --> 01:09:23,000 SMTP, risjell, nga Warriors tona të Net referohet email, 1304 01:09:23,000 --> 01:09:28,000 dhe se vetëm do të thotë të përdorni një server mail për këtë regjistrim IMs Frosh. 1305 01:09:28,000 --> 01:09:30,000 >> Çfarë presë dua të përdorni? 1306 01:09:30,000 --> 01:09:34,000 E pra, Harvardit, në qoftë se ju Google përreth, ka një server mail quajtur smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Nëse jeni duke luajtur së bashku në shtëpi ose ju jetoni në një rrjet Comcast 1308 01:09:37,000 --> 01:09:40,000 ajo mund të jetë diçka si smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 Është krejtësisht varet se ku jetoni dhe kush ISP juaj është. 1310 01:09:43,000 --> 01:09:47,000 Pasi që unë jam duke shkuar për të vendosur adresën time nga arbitrare të jetë jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Unë jam duke shkuar për të vendosur më pas për të adresuar të jetë jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 E vetmja mënyrë që unë e dija se këto funksione janë quajtur SetFrom dhe AddAddress 1313 01:09:55,000 --> 01:09:57,000 është, përsëri, kam lexuar dokumentacionin. 1314 01:09:57,000 --> 01:09:59,000 Kjo nuk është lloj i njohur magjike për të gjithë programuesit. 1315 01:09:59,000 --> 01:10:02,000 Pastaj kam vendosur një subjekt në "regjistrim". 1316 01:10:02,000 --> 01:10:07,000 Dhe tani kjo linjë është pak e shëmtuar, sepse çfarë do të thotë operatori dot në PHP? 1317 01:10:07,000 --> 01:10:09,000 Çdokush e di? 1318 01:10:09,000 --> 01:10:11,000 Lidh. 1319 01:10:11,000 --> 01:10:14,000 Në C ajo është një dhimbje në të qafës tek lidh 2 vargjet së bashku. 1320 01:10:14,000 --> 01:10:17,000 Ju duhet të merren me malloc ose realloc ose të gjitha që stuff 1321 01:10:17,000 --> 01:10:20,000 vetëm për të zgjeruar gjatësinë e një varg. 1322 01:10:20,000 --> 01:10:22,000 Në PHP, në JavaScript dhe gjuhë të tjera 1323 01:10:22,000 --> 01:10:24,000 ju zakonisht mund ta bëni këtë me një karakter të vetëm. 1324 01:10:24,000 --> 01:10:28,000 Në këtë rast, do të thotë dot të marrë këtë varg këtu 1325 01:10:28,000 --> 01:10:30,000 dhe append për atë në këtë varg. 1326 01:10:30,000 --> 01:10:32,000 >> Oh, dhe nga mënyra, append për atë këtë varg, 1327 01:10:32,000 --> 01:10:34,000 i cili ndodh të jetë një variabël brenda e asaj globale super. 1328 01:10:34,000 --> 01:10:37,000 Pastaj append për atë një linjë të re, kështu që të gjitha këto pika do të thotë vetëm 1329 01:10:37,000 --> 01:10:39,000 mbani bërë një varg më të madh dhe më të mëdha dhe më të mëdha, 1330 01:10:39,000 --> 01:10:43,000 dhe ju nuk keni për t'u kujdesur aspak për malloc apo si në një gjuhë si kjo, 1331 01:10:43,000 --> 01:10:46,000 dhe ka mënyra të tjera për të bërë këtë, por kjo është një shpejtë 1332 01:10:46,000 --> 01:10:48,000 mënyra për të hedhur atë. 1333 01:10:48,000 --> 01:10:50,000 Çfarë është kjo duke bërë? 1334 01:10:50,000 --> 01:10:55,000 Është krijuar një trup email që do të thotë: Emri: Captain: Gjinia: konvikt: 1335 01:10:55,000 --> 01:10:58,000 të gjithë në linja të veçanta, dhe pastaj së fundi, 1336 01:10:58,000 --> 01:11:00,000 një linjë e kodit, dhe unë jam duke shkuar për të injorojë këtë tani për tani. 1337 01:11:00,000 --> 01:11:02,000 Nëse == false thjesht do të thotë nëse diçka shkoi keq, 1338 01:11:02,000 --> 01:11:04,000 por magjike ndodh këtu. 1339 01:11:04,000 --> 01:11:08,000 Mail dërgoni thotë dërgoj këtë email. 1340 01:11:08,000 --> 01:11:10,000 Le të shohim se çfarë rezultati neto është. 1341 01:11:10,000 --> 01:11:13,000 Në fund të dosjes, vëreni se do të thonë se ju jeni me të vërtetë të regjistruar 1342 01:11:13,000 --> 01:11:15,000 në qoftë se unë të marrë atë larg. 1343 01:11:15,000 --> 01:11:18,000 Nëse, megjithatë, përdoruesit vida lart, vërejmë se kemi filluar këtë 1344 01:11:18,000 --> 01:11:21,000 nëse gjendja deri këtu, në qoftë se nuk është i zbrazët dhe jo bosh 1345 01:11:21,000 --> 01:11:24,000 dhe jo bosh ne dërgoni mail. 1346 01:11:24,000 --> 01:11:27,000 Përndryshe, ne jemi duke shkuar për të dërguar këtë linjë të kodit, 1347 01:11:27,000 --> 01:11:30,000 i cili do të ketë efekt, si ju do të shihni në pset 7, i Përcjellin përdorues 1348 01:11:30,000 --> 01:11:35,000 prapa aty ku ata erdhën, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Gishtat e kaluar, përndryshe kjo do të jetë demo më zhgënjyese sot. 1350 01:11:38,000 --> 01:11:40,000 Këtu ne do të shkojmë. 1351 01:11:40,000 --> 01:11:42,000 Më lejoni të hapur kutinë time-mail për jharvard në Gmail. 1352 01:11:42,000 --> 01:11:44,000 Asnjë mail tani. Dakord. 1353 01:11:44,000 --> 01:11:53,000 Tani, më lejoni të hapur froshims3, e cila është shembulli i tretë dhe i fundit ne do të shohim në këtu. 1354 01:11:53,000 --> 01:11:55,000 Mirë, këtu ne do të shkojmë. 1355 01:11:55,000 --> 01:12:00,000 Nate, ai do të jetë, kapiteni mashkull, nga, të themi, Apley. 1356 01:12:00,000 --> 01:12:04,000 Regjistrohu. Mirë, ju jeni të regjistruar me të vërtetë. 1357 01:12:04,000 --> 01:12:07,000 Tani në qoftë se unë lëviz mbi të email-it tim, oh, Zoti im. 1358 01:12:07,000 --> 01:12:09,000 Unë kam vetëm një email dërguar dinamike në Web. 1359 01:12:09,000 --> 01:12:11,000 >> Le të largohen në atë shënim. 1360 01:12:11,000 --> 01:12:16,000 Një video është i afërt për ne leksion humbur. Shihemi javën e ardhshme. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]