1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Teden 8] 2 00:00:02,000 --> 00:00:04,000 [David J Malan] [Harvard University] 3 00:00:04,000 --> 00:00:07,000 [To je CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Dobrodošel nazaj. 5 00:00:09,000 --> 00:00:11,000 To je CS50, in to je začetek tedna 8. 6 00:00:11,000 --> 00:00:14,000 Nekaj ​​možnosti je ta teden 7 00:00:14,000 --> 00:00:17,000 Med njimi je ta pogovor tukaj, na katerem bodo nekaj hrane je treba vročiti. 8 00:00:17,000 --> 00:00:20,000 Za več podrobnosti si oglejte diapozitive, ki so na spletu. 9 00:00:20,000 --> 00:00:24,000 In še en dogodek, je ta teden z lastnim Thomas Carriero. 10 00:00:24,000 --> 00:00:27,000 On je eden od nekdanjih sodelavcev učnih CS50 za glavo, ki je zdaj na Dropbox, 11 00:00:27,000 --> 00:00:29,000 in on je tisti, ki nas je zasvojen z veš kaj, 12 00:00:29,000 --> 00:00:36,000 tako da če hočeš več tega glavo na svojem govoru danes popoldne za Dropbox in še več. 13 00:00:36,000 --> 00:00:38,000 CS50 kosilo je ta petek. 14 00:00:38,000 --> 00:00:41,000 Ali se nam pridružite, če ste lahko, 1:15, kot ponavadi, na ogenj in led. 15 00:00:41,000 --> 00:00:45,000 >> In zdaj smo se potopite v nekaj, kar ti seminarji. 16 00:00:45,000 --> 00:00:49,000 Naši CS50 Seminarji, pozive, so te neobvezne razredi pod vodstvom učnih štipendistov 17 00:00:49,000 --> 00:00:51,000 Tečaj in sodelavci in prijatelji seveda, 18 00:00:51,000 --> 00:00:55,000 Ljudje iz skupine na univerzi imenuje ABCD, ki je skupino 19 00:00:55,000 --> 00:00:58,000 tehnofili na univerzi, kot tudi skupina imenuje HCS, 20 00:00:58,000 --> 00:01:02,000 Harvard Computer Society, študenti, ki so prav tako zainteresirani za računalništvo. 21 00:01:02,000 --> 00:01:08,000 Roster Letošnji seminarji tudi seminarje na Android in iOS in JavaScript 22 00:01:08,000 --> 00:01:13,000 in PHP, Unix, Vim, in še več, da zavedaš, da ti seminarji prihajajo. 23 00:01:13,000 --> 00:01:16,000 Če želite RSVP za katerega koli od njih glavo na tem URL-ju tam. 24 00:01:16,000 --> 00:01:20,000 Nato bomo objavili na spletni strani seveda na čase in kraje, ko so zaključene. 25 00:01:20,000 --> 00:01:26,000 Ampak vem, tam je vredno 5 letošnji predhodnih seminarjev na voljo na spletu, 26 00:01:26,000 --> 00:01:29,000 od katerih so mnogi še vedno zelo veliko toka v smislu tehnologije, boste morda 27 00:01:29,000 --> 00:01:36,000 se rad igral z za vaše končnih projektov, tako da je za nekatere glavo na voljo video posnetki njih. 28 00:01:36,000 --> 00:01:39,000 >> CSS, tiste, ki so seznanjeni s CSS že 29 00:01:39,000 --> 00:01:42,000 Kaj je na kratko? 30 00:01:42,000 --> 00:01:45,000 Kaj je CSS? 31 00:01:45,000 --> 00:01:48,000 To je Cascading Style Sheets, in kaj to pomeni? 32 00:01:48,000 --> 00:01:53,000 Kaj naj bi to naredil za nas, CSS? 33 00:01:53,000 --> 00:01:57,000 V redu, dajmo se ogreje z lažjim 1, HTML hypertext markup jezika. 34 00:01:57,000 --> 00:02:01,000 Kaj naj bi to naredil za nas? 35 00:02:01,000 --> 00:02:04,000 Kogarkoli? 36 00:02:04,000 --> 00:02:07,000 To je že res nerodno temi vprašanji. 37 00:02:07,000 --> 00:02:11,000 HTML hypertext markup language. 38 00:02:11,000 --> 00:02:14,000 Ja? Ne? 39 00:02:14,000 --> 00:02:17,000 [Neslišno študentski odziv] 40 00:02:17,000 --> 00:02:20,000 Dobro, dobro, to nam omogoča, da označite besedilo za prikaz v spletnem brskalniku. 41 00:02:20,000 --> 00:02:22,000 To ni programski jezik. 42 00:02:22,000 --> 00:02:25,000 To je res označevalni jezik, kar pomeni, da navodilo, kako brskalnik prikaže 43 00:02:25,000 --> 00:02:28,000 informacije, zato najpreprostejši inkarnacijo to, kot smo videli 44 00:02:28,000 --> 00:02:32,000 je nekaj super enostavno, kot boldfacing, oklepaj b zaprti oklepaj pravi 45 00:02:32,000 --> 00:02:36,000 da to besedilo krepko, in to je pravzaprav le ena od mnogih načinov 46 00:02:36,000 --> 00:02:39,000 , v katerem lahko storimo, da, in res, te dni boljši pristop 47 00:02:39,000 --> 00:02:42,000 da stylizing vašo spletno stran, tako da se stvari krepko in ležeče 48 00:02:42,000 --> 00:02:47,000 in osredotočen in utemeljiti in podobno, se ne izvaja prek oznake HTML sami 49 00:02:47,000 --> 00:02:51,000 ampak s tehniko, imenovano CSS, kaskadnih slogov. 50 00:02:51,000 --> 00:02:53,000 To je jezik zase. 51 00:02:53,000 --> 00:02:55,000 To tudi ni programski jezik, ampak, 52 00:02:55,000 --> 00:02:58,000 vsi, to je Dan, ki ohranja nam pridružite še danes. 53 00:02:58,000 --> 00:03:01,000 Nekatere tehnične težave. Ni problem. 54 00:03:01,000 --> 00:03:04,000 >> CSS nam omogoča, da Stilizovati stran 55 00:03:04,000 --> 00:03:07,000 z vzpostavitvijo tako imenovane lastnosti, tako da je lahko pogled na to 56 00:03:07,000 --> 00:03:09,000 s pomočjo nekaterih osnovnih primerov. 57 00:03:09,000 --> 00:03:12,000 Naj gredo v aparat danes. 58 00:03:12,000 --> 00:03:15,000 Imam izvorno 8 ponedeljek imenik tukaj, 59 00:03:15,000 --> 00:03:18,000 in jaz grem v mapi CSS, kjer imamo cel kup 60 00:03:18,000 --> 00:03:21,000 datotek, ki čakajo na nas tukaj, 61 00:03:21,000 --> 00:03:27,000 in v tej mapi imamo, na primer, search0.html v zadnjem času. 62 00:03:27,000 --> 00:03:31,000 Zdaj, opozarjajo s search0 smo odšli na to opombo 63 00:03:31,000 --> 00:03:35,000 z neke vrste uporabo Google ali res samo sprednji konec za to je teden dni nazaj, 64 00:03:35,000 --> 00:03:38,000 in ugotovili, da smo imeli nekaj novih oznak tam. 65 00:03:38,000 --> 00:03:41,000 Imeli smo h1 za velik, krepko naslovom, 66 00:03:41,000 --> 00:03:45,000 obrazec, ki nam je omogočilo, da bi dejansko imeli HTML obrazec za vnos uporabnika. 67 00:03:45,000 --> 00:03:48,000 Tožba, kakšen je bil pomen akcijskega atributa 68 00:03:48,000 --> 00:03:52,000 na oznako HTML obliki? 69 00:03:52,000 --> 00:03:58,000 Kakšen je bil pomen tega, ukrepanje? 70 00:03:58,000 --> 00:04:00,000 Pravkar bom naredil danes. 71 00:04:00,000 --> 00:04:03,000 Akcija je kraj, kjer se bo obrazec je treba predložiti. 72 00:04:03,000 --> 00:04:07,000 Dejstvo, da je ta pravi action = "google.com / search" 73 00:04:07,000 --> 00:04:10,000 pomeni, da ko uporabnik klikne gumb za pošiljanje ali enakovredno 74 00:04:10,000 --> 00:04:14,000 ne glede na obliko polja se izpolnijo se bodo ne pošlje na naš strežnik 75 00:04:14,000 --> 00:04:17,000 ali naše naprave, temveč za to določen URL na Googlu. 76 00:04:17,000 --> 00:04:19,000 In način, da bo uporaba pozval dobil, 77 00:04:19,000 --> 00:04:25,000 in se, za zdaj, je samo tehnika za posredovanje informacij skupaj na spletni strežnik 78 00:04:25,000 --> 00:04:29,000 prek URL-ja, tako da je na hitro pogledamo nazaj, kako to deluje. 79 00:04:29,000 --> 00:04:31,000 >> Obvestilo, da je vložek, katerega ime je q 80 00:04:31,000 --> 00:04:35,000 katerih tip je besedilo in nato drugi vhod tipa predloži 81 00:04:35,000 --> 00:04:39,000 katerih vrednost je CS50 iskanje, in seveda, če bomo odprli to datoteko tukaj, 82 00:04:39,000 --> 00:04:42,000 search0.html, to je super preprosta oblika, 83 00:04:42,000 --> 00:04:45,000 in če iščem nekaj podobnega računalništvu 84 00:04:45,000 --> 00:04:50,000 in nato pritisnite tipko Enter ali kliknite na CS50 Iskanje 85 00:04:50,000 --> 00:04:53,000 opazite, da kaj se zgodi, je po prihodu v Googlu 86 00:04:53,000 --> 00:04:56,000 Sem izrecno pristal na tem naslovu na vrhu, 87 00:04:56,000 --> 00:05:01,000 google.com / search q =? računalnik + znanost, 88 00:05:01,000 --> 00:05:04,000 in računalništvo je očitno tisto, kar sem vtipka 89 00:05:04,000 --> 00:05:06,000 + Pomeni samo, da je, kjer je presledek, 90 00:05:06,000 --> 00:05:10,000 in je to storjeno z brskalnikom samo, da se prepričajte, da ni 91 00:05:10,000 --> 00:05:13,000 zmedenost in prazen prostor v dejanski URL. 92 00:05:13,000 --> 00:05:15,000 In potem q, seveda, je parameter ime. 93 00:05:15,000 --> 00:05:20,000 Nismo videli, kako smo, programer, lahko dejansko dostop q še. 94 00:05:20,000 --> 00:05:23,000 Domnevamo lahko, da Google ve, kaj storiti s to tukaj, 95 00:05:23,000 --> 00:05:25,000 ampak bomo prišli tja pravočasno danes. 96 00:05:25,000 --> 00:05:30,000 >> Ampak, dovolite mi, da si namesto na search1.html, 97 00:05:30,000 --> 00:05:34,000 ki izgleda nekoliko drugače, saj sem se odločila, da je bila ta oblika tukaj samo malo čudno. 98 00:05:34,000 --> 00:05:36,000 Mislim, da je v zgornjem levem kotu. 99 00:05:36,000 --> 00:05:40,000 Tam je res ni estetika z njim, zato želim to Stilizovati 100 00:05:40,000 --> 00:05:43,000 malo več, kot so Google, čigar spletna stran, odpoklic, 101 00:05:43,000 --> 00:05:47,000 čeprav morda ne boste ga obiščete, ki pogosto izgleda tako danes na noč čarovnic. 102 00:05:47,000 --> 00:05:53,000 Če bomo namesto tega odprli različica 1 te datoteke, iskanje 1.html, sem jo na sredino. 103 00:05:53,000 --> 00:05:57,000 Še vedno zelo grdo, ampak vsaj zdaj sem se začela nadzirati estetiko tej strani 104 00:05:57,000 --> 00:06:00,000 ne samo označevanje spremljanje. 105 00:06:00,000 --> 00:06:04,000 Oglejmo si na iskanje 1, in tam je res samo ena razlika tukaj, 106 00:06:04,000 --> 00:06:06,000 ki lahko skoči ven na vas, ali pa tudi ne, 107 00:06:06,000 --> 00:06:11,000 kaj pa je ena vrstica ali košček razlike? 108 00:06:11,000 --> 00:06:14,000 >> Tam je ta stil lastnost, da se izkaže, da je v HTML 109 00:06:14,000 --> 00:06:19,000 večina elementov, večina oznake so slog atribut na njih, 110 00:06:19,000 --> 00:06:23,000 in znotraj tega stila atributa je naveden niz 111 00:06:23,000 --> 00:06:26,000 in ki je navedena niz je CSS. 112 00:06:26,000 --> 00:06:29,000 Vi lahko postavite kaskadno slog stanja tam 113 00:06:29,000 --> 00:06:32,000 ki jih je opredelila kot nepremičnino ime 114 00:06:32,000 --> 00:06:34,000 sledi dvopičje sledi vrednost. 115 00:06:34,000 --> 00:06:37,000 To je neke vrste nesrečnih odločitev projektiranja pred nekaj leti 116 00:06:37,000 --> 00:06:40,000 CSS je, da je jezik zase, 117 00:06:40,000 --> 00:06:43,000 ampak sintaktično je zelo drugačen od HTML. 118 00:06:43,000 --> 00:06:46,000 V tem primeru vidimo, da je notranjost moje spletne strani, ki je napisana v HTML, 119 00:06:46,000 --> 00:06:51,000 Imam CSS znotraj teh ponudb, in konvencija za CSS 120 00:06:51,000 --> 00:06:55,000 je, da imate vse, kar se imenuje lastnost, ki ji sledi, spet, debelega črevesa, 121 00:06:55,000 --> 00:06:58,000 sledi vrednost teh nepremičnin, tako da ni enačaj. 122 00:06:58,000 --> 00:07:00,000 Ni nobenih dodatnih narekovajev. 123 00:07:00,000 --> 00:07:03,000 To je samo to dvopičji ločen ključna vrednota par, 124 00:07:03,000 --> 00:07:05,000 in besedilo linija počne točno tisto, kar piše. 125 00:07:05,000 --> 00:07:09,000 To uskladi besedilo v telo strani, ki je res poguma strani, 126 00:07:09,000 --> 00:07:11,000 v centru. 127 00:07:11,000 --> 00:07:13,000 >> Ok, končni rezultat pa, da je jasno, je to. 128 00:07:13,000 --> 00:07:17,000 Ni vse, da bolj seksi, ampak vsaj je bilo na sredini in malo več kot pravi Google. 129 00:07:17,000 --> 00:07:21,000 Kaj pa, če bi namesto tega odprla različico 2 tega 130 00:07:21,000 --> 00:07:25,000 in poudarjajo, dol novo oznako v celoti? 131 00:07:25,000 --> 00:07:30,000 Zdaj v glavi moji strani, ki je prej imel le oznaka, ki 132 00:07:30,000 --> 00:07:32,000 v vseh prejšnjih primerih? 133 00:07:32,000 --> 00:07:34,000 Prav tako je to naslov. 134 00:07:34,000 --> 00:07:38,000 Pred nekaj trenutki glavo tag videti takole. 135 00:07:38,000 --> 00:07:40,000 Zdaj, namesto da ima slog oznake notranjosti njo, 136 00:07:40,000 --> 00:07:44,000 in tudi to, se opravičujem, sintaktično izgleda zelo razlikuje od HTML, 137 00:07:44,000 --> 00:07:47,000 vendar se navadiš nanj, pri čemer notranjost slog oznake 138 00:07:47,000 --> 00:07:50,000 Sedaj lahko dejavnik, kaj je bilo pred nekaj trenutki 139 00:07:50,000 --> 00:07:54,000 atribut, slog atribut, in sem lahko dal na sam vrh moji strani. 140 00:07:54,000 --> 00:07:56,000 >> Zakaj? 141 00:07:56,000 --> 00:08:00,000 No, to je korak k čiščenju stvari, podobno kot v pisni obliki C kodo 142 00:08:00,000 --> 00:08:04,000 mi bi včasih napisal funkcije za faktor od skupno delovanje. 143 00:08:04,000 --> 00:08:07,000 To je samo malo čistilo za začetek faktoringa od stvari, kot so estetika 144 00:08:07,000 --> 00:08:11,000 na enem mestu, kot pa da imajo vse Razasuti v vašem HTML. 145 00:08:11,000 --> 00:08:14,000 Tudi to ne, kaj pa pravi, čeprav je malo novega sintakse. 146 00:08:14,000 --> 00:08:19,000 Tole je selektor in telo pomeni le, da izberete element telesa 147 00:08:19,000 --> 00:08:21,000 in uporabljajo naslednje lastnosti z njo. 148 00:08:21,000 --> 00:08:23,000 No, hotel je popolnoma enak. 149 00:08:23,000 --> 00:08:25,000 Za dobro mero sem dodal podpičje na koncu, 150 00:08:25,000 --> 00:08:29,000 kar kaže, da je konvencija, in sem zavit vso to lastnost 151 00:08:29,000 --> 00:08:33,000 v zavitih oklepajih, ker sem dejansko imajo različne stvari tukaj. 152 00:08:33,000 --> 00:08:39,000 Lahko bi rekla kaj takega dejansko barvo: modra; 153 00:08:39,000 --> 00:08:42,000 >> Zdaj tudi to ne bo korak v smeri kaj vse to lepše, 154 00:08:42,000 --> 00:08:47,000 če pa sem zdaj šla nazaj na različico 2 sem zdaj vsaj na moje telo 155 00:08:47,000 --> 00:08:49,000 Stran je besedilo vse modro. 156 00:08:49,000 --> 00:08:51,000 Gumb ostane enak, ker je to vhod. To ni čisto besedilo. 157 00:08:51,000 --> 00:08:56,000 Ampak vse ostalo, da je besedilo, kot CS50 Search do vrha, je v modri barvi dejstvo. 158 00:08:56,000 --> 00:09:01,000 Še enkrat, vse kar smo storili, je zdaj odstraniti iz telesa oznako, obvestilo, 159 00:09:01,000 --> 00:09:04,000 slog atribut, mi pa smo ga izoblikoval tukaj. 160 00:09:04,000 --> 00:09:08,000 To ni velik napredek, ampak če bomo to še korak dlje 161 00:09:08,000 --> 00:09:10,000 opazili, kaj lahko naredimo v tej tretji različici tukaj. 162 00:09:10,000 --> 00:09:14,000 >> V search3.html spletna stran je skoraj identičen 163 00:09:14,000 --> 00:09:17,000 razen za tisto novo oznako zdaj? 164 00:09:17,000 --> 00:09:20,000 Link, tako da se ta ne preveč posrečeno imenuje 165 00:09:20,000 --> 00:09:24,000 ker si ne povezuje v smislu klikniti hiperpovezave. 166 00:09:24,000 --> 00:09:28,000 Namesto, da si neke vrste početje enakovredno vključujejo v C # 167 00:09:28,000 --> 00:09:31,000 pri čemer link tag z href atribut 168 00:09:31,000 --> 00:09:34,000 in rel atribut pravi, pojdi 169 00:09:34,000 --> 00:09:39,000 in kopijo prilepite vsebino v datoteki z imenom search3.css tukaj, v bistvu. 170 00:09:39,000 --> 00:09:42,000 To ni čisto naredil, ampak to je duh tega. 171 00:09:42,000 --> 00:09:45,000 Pravi, da gre odprto datoteko, search3.css, 172 00:09:45,000 --> 00:09:49,000 in ga obravnavajo, kot da bi si jo vnesli tukaj, v glavi strani 173 00:09:49,000 --> 00:09:51,000 tako kot sem v prejšnjem primeru. 174 00:09:51,000 --> 00:09:54,000 Search3.css, medtem, je zelo preprosta. 175 00:09:54,000 --> 00:09:58,000 Je res samo vsebuje točno to, kar je pred nekaj trenutki 176 00:09:58,000 --> 00:10:03,000 v stilu oznako, vendar sem izoblikoval ga tukaj v svojo datoteko. 177 00:10:03,000 --> 00:10:07,000 >> Čeprav nismo porabili veliko časa sploh v HTML ali web programiranje 178 00:10:07,000 --> 00:10:11,000 samo intuitivno, kaj je motivacija, morda za faktoring iz 179 00:10:11,000 --> 00:10:14,000 ta majhen delček še CSS v svojo datoteko 180 00:10:14,000 --> 00:10:19,000 in ga nato tudi s to oznako povezava tukaj? 181 00:10:19,000 --> 00:10:21,000 [Neslišno študentski odziv] 182 00:10:21,000 --> 00:10:25,000 Ok, to je lažje brati v smislu, da imate v CSS CSS datoteko. 183 00:10:25,000 --> 00:10:28,000 Imaš svoj HTML v datoteko HTML, tako da je bolj berljivo v tem smislu. 184 00:10:28,000 --> 00:10:30,000 Kaj drugega bi lahko izsiljevala? Ja. 185 00:10:30,000 --> 00:10:32,000 [Neslišno študentski odziv] 186 00:10:32,000 --> 00:10:35,000 Ja, tako da lahko tudi že velikokrat, tako da zdaj delamo to 187 00:10:35,000 --> 00:10:38,000 Osnovni primeri s posameznih datotek, ampak predvidevam, da ste dejansko pripravi 188 00:10:38,000 --> 00:10:42,000 pravi spletni strani, kot si bodo za pset 7 ali vaš končni projekt morda, 189 00:10:42,000 --> 00:10:45,000 in če želite imeti več spletnih strani, kot je vsekakor značilna za 190 00:10:45,000 --> 00:10:48,000 dejanska Wide Web svetovni, in da bi bilo nekako hromi 191 00:10:48,000 --> 00:10:52,000 da so za kopiranje in lepljenje isto modro barvo 192 00:10:52,000 --> 00:10:56,000 in enako besedilo poravnano center, v vsakem od teh strani. 193 00:10:56,000 --> 00:10:59,000 Namesto tega je bolj smiselno, da faktor ven, tako kot smo naredili v C 194 00:10:59,000 --> 00:11:02,000 z datoteko. h, ga v enem osrednjem mestu, 195 00:11:02,000 --> 00:11:06,000 v tem primeru search3.css in počakajte, da vse datoteke 196 00:11:06,000 --> 00:11:11,000 v vašo spletno stran, da bi dejansko tudi to datoteko s pomočjo te oznake tukaj v vrstico 16. 197 00:11:11,000 --> 00:11:14,000 Kot je značilno, smo začeli z različico 0, katere vrste dela 198 00:11:14,000 --> 00:11:18,000 vendar ni nujno najboljši, in z vsakim korakom, 199 00:11:18,000 --> 00:11:21,000 iskanje 1, iskanje 2, 3 in zdaj iskanje smo sprejeti teh baby korake 200 00:11:21,000 --> 00:11:26,000 proti modelov, ki so nekoliko čistejši in bolj pripravljalni 201 00:11:26,000 --> 00:11:30,000 za bolj zapletene strani, ki bi lahko počnemo po cesti. 202 00:11:30,000 --> 00:11:33,000 >> Naj odprla še zadnji primer tukaj samo za prikaz 203 00:11:33,000 --> 00:11:36,000 še bolj stiliziran stran, ampak najprej poglejmo HTML. 204 00:11:36,000 --> 00:11:41,000 To je search4.html in opazil, da je strukturno skoraj enako 205 00:11:41,000 --> 00:11:44,000 razen za uvedbo nove oznake, div. 206 00:11:44,000 --> 00:11:48,000 Div je oznaka, ki uvaja razmejitev strani. 207 00:11:48,000 --> 00:11:51,000 Si lahko zamislite, da je to nevidno pravokotnika. 208 00:11:51,000 --> 00:11:54,000 Ta vrsta ustvarja plasti površine v spletni 209 00:11:54,000 --> 00:11:56,000 da lahko Stilizovati naenkrat. 210 00:11:56,000 --> 00:11:58,000 Kar sem tukaj naredil, je, kot sledi. 211 00:11:58,000 --> 00:12:01,000 Znotraj mojega telesa oznako, ki je bil tam ves čas, 212 00:12:01,000 --> 00:12:05,000 Pravim, da ustvarite delitev strani tukaj preko linije 45 do 47, 213 00:12:05,000 --> 00:12:09,000 kar pomeni, da v bistvu mi nevidni pravokotnik na vrhu strani. 214 00:12:09,000 --> 00:12:14,000 Potem pa daj mi še eno pravokotnik, čeprav je nevidna, ki je nižja, 215 00:12:14,000 --> 00:12:16,000 in ga označiti z imenom vsebino, nato pa na koncu, 216 00:12:16,000 --> 00:12:19,000 dajte mi 1/3 delitev strani na dnu 217 00:12:19,000 --> 00:12:21,000 imenovano ID. 218 00:12:21,000 --> 00:12:23,000 Bomo videli, zakaj sem to storil vsak trenutek, 219 00:12:23,000 --> 00:12:26,000 vendar konceptualno imam glavo delitev. 220 00:12:26,000 --> 00:12:30,000 Imam vsebine delitev in imam noge delitev strani 221 00:12:30,000 --> 00:12:32,000 čeprav so to samo v oznakami. 222 00:12:32,000 --> 00:12:35,000 Uporabnik ne bo videl 3 pravokotnike, 223 00:12:35,000 --> 00:12:37,000 ampak nekako strukturno tam v ozadju 224 00:12:37,000 --> 00:12:39,000 oni so dejansko prisotne. 225 00:12:39,000 --> 00:12:41,000 >> Torej, koga briga? Zakaj pravzaprav to? 226 00:12:41,000 --> 00:12:43,000 Vse ostalo na strani je enaka kot smo videli prej. 227 00:12:43,000 --> 00:12:47,000 Tukaj je moja obliki. Tu je moj prispevek, moj prispevek, prelom vrstice in tako naprej. 228 00:12:47,000 --> 00:12:50,000 Tukaj je slika, čeprav, tako da bomo videli, kje je to prišlo v trenutku. 229 00:12:50,000 --> 00:12:52,000 Tukaj je noga, ki je nov, samo zato, ker sem želel, da uvede 230 00:12:52,000 --> 00:12:54,000 nekaj več vsebin tukaj. 231 00:12:54,000 --> 00:12:58,000 Če bomo opazili, da se pomaknete navzgor ID te div je glava. 232 00:12:58,000 --> 00:13:02,000 Identifikacijska tega div je vsebina, in ID ta je nogo. 233 00:13:02,000 --> 00:13:05,000 In kot že ime pove, če imate osebno lastnost 234 00:13:05,000 --> 00:13:09,000 v HTML, po definiciji mora enolično identifikacijo 235 00:13:09,000 --> 00:13:12,000 eden izmed elementov, ena od oznak na vaši strani. 236 00:13:12,000 --> 00:13:16,000 Breme je popolnoma na vas, da se spomnite, da imate v glavi že ID. 237 00:13:16,000 --> 00:13:19,000 Imate nogo. Imate že Content ID. 238 00:13:19,000 --> 00:13:22,000 Računalnik ne bo ugotoviti, kaj je na voljo številka je za vas, 239 00:13:22,000 --> 00:13:27,000 tako da bi lahko po nesreči dal 2 tags ID za glavo, 240 00:13:27,000 --> 00:13:29,000 in da bo ravno narobe. 241 00:13:29,000 --> 00:13:31,000 >> Imate v mislih to, kar ste ustvarili, 242 00:13:31,000 --> 00:13:34,000 ampak ko ste storili to obvestilo, kaj lahko naredimo tukaj. 243 00:13:34,000 --> 00:13:38,000 Zdaj lahko določite v mojem stilu oznako na vrhu 244 00:13:38,000 --> 00:13:41,000 ali enakovredno v datoteki CSS, če sem še vedno uporabljajo to različico, 245 00:13:41,000 --> 00:13:46,000 Lahko rečem # glavo, in kaj to pomeni, da ne glede na oznako 246 00:13:46,000 --> 00:13:49,000 V tej spletni strani ima ID za glavo 247 00:13:49,000 --> 00:13:53,000 in #, samo zaradi človeške konvencije, zastopa ID. 248 00:13:53,000 --> 00:13:56,000 Močno znak ali lojtra predstavlja ID. 249 00:13:56,000 --> 00:13:58,000 Glava je ime, ki sem ga dal. 250 00:13:58,000 --> 00:14:01,000 To pomeni, da uporablja nepremičnino CSS 251 00:14:01,000 --> 00:14:04,000 da ne glede na oznako na tej strani nosi ID glavo. 252 00:14:04,000 --> 00:14:06,000 Enako se ukvarjajo tukaj. 253 00:14:06,000 --> 00:14:09,000 Uporabi to lastnost, ki se zgodi, da je ista, za vsak sestavni del 254 00:14:09,000 --> 00:14:11,000 ID katerih je vsebina, nato pa dol 255 00:14:11,000 --> 00:14:14,000 Opazili sem malo Ljubitelj z nogo. 256 00:14:14,000 --> 00:14:18,000 Vsak element, katerega številka je noga, ki lahko obstaja samo ena po definiciji 257 00:14:18,000 --> 00:14:21,000 iti naprej in da je njegova velikost črk manjša, 258 00:14:21,000 --> 00:14:24,000 njegova teža pisavo krepko, 20 pik je stopnja. 259 00:14:24,000 --> 00:14:26,000 >> Kaj to pomeni? 260 00:14:26,000 --> 00:14:28,000 To je le stopnja na vrhu, na dnu, levo in desno. 261 00:14:28,000 --> 00:14:31,000 To pomeni, da mi 20-pixel nevidni kapital okoli njega 262 00:14:31,000 --> 00:14:35,000 Samo za potiskanje vse ostalo od nje malo, kot lahko naredite v Wordu, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word ali spletnih strani in podobno. 264 00:14:37,000 --> 00:14:39,000 In potem besedilo uskladiti center. 265 00:14:39,000 --> 00:14:43,000 Poglejmo na končni rezultat, potem pa se bomo vrnili do edino preostalo odrezek CSS tam. 266 00:14:43,000 --> 00:14:48,000 To je različica 4, naš zadnji za iskanje primerov, in to je veliko, veliko bolj seksi. 267 00:14:48,000 --> 00:14:54,000 Zdaj, v poštenosti, sem Googled "Google generator pisave logotip." 268 00:14:54,000 --> 00:14:58,000 In to mi je omogočila ustvarjanje GIF, slika obliko, ki izgleda kot da je tam. 269 00:14:58,000 --> 00:15:00,000 V bistvu, lahko to storite tudi. 270 00:15:00,000 --> 00:15:03,000 Imamo "Google pisave logo generator." 271 00:15:03,000 --> 00:15:05,000 >> Poglejmo, če lahko to naredimo. 272 00:15:05,000 --> 00:15:07,000 V redu, mislim, da je na spletni strani sem. 273 00:15:07,000 --> 00:15:11,000 Lahko rečemo, ES 10, na primer, in da jim sami. 274 00:15:11,000 --> 00:15:13,000 Igrate lahko s tem ves dan in nato z desno kliknite nanjo 275 00:15:13,000 --> 00:15:16,000 in nato naložite dejansko GIF, ki je vse, kar sem storil. 276 00:15:16,000 --> 00:15:19,000 In res, zato v mojem HTML spomnim, sem 277 00:15:19,000 --> 00:15:22,000 Imel sem oznako slike, ki smo jih videli na kratko prejšnji teden 278 00:15:22,000 --> 00:15:24,000 , katerega vir je logo.gif. 279 00:15:24,000 --> 00:15:28,000 In kaj je še bil razlog za to imajo atribut ALT, 280 00:15:28,000 --> 00:15:31,000 ta alternativa atribut? 281 00:15:31,000 --> 00:15:33,000 Ja. 282 00:15:33,000 --> 00:15:35,000 [Neslišno študentski odziv] 283 00:15:35,000 --> 00:15:37,000 Dobro, torej 2 razlogi res, če brskalnik ne more dvigniti sliko 284 00:15:37,000 --> 00:15:40,000 ker imate počasno povezavo z omrežjem, ali je slika poškodovana 285 00:15:40,000 --> 00:15:44,000 ali kaj podobnega, vsaj lahko človeško glejte "CS50 iskanje" 286 00:15:44,000 --> 00:15:46,000 , nato pa tudi zaradi dostopnosti. 287 00:15:46,000 --> 00:15:48,000 Če imate uporabnika, ki je slep in uporabljate bralnik zaslona 288 00:15:48,000 --> 00:15:50,000 in zato seveda ne more videti slik, ki jih lahko vsaj 289 00:15:50,000 --> 00:15:52,000 slišite besedilo, če je njihov računalnik ga govori z njimi. 290 00:15:52,000 --> 00:15:56,000 >> Na splošno je to najboljša praksa, ko gre za dostopnosti strani 291 00:15:56,000 --> 00:16:00,000 tako, da lahko tudi uporabniki v tem primeru videli ali slišali, da se tako izrazim, 292 00:16:00,000 --> 00:16:03,000 kaj je to, da je na tvoji strani. 293 00:16:03,000 --> 00:16:05,000 Še ena stvar je, da sem tu 294 00:16:05,000 --> 00:16:09,000 kar je malo zanimiv, pa bomo videli več o tem v težave iz 7 295 00:16:09,000 --> 00:16:12,000 preko ene od kratkih hlač pod vodstvom enega izmed učnih štipendistov. 296 00:16:12,000 --> 00:16:15,000 Toda # vsebina se nanaša na oznako 297 00:16:15,000 --> 00:16:20,000 ID katerih je vsebina, ampak potem je presledek, nato pa je beseda vhod. 298 00:16:20,000 --> 00:16:25,000 No, kaj je zanimivo CSS je, da lahko 299 00:16:25,000 --> 00:16:29,000 nanašajo na oznake na strani nekakšno hierarhično 300 00:16:29,000 --> 00:16:33,000 in kaj je ta odlomek pomočjo CSS je bil tablico 301 00:16:33,000 --> 00:16:37,000 ID katerih je vsebina, in nato uporabite naslednje lastnosti 302 00:16:37,000 --> 00:16:42,000 za vse vhodne oznake, ki so potomci vsebin, 303 00:16:42,000 --> 00:16:44,000 to je, da so zamaknjena notri. 304 00:16:44,000 --> 00:16:48,000 Zamik, še enkrat, je pomembno le, da računalnik, ne na človeka, 305 00:16:48,000 --> 00:16:51,000 vendar imajo po konvenciji smo alinea stvari, ko gremo globlje v stran, 306 00:16:51,000 --> 00:16:54,000 To pomeni, da veljajo meje v 5 pik za vse vhodni element 307 00:16:54,000 --> 00:16:57,000 da je nekje v notranjosti ali ugnezden znotraj 308 00:16:57,000 --> 00:16:59,000  element, katerega številka je vsebina. 309 00:16:59,000 --> 00:17:01,000 >> Kdo je pa to nanaša? 310 00:17:01,000 --> 00:17:03,000 No, tam je pravzaprav le ti 2 fantje tukaj. 311 00:17:03,000 --> 00:17:05,000 Obvestilo, da je notranjost obliki obstaja 2 vhoda, 312 00:17:05,000 --> 00:17:07,000 kot je bilo v vseh teh primerih. 313 00:17:07,000 --> 00:17:11,000 Ampak obvestilo, da so ti 2 vhoda zgodi, da se v notranjosti ugnezdena, 314 00:17:11,000 --> 00:17:13,000 čeprav malo globlje, nekaj plasti zamika, 315 00:17:13,000 --> 00:17:16,000 Notranjost oznako, katere številka je vsebina. 316 00:17:16,000 --> 00:17:18,000 Kaj to pomeni? 317 00:17:18,000 --> 00:17:21,000 Če gremo v brskalniku, tu lahko vidite vedno tako malo- 318 00:17:21,000 --> 00:17:23,000 Naj povečavo, da je malo oblazinjenje med gumbom 319 00:17:23,000 --> 00:17:25,000 in med besedilno polje. 320 00:17:25,000 --> 00:17:27,000 >> Naj začasno Ugasnite. 321 00:17:27,000 --> 00:17:30,000 Naj grem do mojega CSS, in mi gredo naprej in tako 322 00:17:30,000 --> 00:17:34,000 spremenite stopnjo od 5 pik do 0 točk. 323 00:17:34,000 --> 00:17:37,000 Naj gredo naprej takrat in shranite datoteko, pojdite nazaj na iskalnik 324 00:17:37,000 --> 00:17:40,000 in osveži, in pazi na sredini strani. 325 00:17:40,000 --> 00:17:43,000 Vse, kar je dobil skupaj stisnjena, ko sem prvič stepeno ta primer navzgor 326 00:17:43,000 --> 00:17:46,000 Mislil sem, da je videti neumno z besedilno polje in nato gumb takoj pod njim. 327 00:17:46,000 --> 00:17:50,000 Želel sem pad je malo, zato sem predstavil marže. 328 00:17:50,000 --> 00:17:55,000 Kaj ne bo šlo v predavanju je šel skozi nekaj deset 329 00:17:55,000 --> 00:17:58,000 CSS lastnosti, ki obstajajo, ker, še enkrat, obstajajo stvari, kot so velikost črk, 330 00:17:58,000 --> 00:18:02,000 font teža, stopnja, besedilo uskladiti, in še nekaj deset drugih, 331 00:18:02,000 --> 00:18:06,000 in vam bomo sklicujejo na problem iz 7 različnih vaj spletne 332 00:18:06,000 --> 00:18:08,000 in reference, ki vam omogočajo, da poberem te stvari. 333 00:18:08,000 --> 00:18:10,000 Toda kaj je res pomembno ob koncu dneva 334 00:18:10,000 --> 00:18:12,000 >> je razumeti, kako se te stvari. 335 00:18:12,000 --> 00:18:15,000 Tudi, če imamo slog tag znotraj katerega 336 00:18:15,000 --> 00:18:19,000 Lahko greš selektorjev, vrsta identifikatorjev, ki določajo 337 00:18:19,000 --> 00:18:21,000 , za katere želite, da se te lastnosti, 338 00:18:21,000 --> 00:18:24,000 in potem daš lastnosti, kot para ključev vrednost 339 00:18:24,000 --> 00:18:28,000 ločeni z dvopičjem, nato pa se je končalo s podpičjem, 340 00:18:28,000 --> 00:18:32,000 ali lahko razporek vse to ven in ga dal v posebni datoteki CSS 341 00:18:32,000 --> 00:18:35,000 samo po sebi. 342 00:18:35,000 --> 00:18:39,000 V redu, na vsa vprašanja o konceptih 343 00:18:39,000 --> 00:18:41,000 ali velika slika CSS? 344 00:18:41,000 --> 00:18:43,000 Boste spet videli več od tega v pset 7, 345 00:18:43,000 --> 00:18:47,000 ampak bomo še naprej na splošno precej preprosto. 346 00:18:47,000 --> 00:18:49,000 Ne? V redu. 347 00:18:49,000 --> 00:18:51,000 To je čas za dejansko programskega jezika, 348 00:18:51,000 --> 00:18:54,000 in se vrnemo v malo CSS v obliki npr. 349 00:18:54,000 --> 00:18:58,000 PHP je pravzaprav nadvse dostopen jezik 350 00:18:58,000 --> 00:19:02,000 s tem da je sintaktično skoraj enaka C. 351 00:19:02,000 --> 00:19:06,000 Z drugimi besedami, če veste, C, veste, za večino del PHP, 352 00:19:06,000 --> 00:19:08,000 vsaj sintaktično, čeprav so nekatere nove funkcije 353 00:19:08,000 --> 00:19:10,000 in bomo nekaj novih konceptov moramo gledati. 354 00:19:10,000 --> 00:19:13,000 >> Toda za večino del, zdaj, ko smo prehod iz C v PHP 355 00:19:13,000 --> 00:19:16,000 večina novih stvari je res v veliko sliko, 356 00:19:16,000 --> 00:19:19,000 kako uporabiti jezik za program, na spletu, v nasprotju z 357 00:19:19,000 --> 00:19:23,000 v ukazni vrstici ali utripa hitro, kot smo počeli doslej. 358 00:19:23,000 --> 00:19:27,000 Za referenco, zlasti pset 7 in končnega projektnega dalje, 359 00:19:27,000 --> 00:19:31,000 Ne izkoristite ta URL tukaj, če želite prebrati gor na formalnosti PHP. 360 00:19:31,000 --> 00:19:34,000 To je dejansko všeč prost online učbenika učinkovito, 361 00:19:34,000 --> 00:19:37,000 in boste tudi ugotovili, da je tisto, kar res lepo PHP 362 00:19:37,000 --> 00:19:41,000 je, da obstaja na stotine funkcij, ki prihajajo z njim, 363 00:19:41,000 --> 00:19:44,000 ker je v C-ti niso nujno imeti dostop do 364 00:19:44,000 --> 00:19:47,000 Več funkcij kot so bili v matematiki knjižnice, CS50 knjižnica. 365 00:19:47,000 --> 00:19:51,000 V PHP in veliko modernih jezikov, Python in Ruby med njimi, 366 00:19:51,000 --> 00:19:54,000 boste dobili dostop do tako veliko več funkcij, kar pomeni, da boste dobili, da napišete 367 00:19:54,000 --> 00:19:57,000 veliko manj kode, saj lahko stojijo na ramenih drugih ljudi 368 00:19:57,000 --> 00:19:59,000 ki so že napisal nekaj stvari za vas. 369 00:19:59,000 --> 00:20:03,000 >> Oglejmo si kratko predstavitev skladnje PHP in napišite nekaj primerov. 370 00:20:03,000 --> 00:20:06,000 Kaj je lepo o PHP v prvi vrsti 371 00:20:06,000 --> 00:20:08,000 se ni glavna funkcija. 372 00:20:08,000 --> 00:20:10,000 Če želite napisati program v PHP ste ga pravkar začeli pisati kodo, 373 00:20:10,000 --> 00:20:12,000 in vam ni treba skrbeti za glavni. 374 00:20:12,000 --> 00:20:14,000 Ni int. Ni vrnitve. 375 00:20:14,000 --> 00:20:17,000 Ni argv, argc, ki je potrebna, ko pišete program. 376 00:20:17,000 --> 00:20:20,000 Nasprotno lahko samo začnete pisati kodo, in to je deloma 377 00:20:20,000 --> 00:20:23,000 ker PHP je tisto, kar se imenuje razlaga jezik. 378 00:20:23,000 --> 00:20:26,000 C je bil sestavljen, in to je bila izdelana v smislu, da začnete 379 00:20:26,000 --> 00:20:29,000 z izvorno kodo, prost dostop do Jek, ki je prevajalnik, 380 00:20:29,000 --> 00:20:33,000 in na koncu po nekaj več korakov, ki jih dobite predmetne kode, 0 in 1 sekundo. 381 00:20:33,000 --> 00:20:36,000 PHP in Python in Ruby in Pearl in drugi 382 00:20:36,000 --> 00:20:39,000 različne vrste jezikov, ki jih ne pripravijo. 383 00:20:39,000 --> 00:20:42,000 Saj ne gre iz izvorne kode v 0s in 1s. 384 00:20:42,000 --> 00:20:45,000 Pravkar ste teči izvorno kodo in zaženete izvorno kodo 385 00:20:45,000 --> 00:20:49,000 s pisanjem na običajen besedilno datoteko, ki se konča v. php v tem primeru 386 00:20:49,000 --> 00:20:53,000 namesto c,. in kaj je program na vašem računalniku 387 00:20:53,000 --> 00:20:57,000 je dobesedno razume svojo kodo po vrsticah z vrvico. 388 00:20:57,000 --> 00:21:00,000 >> Z drugimi besedami, namesto da napišemo program in zaženite program 389 00:21:00,000 --> 00:21:04,000 neposredno namesto tega napisati program z datoteko s končnico. php. 390 00:21:04,000 --> 00:21:09,000 Nato zaženete dejansko program, imenovan php.exe, če ste v operacijskem sistemu Windows, 391 00:21:09,000 --> 00:21:12,000 ali pa samo PHP, če ste na Mac OS in Linux 392 00:21:12,000 --> 00:21:17,000 in si zagotovi kot prispevek k programu PHP svoje izvorne kode, 393 00:21:17,000 --> 00:21:20,000 in njegov namen v življenju je, da se glasi svojo kodo zgoraj navzdol, od leve proti desni 394 00:21:20,000 --> 00:21:23,000 in ne glede na to, da ste povedali, da ne. 395 00:21:23,000 --> 00:21:25,000 >> Poglejmo, kaj se dogaja, da sintaktično pomeni. 396 00:21:25,000 --> 00:21:27,000 V PHP imamo pogoje. 397 00:21:27,000 --> 00:21:29,000 Ta stran je enaka kot tisto, kar ste videli že v 1. tednu 398 00:21:29,000 --> 00:21:33,000 ker je sintaktično pogoji, IFS in drugod IFS in drugje v PHP 399 00:21:33,000 --> 00:21:35,000 videti natanko tako. 400 00:21:35,000 --> 00:21:38,000 Ko gre za matematičnih izrazov, da boš izgledala natanko tako, kot je ta. 401 00:21:38,000 --> 00:21:43,000 Ko gre za anding stvari skupaj, kot booleans da se bo izgledala natanko tako, kot je ta. 402 00:21:43,000 --> 00:21:46,000 Stikala videti enako, in dobili boste dodatno prednost v PHP 403 00:21:46,000 --> 00:21:51,000 da preklopi v C lahko samo vklopimo ali char int. 404 00:21:51,000 --> 00:21:53,000 Ne moreš vklopiti niza vrednosti. 405 00:21:53,000 --> 00:21:55,000 V PHP lahko dejansko ima izraz 406 00:21:55,000 --> 00:21:58,000 da je spremenljivka, katere vsebina je niz, 407 00:21:58,000 --> 00:22:01,000 in lahko dejansko narediti primerjavo niza v realno intuitiven način, 408 00:22:01,000 --> 00:22:06,000 ne primerjave kazalec, da se odločijo, ali bodo to zadevo i ali j ali kaj drugega. 409 00:22:06,000 --> 00:22:09,000 Bomo videli, da bi lahko kmalu. 410 00:22:09,000 --> 00:22:11,000 >> Loops tudi čudovito enaki. 411 00:22:11,000 --> 00:22:15,000 Za zanke imajo inicializacijo, kar je pogoj, in nekaj več novosti. 412 00:22:15,000 --> 00:22:18,000 Čeprav obstajajo tudi zanke v PHP. 413 00:22:18,000 --> 00:22:21,000 Ali pa obstaja tudi zanke v PHP, 414 00:22:21,000 --> 00:22:26,000 in nizi obstajajo v PHP, ampak tukaj je, kjer je sintaksa začne, da bi dobili malo drugačen, 415 00:22:26,000 --> 00:22:29,000 vendar koncept je enak, in koncepti so res enaki 416 00:22:29,000 --> 00:22:32,000 kot so bili v tednu 0 s Scratch. 417 00:22:32,000 --> 00:22:34,000 V prvi vrsti je znak $. 418 00:22:34,000 --> 00:22:37,000 To je bilo oblikovanje odločitev v PHP, pri čemer vsaka spremenljivka 419 00:22:37,000 --> 00:22:41,000 v PHP pri načrtovanju se začne z znakom $. 420 00:22:41,000 --> 00:22:46,000 Nič več X, Y, Z. To je sedaj $ x, $ Y $ Z samo zato, ker. 421 00:22:46,000 --> 00:22:49,000 To je nekaj, da v mislih, zdaj pa na desni strani 422 00:22:49,000 --> 00:22:52,000 To je podobna matriki, 423 00:22:52,000 --> 00:22:54,000 vendar smo z oglatimi oklepaji tukaj. 424 00:22:54,000 --> 00:22:57,000 V PHP in JavaScript, kot bomo sčasoma videli, 425 00:22:57,000 --> 00:23:01,000 opredeliti niz počnete odprto kvadratni nosilec in zaprt oglati oklepaj, 426 00:23:01,000 --> 00:23:04,000 in potem imate vejicami ločen seznam vrednosti, ali ints 427 00:23:04,000 --> 00:23:09,000 ali nize ali nabora znakov, kar hočeš, znotraj tega izraza tam. 428 00:23:09,000 --> 00:23:11,000 >> Zdaj, kako smo storili kaj takega v C? 429 00:23:11,000 --> 00:23:16,000 Kaj je sintaksa za statično razglasitvi niz znanih številk? 430 00:23:16,000 --> 00:23:19,000 To je bil zavite oklepaje, da manjša razlika tukaj, ampak v obeh PHP 431 00:23:19,000 --> 00:23:22,000 in na koncu JavaScript je samo uporablja oglatih oklepajev, tako da res 432 00:23:22,000 --> 00:23:25,000 edina zanimiva podrobnost tukaj je $ znak imena spremenljivke 433 00:23:25,000 --> 00:23:28,000 in tudi oglati oklepaji, in tam je ena stvar zanima 434 00:23:28,000 --> 00:23:32,000 , ki je bila izpuščena tudi na levi strani pod znakom =. 435 00:23:32,000 --> 00:23:36,000 Kaj manjka, da smo se zahteva za več tednov? Ja. 436 00:23:36,000 --> 00:23:38,000 [Neslišno študentski odziv] 437 00:23:38,000 --> 00:23:41,000 Velikost, tako da ni omembe velikosti matrike. 438 00:23:41,000 --> 00:23:45,000 Odkrito povedano, ni omembe oglatih oklepajih na levi strani 439 00:23:45,000 --> 00:23:47,000 za znakom =, in kaj manjka v vrsti? 440 00:23:47,000 --> 00:23:49,000 Ja. >> [Neslišno študentski odziv] 441 00:23:49,000 --> 00:23:52,000 Tip, kaj je zanimivo predvsem PHP 442 00:23:52,000 --> 00:23:56,000 je, da ne gre za močno natipkana jezik kot C, 443 00:23:56,000 --> 00:23:58,000 In to je zelo vnesli v smislu, da je treba reči, da zna, 444 00:23:58,000 --> 00:24:00,000 morate povedati int, morate povedati plovec. 445 00:24:00,000 --> 00:24:03,000 >> Kadarkoli želite spremenljivko moraš povedati Jek kakšen je njen tip. 446 00:24:03,000 --> 00:24:05,000 PHP je malo lazier. 447 00:24:05,000 --> 00:24:08,000 To je ohlapno vnesli v smislu, da 448 00:24:08,000 --> 00:24:11,000 lahko imajo plovce in chars in godala 449 00:24:11,000 --> 00:24:14,000 in ints in tako naprej, vendar pa je jezik sam 450 00:24:14,000 --> 00:24:17,000 v resnici ne zanima, kaj si dal notri spremenljivke. 451 00:24:17,000 --> 00:24:20,000 Saj ni treba obvestiti vnaprej, kaj tip podatkov 452 00:24:20,000 --> 00:24:22,000 se dogaja v spremenljivko. 453 00:24:22,000 --> 00:24:24,000 To je povsem odvisno od vas, tako da je to lepo 454 00:24:24,000 --> 00:24:27,000 v tem, da vam ni treba skrbeti toliko o vnesete podatke 455 00:24:27,000 --> 00:24:29,000 in skrbi, kakšne so vaše trditve in tako naprej. 456 00:24:29,000 --> 00:24:32,000 To tudi pomeni, sčasoma funkcije v PHP se bodo lahko vrnili 457 00:24:32,000 --> 00:24:36,000 bodisi int večino časa, morda enkrat v nekaj časa 458 00:24:36,000 --> 00:24:40,000 da bodo vrne int, boolean False, na primer, ki nakazuje, da je šlo nekaj narobe. 459 00:24:40,000 --> 00:24:44,000 To nam daje nekaj upsides, vendar pa bo tudi, da nas nekako po svoji zasnovi 460 00:24:44,000 --> 00:24:47,000 Malo lazier, ko gre za tipizacijo podatkov. 461 00:24:47,000 --> 00:24:50,000 >> Kaj še, da v mislih? 462 00:24:50,000 --> 00:24:54,000 Spremenljivke videti precej všeč, tako da je $ = "Pozdravljen svet". 463 00:24:54,000 --> 00:24:57,000 To je morda izpeljan iz prejšnjega primera, 464 00:24:57,000 --> 00:24:59,000 in imamo drugo vrsto zanke. 465 00:24:59,000 --> 00:25:02,000 Ta bomo dejansko videli enkrat v nekaj časa, saj je zelo priročno, 466 00:25:02,000 --> 00:25:04,000 foreach konstrukt. 467 00:25:04,000 --> 00:25:11,000 V tem primeru se zanka foreach se znotraj njenih besedah ​​običajno oklepajev 3, 468 00:25:11,000 --> 00:25:16,000 $ Nekaj ​​prvi, ki je kar matrika želite ponoviti več članov, 469 00:25:16,000 --> 00:25:19,000 potem pa dobesedno ključna beseda kot, nato pa na koncu, 470 00:25:19,000 --> 00:25:21,000 drugo ime spremenljivke, ki lahko izbirate. 471 00:25:21,000 --> 00:25:23,000 To je lahko foo, bar, ali element, 472 00:25:23,000 --> 00:25:26,000 in kaj je ta konstrukt ne 473 00:25:26,000 --> 00:25:29,000 je, če je $ matrika vsebuje 10 elementov 474 00:25:29,000 --> 00:25:34,000 na vsaki ponovitvi to polje, žal, na vsaki ponovitvi te zanke 475 00:25:34,000 --> 00:25:37,000 spremenljivka imenovan element, se bo posodobitev 476 00:25:37,000 --> 00:25:40,000 da je prvi element v polju, nato pa je drugi element v matriki, 477 00:25:40,000 --> 00:25:44,000 potem Tretji element matrike, s tem odpraviti potrebo 478 00:25:44,000 --> 00:25:46,000 narediti malo siten kvadratnih zapis nosilec in 479 00:25:46,000 --> 00:25:49,000 $ I, da bi se kazalo v matriko. 480 00:25:49,000 --> 00:25:53,000 PHP pa vse to dela za vas in za vsako ponovitev 481 00:25:53,000 --> 00:25:55,000 Samo roke si naslednji element iz matrike 482 00:25:55,000 --> 00:26:01,000 ne da bi morali vedeti o skrbi za svoje ali številski mesto indeksa. 483 00:26:01,000 --> 00:26:04,000 >> In potem končno, za zdaj še ena značilnost PHP 484 00:26:04,000 --> 00:26:08,000 da se bo to lahko zelo koristno, še posebej, ko smo začeli načrtovanje na spletu, 485 00:26:08,000 --> 00:26:10,000 in da je znan kot asociativni array. 486 00:26:10,000 --> 00:26:13,000 Se plošča, ki jih poznamo doslej od 20 sekundami 487 00:26:13,000 --> 00:26:17,000 in so v zadnjih 8 tednov številčno indeksirana polja, 488 00:26:17,000 --> 00:26:20,000 vrsta tradicionalnih polj, kjer so indeksi so ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, vse tja gor. 490 00:26:23,000 --> 00:26:25,000 Asociativne nizi so veliko močnejši. 491 00:26:25,000 --> 00:26:28,000 Te vam omogočajo, da imajo poljubne tipke, 492 00:26:28,000 --> 00:26:31,000 poljubni indeksi in samovoljnih vrednosti. 493 00:26:31,000 --> 00:26:34,000 Ker je v tradicionalni niz je 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 v asociativni niz lahko imajo indeks 495 00:26:37,000 --> 00:26:41,000 ali ključ foo katerih vrednost je bar. 496 00:26:41,000 --> 00:26:46,000 Lahko pa še en ključ, katerega ime je BAZ in katerih vrednost je razvrstitev za. 497 00:26:46,000 --> 00:26:49,000 >> Spet neumni računalništvo generična imeni spremenljivk tukaj, 498 00:26:49,000 --> 00:26:55,000 ampak dejstvo je, da ta matrika nima bracket 0 ali 1 nosilec. 499 00:26:55,000 --> 00:26:59,000 To se dogaja, da imajo namesto nosilec foo in nosilec Baz. 500 00:26:59,000 --> 00:27:03,000 To je veliko bolj vsestranski, da bomo lahko povezali 501 00:27:03,000 --> 00:27:07,000 Besede z drugimi besedami, ključe z vrednostmi povsem samovoljno, 502 00:27:07,000 --> 00:27:12,000 in bomo lahko dobili nazaj te vrednote nenehno v času 503 00:27:12,000 --> 00:27:14,000 ker je pod pokrovom, kar asociativno polje 504 00:27:14,000 --> 00:27:16,000 Res je, je razpršena tabela. 505 00:27:16,000 --> 00:27:20,000 Spomnimo se, da je razpršena tabela vam omogoča, da v nekaterih vhodnih 506 00:27:20,000 --> 00:27:25,000 rad spravil v besede Davida, če želite vstaviti Davida v neke vrste slovarja, 507 00:27:25,000 --> 00:27:27,000 in potem dobiš nazaj nekaj vrednosti običajno. 508 00:27:27,000 --> 00:27:29,000 V primeru speller pravilna ali napačna. 509 00:27:29,000 --> 00:27:33,000 David ali karkoli beseda ali ni v slovarju. 510 00:27:33,000 --> 00:27:36,000 Asociativni array je res samo razpršena tabela, 511 00:27:36,000 --> 00:27:38,000 vendar je veliko bolj prijazen do uporabnika utelešenje tega. 512 00:27:38,000 --> 00:27:41,000 Kot bomo videli, da se dogaja, da nam omogočajo, da narediti nekaj stvari 513 00:27:41,000 --> 00:27:43,000 zelo, zelo enostavno. 514 00:27:43,000 --> 00:27:45,000 >> Oglejmo si nekaj osnovnih PHP 515 00:27:45,000 --> 00:27:47,000 primeri in videti, kaj lahko naredimo s tem jeziku. 516 00:27:47,000 --> 00:27:51,000 Naj gredo naprej in odprla v našem izvornega imenika danes 517 00:27:51,000 --> 00:27:54,000 datoteka z imenom hello1.php. 518 00:27:54,000 --> 00:27:57,000 Ta datoteka je bolj pripomba, kot je dejanska koda 519 00:27:57,000 --> 00:28:00,000 zato naj dejansko odstraniti vse pripombe iz spisa 520 00:28:00,000 --> 00:28:05,000 in Predstavljam vam morda najpreprostejši PHP programskem tukaj. 521 00:28:05,000 --> 00:28:07,000 5 linij in nekateri izmed tistih, ki so prazen prostor, 522 00:28:07,000 --> 00:28:09,000 tako opazili nekatere ključne razlike tukaj. 523 00:28:09,000 --> 00:28:12,000 Datoteka se imenuje hello1.php. 524 00:28:12,000 --> 00:28:16,000 Prva linija, čeprav je 00:28:18,000 Podobno kot v duhu HTML, 526 00:28:18,000 --> 00:28:21,000 Zaporedje znakov, ki pravi, da računalnik 527 00:28:21,000 --> 00:28:25,000 "Hej, računalnik, prihaja programa da smo v v PHP." 528 00:28:25,000 --> 00:28:28,000 To zagotavlja, da se ne zamenjujejo, da je nekdo drug jezik. 529 00:28:28,000 --> 00:28:30,000 Linija 2 je zanimiv bel prostor. 530 00:28:30,000 --> 00:28:32,000 Črta 3 je naš stari prijatelj printf, 531 00:28:32,000 --> 00:28:34,000 tokrat v okviru PHP. 532 00:28:34,000 --> 00:28:37,000 PHP ima svojo verzijo printf, ki se obnaša popolnoma enako, 533 00:28:37,000 --> 00:28:39,000 tako da to je le, da bo tiskanje "Hello, world." 534 00:28:39,000 --> 00:28:46,000 In potem je to ravno nasprotno tag tukaj> pomeni, da je to za mojo PHP kode. 535 00:28:46,000 --> 00:28:48,000 >> Poglejmo, kako voditi to. 536 00:28:48,000 --> 00:28:50,000 Jaz grem nazaj v svojo terminalsko okno tukaj. 537 00:28:50,000 --> 00:28:52,000 Jaz grem v mojo PHP imenik. 538 00:28:52,000 --> 00:28:56,000 Obvestilo, da imamo cel kup datotek, 1. 1, ki je hello.php. 539 00:28:56,000 --> 00:29:01,000 Naj gredo naprej in zagon tega, hello1.php, vstop. 540 00:29:01,000 --> 00:29:03,000 Dovoljenje je zavrnjeno. Ok. 541 00:29:03,000 --> 00:29:06,000 Kako smo določene stvari, kot je to v preteklosti? 542 00:29:06,000 --> 00:29:08,000 Kaj je to? >> [Neslišno študentski odziv] 543 00:29:08,000 --> 00:29:11,000 Mi potrebujejo brati in pisati, vendar naj ne ls-l. 544 00:29:11,000 --> 00:29:14,000 Zapomni si to nekoliko Grobni proizvodnje, s katerim hello1 545 00:29:14,000 --> 00:29:17,000 Zdi se, da se da brati in pisati me 546 00:29:17,000 --> 00:29:19,000 ampak prebrati vsi ostali. 547 00:29:19,000 --> 00:29:22,000 Izkazalo se je to dejansko ni korak v pravo smer. 548 00:29:22,000 --> 00:29:25,000 Razlika je spet z razlagati jeziku 549 00:29:25,000 --> 00:29:27,000 se ne zažene program neposredno. 550 00:29:27,000 --> 00:29:30,000 Če namesto tega zagnati tolmača in ga z roko zakonika 551 00:29:30,000 --> 00:29:33,000 da ste napisali, da je lahko razlaga, da po vrsticah. 552 00:29:33,000 --> 00:29:36,000 V tem primeru je tolmač ali program, ki sem dejansko želite zagnati 553 00:29:36,000 --> 00:29:38,000 dobesedno imenuje PHP. 554 00:29:38,000 --> 00:29:41,000 >> Nekje na tem trdem disku naprave je program 555 00:29:41,000 --> 00:29:45,000 nekdo je napisal imenuje PHP ali na Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Kaj bom naredil tukaj je, da bom dejansko vozijo PHP 557 00:29:48,000 --> 00:29:51,000 ampak ga dati kot argument ukazne vrstice kode, ki sem ga napisal, 558 00:29:51,000 --> 00:29:54,000 in potem bom pomanjšavo ter zadeti nastopiti. 559 00:29:54,000 --> 00:29:58,000 Vodi svoj program za mene, od zgoraj navzdol, od leve proti desni. 560 00:29:58,000 --> 00:30:01,000 Naj gredo naprej in odprla majhno odstopanje za to. 561 00:30:01,000 --> 00:30:05,000 V hello2.php obvestila, da je to preveč 562 00:30:05,000 --> 00:30:08,000 je večinoma pripomb, zato naj se znebiti tistih, kot odvračanja, 563 00:30:08,000 --> 00:30:13,000 In kaj je zdaj jasno razlikuje glede te datoteke? 564 00:30:13,000 --> 00:30:15,000 Tam je ta nova proga, nekoliko skrivnosten na vrhu. 565 00:30:15,000 --> 00:30:20,000 V 1. vrstici je #! / Bin / php. 566 00:30:20,000 --> 00:30:24,000 Bin je konvencija na Linux in Mac OS za binarne datoteke, 567 00:30:24,000 --> 00:30:27,000 zato / bin pomeni, da je to mapa, ki vsebuje kup binaries 568 00:30:27,000 --> 00:30:29,000 ki je programirana, od katerih je ena PHP. 569 00:30:29,000 --> 00:30:32,000 #! je vzdevek shebang, 570 00:30:32,000 --> 00:30:35,000 ki je hiter način, je rekel, in kaj to pomeni 571 00:30:35,000 --> 00:30:40,000 je, da ko zaženete ta program, zdaj pa je namig na vrhu datoteke 572 00:30:40,000 --> 00:30:44,000 , ki pove, računalnik, kaj tolmač za uporabo. 573 00:30:44,000 --> 00:30:47,000 >> To postane malce nadležno, če ste imeli povedati svoje uporabnike in svoje stranke 574 00:30:47,000 --> 00:30:50,000 "Hej, smo pisali ta program, imenovan hello1.php." 575 00:30:50,000 --> 00:30:54,000 Vse kar morate storiti je, da vedno teče PHP, nato pa je ime tega programa. 576 00:30:54,000 --> 00:30:58,000 Odkrito povedano, bi bilo lepše, samo teči hello1.php, 577 00:30:58,000 --> 00:31:00,000 in seveda, če bomo lahko naredimo naslednje. 578 00:31:00,000 --> 00:31:05,000 Naj gredo naprej in ls-l, in obvestilo, v hello2 je še vedno samo za branje in pisanje 579 00:31:05,000 --> 00:31:10,000 nato pa preberite brati, tako da ne morem še to, hello2.php. 580 00:31:10,000 --> 00:31:15,000 Vendar pa smo uvedli ta še tako kratek zadnji čas, ukaz chmod. 581 00:31:15,000 --> 00:31:20,000 Če naredim chmod a + x, kar pomeni, da vse plus izvedljivosti, 582 00:31:20,000 --> 00:31:26,000 in potem hello2.php in potem ls-l spet opazil kaj se je spremenilo. 583 00:31:26,000 --> 00:31:29,000 Ena, Linux, ki mi ime datoteke v zeleni barvi prenesel idejo 584 00:31:29,000 --> 00:31:32,000 da je izvedljivo, vendar je še pomembneje, na levi strani 585 00:31:32,000 --> 00:31:36,000 opazili, da se je malo predstavlja x za izvršljiv bil določen. 586 00:31:36,000 --> 00:31:42,000 Kaj to sedaj pomeni, je, da sem lahko vodijo ./hello2.php kot ponavadi, 587 00:31:42,000 --> 00:31:45,000 zadeti nastopiti, in zaradi shebang v sam vrh v spis 588 00:31:45,000 --> 00:31:48,000 to je namig, še enkrat, za Linux, ki pravi, 589 00:31:48,000 --> 00:31:51,000 S to tolmača zagnati to datoteko. 590 00:31:51,000 --> 00:31:54,000 Ne skrbite prisili uporabnika, da dejansko tip. 591 00:31:54,000 --> 00:31:57,000 >> In kaj je lepo, zdaj je to, da nekako vpliva na mojih strank ali prijatelji 592 00:31:57,000 --> 00:32:01,000 kateri jezik sem napisal ta program, da grem lahko naprej s mv 593 00:32:01,000 --> 00:32:04,000 ter preimenovati to stvar za hello2, na primer. 594 00:32:04,000 --> 00:32:07,000 In zdaj, če jaz ./hello2 595 00:32:07,000 --> 00:32:10,000 in pomanjšavo moj program teče naprej. 596 00:32:10,000 --> 00:32:13,000 Te končnice datotek so človeški konvencija, ki je potrebno 597 00:32:13,000 --> 00:32:15,000 nekaj podobnega Jek in dopolnimo, ki so si za njih. 598 00:32:15,000 --> 00:32:18,000 Ampak za PHP, sem lahko to imenujemo ničesar datoteke razširitev želim. 599 00:32:18,000 --> 00:32:22,000 Lahko bi trik svet v razmišljanju, da sem res dober v Ruby, 600 00:32:22,000 --> 00:32:25,000 in lahko pišem hello2.rb in zaženite to, 601 00:32:25,000 --> 00:32:28,000 in voila, zdaj imam različico Ruby, ki je popolna laž. 602 00:32:28,000 --> 00:32:30,000 Toda končnice datotek so brez pomena 603 00:32:30,000 --> 00:32:35,000 če je datoteka izvedljiva in ima to posebno nakazuje na vrhu datoteke. 604 00:32:35,000 --> 00:32:38,000 >> Zdaj, kot prahi, naj vam pokažem hitro različice 3, 605 00:32:38,000 --> 00:32:40,000 , ki je neke vrste uporabne trik, da veš. 606 00:32:40,000 --> 00:32:45,000 V hello3 sem naredil kaj narobe rahlo 607 00:32:45,000 --> 00:32:47,000 da bom posodobiti spletno izvorne kode. 608 00:32:47,000 --> 00:32:50,000 V različici 3 se izkaže, da na večini Linux računalnikov 609 00:32:50,000 --> 00:32:53,000 obstaja program, imenovan env za okolje, 610 00:32:53,000 --> 00:32:56,000 in kaj lahko storite, je, če nimate pojma, kje PHP 611 00:32:56,000 --> 00:33:00,000 je nameščen na lokalni trdi disk, saj bi to dejansko razlikujejo glede na računalnik 612 00:33:00,000 --> 00:33:03,000 da nekdo uporablja, Sredstva samo pravi zagon env, 613 00:33:03,000 --> 00:33:07,000 , ki je na večini sistemov in ugotoviti, kje je PHP. 614 00:33:07,000 --> 00:33:11,000 Samo skupna trik, tako da vam ni treba skrbeti za ugotavljanje, kam program. 615 00:33:11,000 --> 00:33:14,000 Toda, če vam ni vseeno, kje je program in niste skrbeli doslej 616 00:33:14,000 --> 00:33:16,000 lahko uporabite ki ukaz. 617 00:33:16,000 --> 00:33:19,000 >> Naj pomanjšanje in tip, ki php, 618 00:33:19,000 --> 00:33:23,000 in opazil, da mi pove, da je pravzaprav v usr / bin / php. 619 00:33:23,000 --> 00:33:25,000 To je neke vrste laž. To je tudi v koš. 620 00:33:25,000 --> 00:33:27,000 To samo kaže mi prvi udarec. 621 00:33:27,000 --> 00:33:31,000 Če ste se kdaj spraševali, če je Jek, ki Jek, da je v usr / bin / Jek, 622 00:33:31,000 --> 00:33:34,000 ki bi, usr / bin / narediti, in kaj to pomeni je ves ta čas 623 00:33:34,000 --> 00:33:38,000 da bi lahko bili tipkanje usr / bin / Jek začne teči Jek, 624 00:33:38,000 --> 00:33:41,000 ampak to je nekako dolgočasno za to, da so nekatere mape 625 00:33:41,000 --> 00:33:44,000 kot so usr / bin in bin domneva, da je privzeto 626 00:33:44,000 --> 00:33:50,000 tako računalnik ve, da si v njih za vas. 627 00:33:50,000 --> 00:33:53,000 Vsa vprašanja o pisanju super, super enostavno Hello World programa 628 00:33:53,000 --> 00:33:55,000 v PHP, nato pa teče? 629 00:33:55,000 --> 00:33:59,000 Ker sedaj bomo začeli uvesti bolj prepričljiv sintakso. 630 00:33:59,000 --> 00:34:01,000 V redu, gremo. 631 00:34:01,000 --> 00:34:03,000 Ti programi dejansko smo videli vse od njih prej. 632 00:34:03,000 --> 00:34:07,000 >> Če sem odprla, na primer, naredimo beer1.php, 633 00:34:07,000 --> 00:34:09,000 da ne bo šel skozi več različic, ampak tisto, kar sem storil 634 00:34:09,000 --> 00:34:13,000 sem se usedel in se razlije ali predelani 635 00:34:13,000 --> 00:34:15,000 moja C kodo za PHP kodo tukaj. 636 00:34:15,000 --> 00:34:18,000 Večina vrhu spisa komentarji tu gor. 637 00:34:18,000 --> 00:34:20,000 Izkazalo se je, da je ena nova funkcija, moramo se imenuje readline. 638 00:34:20,000 --> 00:34:23,000 GetString, odpoklic od 0 dalje tedna je bila CS50 stvar. 639 00:34:23,000 --> 00:34:27,000 PHP ima svojo uporabniku prijazno funkcijo, imenovano readline 640 00:34:27,000 --> 00:34:30,000 , ki traja 1 argument, ki določa takojšnje 641 00:34:30,000 --> 00:34:33,000 , ki jih želite prikazati uporabniku, in kaj počne readline 642 00:34:33,000 --> 00:34:35,000 se vrne, kar uporabnik vnese palcev 643 00:34:35,000 --> 00:34:39,000 V tem primeru bom razglasitvi spremenljivko z imenom $ n. 644 00:34:39,000 --> 00:34:42,000 Jaz shranjevanje v njem vrnjeno vrednost readline 645 00:34:42,000 --> 00:34:44,000 Po česar si s tem nizu. 646 00:34:44,000 --> 00:34:47,000 Samo za varnostno kopiranje, ki dejansko vodijo to stvar, naj grem naprej 647 00:34:47,000 --> 00:34:50,000 in zagon php beer1.php. 648 00:34:50,000 --> 00:34:53,000 Koliko steklenic ne bo? Naj pač 2 tokrat. 649 00:34:53,000 --> 00:34:55,000 Enter. To je vse. 650 00:34:55,000 --> 00:34:59,000 >> Program je funkcionalno enaka različica C, iz tedni. 651 00:34:59,000 --> 00:35:01,000 Ampak sintaktično poglejmo, kaj je drugače. 652 00:35:01,000 --> 00:35:05,000 Ko dobim int od uporabnika obvestilo, da delam nekaj preverjanje napak, 653 00:35:05,000 --> 00:35:08,000 in če je n manj kot 1 sem nehal in mi izpiše 654 00:35:08,000 --> 00:35:11,000 Žal sporočilo uporabniku in izstopa s 1. 655 00:35:11,000 --> 00:35:13,000 Tudi to je malo drugačna. 656 00:35:13,000 --> 00:35:16,000  V C Kaj smo storili? V C smo se vrnili 1. 657 00:35:16,000 --> 00:35:20,000 V PHP končate z 1, ki je odkrito mislim, da malo bolj intuitivno 658 00:35:20,000 --> 00:35:22,000 ker ste dobesedno zaprl program. 659 00:35:22,000 --> 00:35:25,000 V redu, nato pa sem dol nadležno pesem je enako skladenjsko 660 00:35:25,000 --> 00:35:29,000 razen za spremenljivke, tako da tukaj, v skladu 24 naprej 661 00:35:29,000 --> 00:35:31,000 Opazili moje zanke for je skoraj enak, 662 00:35:31,000 --> 00:35:34,000 vendar imam $ pred i in n, 663 00:35:34,000 --> 00:35:37,000 in kaj je prav tako manjkajo črte 26, da smo imeli v preteklosti 664 00:35:37,000 --> 00:35:39,000 pri razglasitvi spremenljivke i? 665 00:35:39,000 --> 00:35:41,000 Ni tip. 666 00:35:41,000 --> 00:35:43,000 To je napačno PHP reči int. 667 00:35:43,000 --> 00:35:45,000 Vi sploh ni treba storiti. 668 00:35:45,000 --> 00:35:48,000 Računalnik, tolmač PHP je dovolj pameten, da zavedaš 669 00:35:48,000 --> 00:35:51,000 da če si dal nekaj v $ sem ga bo zdravljenje 670 00:35:51,000 --> 00:35:53,000 kot številko za vas. 671 00:35:53,000 --> 00:35:57,000 In potem tukaj smo plug $ i, $ i, $ i - 1. 672 00:35:57,000 --> 00:36:00,000 Vse to je isto, potem pa tukaj delamo "Vau, to je siten" printf 673 00:36:00,000 --> 00:36:02,000 in potem izhod (0). 674 00:36:02,000 --> 00:36:05,000 >> Again, hrana za s seboj v tem, da čeprav bomo porabili relativno 675 00:36:05,000 --> 00:36:09,000 malo časa za PHP, zagotovo v primerjavi kaj smo naredili na C, 676 00:36:09,000 --> 00:36:12,000 to je skoraj enaka, in kaj bomo storili danes in naslednji teden 677 00:36:12,000 --> 00:36:14,000 in zunaj je res osredotočiti na nekatere nove zamisli. 678 00:36:14,000 --> 00:36:17,000 Samo da bi videl, da je ena stvar, ki ne prevajajo več od C 679 00:36:17,000 --> 00:36:20,000 to je super preprost program, smo v tednu 1 680 00:36:20,000 --> 00:36:22,000 ali 2, ki kubikov vrednost. 681 00:36:22,000 --> 00:36:25,000 Ampak kaj je bilo zanimivo v času o tem programu je, da je 682 00:36:25,000 --> 00:36:28,000 uvedel pojem meri pisno funkcije, ki jih sami napisali. 683 00:36:28,000 --> 00:36:31,000 Sintaksa v PHP je skoraj enaka. 684 00:36:31,000 --> 00:36:33,000 Tukaj je moj program do vrha. 685 00:36:33,000 --> 00:36:35,000 Obvestilo ponovno odsotna vsak pojem glavni. 686 00:36:35,000 --> 00:36:39,000 Začnem pisati kodo, in to je tisto, kar se dogaja, da se izvede tolmača. 687 00:36:39,000 --> 00:36:42,000 Sem izpisal x je zdaj 2, verjetno. 688 00:36:42,000 --> 00:36:44,000 Potem sem trdijo cubing ... 689 00:36:44,000 --> 00:36:47,000 Potem sem poklical kocke funkcijo in prehaja v $ x 690 00:36:47,000 --> 00:36:50,000 in določite vrne vrednost $ x. 691 00:36:50,000 --> 00:36:53,000 Potem sem trdijo, da je kubikov, in nato sem rekel to, kar upam, da 692 00:36:53,000 --> 00:36:55,000 bodo rekli, da je zdaj 8 x. 693 00:36:55,000 --> 00:36:59,000 Sintaksa funkcije v PHP je vedno tako nekoliko drugačna. 694 00:36:59,000 --> 00:37:01,000 Spet manjka, je donos tipa. 695 00:37:01,000 --> 00:37:05,000 Spet manjka, je vrnitev vrsti in tudi manjka tisto drugo vrsto? 696 00:37:05,000 --> 00:37:07,000 [Neslišno študentski odziv] 697 00:37:07,000 --> 00:37:10,000 No, v redu, to je dobro. Vrnimo se k da je v sekundi. 698 00:37:10,000 --> 00:37:12,000 >> Nimamo na primer int tukaj. 699 00:37:12,000 --> 00:37:15,000 Ne, na primer, so tu int, ker spet v PHP 700 00:37:15,000 --> 00:37:18,000 preprosto ne potrebujejo, in ne bi smeli storiti, da 701 00:37:18,000 --> 00:37:20,000 ampak tam je to novo ključno besedo imenujemo funkcija. 702 00:37:20,000 --> 00:37:23,000 V PHP je skoraj malo bolj jasno, saj, če želite funkcijo 703 00:37:23,000 --> 00:37:26,000 dobesedno pomeni funkcijo, mu daš ime, nato pa z vejico ločen seznam 704 00:37:26,000 --> 00:37:28,000 če kateri koli od njegovih argumentov. 705 00:37:28,000 --> 00:37:32,000 Ni treba reči, neveljavno ali kaj podobnega, nato pa vrnitev je isto, 706 00:37:32,000 --> 00:37:35,000 $ * $ * $. 707 00:37:35,000 --> 00:37:38,000 Kaj je tako manjka? Sammy je na to opozorila tukaj. 708 00:37:38,000 --> 00:37:43,000 Na vrhu datoteke popolnoma odsotno v PHP je tudi prototip. 709 00:37:43,000 --> 00:37:45,000 Tudi to je po svoji zasnovi. 710 00:37:45,000 --> 00:37:48,000 Jeziki in tolmači kot so PHP, da so pametnejši od C kdaj je bila 711 00:37:48,000 --> 00:37:50,000 V prevajalniki, kot Jek. 712 00:37:50,000 --> 00:37:53,000 >> Spomnimo se, da je Jek, če nisi povedal, da obstaja kocke, 713 00:37:53,000 --> 00:37:56,000 če nisi povedal, da obstaja kot printf s prototipom 714 00:37:56,000 --> 00:38:00,000 ali z # include, no, to je, da bo kričal na vas in ni niti zbrati kodo. 715 00:38:00,000 --> 00:38:03,000 PHP in več sodobnih jeziki so veliko pametnejši, ko gre za to. 716 00:38:03,000 --> 00:38:07,000 Ga bodo prevzeti sami prebrati vse vaše kode 717 00:38:07,000 --> 00:38:11,000 in potem kričati na vas, samo, če ugotovi, kocke nikamor. 718 00:38:11,000 --> 00:38:15,000 Ni važno, če je kocka je na dnu ali na vrhu ali celo na nek drug dokument. 719 00:38:15,000 --> 00:38:18,000 PHP in podobni jeziki so zdaj dovolj pameten, da gleda naprej 720 00:38:18,000 --> 00:38:26,000 na vse, preden te štele kot da je naredil napako. 721 00:38:26,000 --> 00:38:28,000 Če nam to pusti? 722 00:38:28,000 --> 00:38:32,000 >> Naredimo še zadnji primer tu v razmerah, 723 00:38:32,000 --> 00:38:35,000 in če sem odprla conditions2.php obvestilo preveč 724 00:38:35,000 --> 00:38:37,000 sintaksa tukaj je skoraj enaka. 725 00:38:37,000 --> 00:38:40,000 Jaz sem z uporabo readline namesto GetString, ampak linija je isti kot prej, 726 00:38:40,000 --> 00:38:42,000 "Rad bi celo prosim." 727 00:38:42,000 --> 00:38:45,000 Nato sem imel, če pogoj, if, nato pa še, 728 00:38:45,000 --> 00:38:48,000 ampak funkcionalno ta program je prav tako enaka kot tisto, kar smo storili pred tedni, 729 00:38:48,000 --> 00:38:51,000 Torej, če sem teči to stvar, php z conditions2, 730 00:38:51,000 --> 00:38:54,000 in sem ji dati več kot 23 - 731 00:38:54,000 --> 00:38:57,000 Izbral sem pozitivno število. Če sem dal to sem pobral -1 negativno število. 732 00:38:57,000 --> 00:39:00,000 Če sem dal to sem seveda izbral 0 0. 733 00:39:00,000 --> 00:39:02,000 Torej, kdo skrbi za vse to? 734 00:39:02,000 --> 00:39:06,000 No, eden od zabave vrste vaj tukaj 735 00:39:06,000 --> 00:39:10,000 Zame je vsaj bil, da gredo nazaj in videli, kako hitro sem lahko izvajajo pset 5, 736 00:39:10,000 --> 00:39:12,000 pravopisnih pset. 737 00:39:12,000 --> 00:39:15,000 Spomnimo se, da je bila ta datoteka imenuje speller.c, 738 00:39:15,000 --> 00:39:17,000 in tam je datoteka z imenom dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Kaj sem bil nekako preživel nekaj minut in jaz pretvori kodo C 740 00:39:20,000 --> 00:39:23,000 za PHP kodo, in ne bomo porabili veliko časa na speller 741 00:39:23,000 --> 00:39:26,000 ker se tako kot v pset 5 nisi res treba 742 00:39:26,000 --> 00:39:29,000 preživijo veliko časa na samem speller, ker je vaša pozornost je bila v slovarju. 743 00:39:29,000 --> 00:39:32,000 >> Dovolj je reči, da če ste prebrali speller, 744 00:39:32,000 --> 00:39:35,000 ta datoteka tukaj, to je precej enakovredno oznako C 745 00:39:35,000 --> 00:39:37,000 vam dal za pset 5. 746 00:39:37,000 --> 00:39:39,000 Pravkar sem dodal nekaj dolarjev v mestih. 747 00:39:39,000 --> 00:39:43,000 Spremenil sem se nekatera imena funkcij, če ne obstajajo v PHP. 748 00:39:43,000 --> 00:39:45,000 Obstaja še ena stvar tukaj, preg_match, 749 00:39:45,000 --> 00:39:48,000 kar je malo Ljubitelj način počne nekaj, vendar bomo prišli nazaj, da prej ali slej. 750 00:39:48,000 --> 00:39:51,000 Ampak na kratko, speller je skoraj enaka, in če pogledaš na samem dnu 751 00:39:51,000 --> 00:39:54,000 kaj je na koncu izpljune je to tukaj, 752 00:39:54,000 --> 00:39:57,000 besede napačno zapisano besedo v slovar, besede v besedilu. 753 00:39:57,000 --> 00:40:00,000 V redu, kaj je zanimivo zdaj je naslednji. 754 00:40:00,000 --> 00:40:05,000 Na vrhu moje datoteke bom zahtevala dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Tako kot je C # vključujejo PHP ima posebno funkcijo imenovano zahteva 756 00:40:09,000 --> 00:40:14,000 da je precej počne isto stvar, zahteva datoteko z imenom dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Kako naj grem o izvajanju pset 5? 758 00:40:18,000 --> 00:40:21,000 Naj gredo naprej in odprli datoteko tukaj. 759 00:40:21,000 --> 00:40:24,000 Naj se malo sklic tukaj. 760 00:40:24,000 --> 00:40:29,000 In mi ustvari novo datoteko in začeti klicati v dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Naj ga v drugo mapo, tako da lahko naredimo to v živo. 762 00:40:31,000 --> 00:40:33,000 In zdaj bom noter povečavo 763 00:40:33,000 --> 00:40:37,000 Jaz bom za začetek moje PHP datoteko z odprtjem php zaprt nosilec. 764 00:40:37,000 --> 00:40:40,000 In potem je tukaj bilo nekaj funkcij, sem potreboval izvajati za pset 5, 765 00:40:40,000 --> 00:40:42,000 zato naj začnejo izvajati nekatere od tistih, 766 00:40:42,000 --> 00:40:47,000 Tako nadzorne funkcije, ki bi morala vzeti besedo kot argument. 767 00:40:47,000 --> 00:40:49,000 To bomo storili to in prišel nazaj na to v trenutku. 768 00:40:49,000 --> 00:40:53,000 >> Prišlo je funkcija obremenitev, ki je v kakšni kot argument? 769 00:40:53,000 --> 00:40:56,000 Slovar, da datoteka, ki sem pravzaprav želel naložiti. 770 00:40:56,000 --> 00:41:00,000 Prišlo je funkcija velikosti, ki ni sprejela nobenih argumentov 771 00:41:00,000 --> 00:41:04,000 in tam je funkcija, kaj je ostalo? 772 00:41:04,000 --> 00:41:06,000 Odstranjevanje, ki ni sprejela nobenih argumentov, niti. 773 00:41:06,000 --> 00:41:10,000 To so 4 funkcije, ki bi jih zdaj izvaja v PHP, 774 00:41:10,000 --> 00:41:13,000 in kaj bom storiti, je, da gredo naprej in to. 775 00:41:13,000 --> 00:41:16,000 Veliko vas uporabili razpršene tabele v pset 5, 776 00:41:16,000 --> 00:41:21,000 zato naj gredo naprej in ustvariti razpršene tabele v PHP. 777 00:41:21,000 --> 00:41:23,000 Končano. 778 00:41:23,000 --> 00:41:25,000 To mi daje razpršene tabele. No, zakaj? 779 00:41:25,000 --> 00:41:30,000 Ena se imenuje spremenljivka $ tabela, samo da pričara idejo razpršitve mizo. 780 00:41:30,000 --> 00:41:34,000 Oklepaju, čeprav opozarjajo, predstavlja kaj? 781 00:41:34,000 --> 00:41:37,000 Matrika, vendar nizi PHP ne bi bilo treba biti številčno indeksirajo. 782 00:41:37,000 --> 00:41:41,000 Lahko so tudi asociativne nize, 783 00:41:41,000 --> 00:41:44,000 kar pomeni, da imajo lahko poljubno ključe in vrednosti. 784 00:41:44,000 --> 00:41:49,000 >> Podobno kot v pset 5, tisti, ki ste naredili hash tabele izvedb 785 00:41:49,000 --> 00:41:53,000 verjetno vstavili besedo in jo vstavite v verigi povezanih seznamov, 786 00:41:53,000 --> 00:41:56,000 ali ste shranili vrednost prave nekje ali nekaj v tem smislu. 787 00:41:56,000 --> 00:41:59,000 Si nekako spomnil na dejstvo, da je beseda bila tam. 788 00:41:59,000 --> 00:42:01,000 Za zdaj, da se bo moj razpršena tabela, 789 00:42:01,000 --> 00:42:06,000 in sedaj, da gredo o izvajanju potrditveno funkcijo 790 00:42:06,000 --> 00:42:09,000 Moram pogledati znotraj tega hash tabele 791 00:42:09,000 --> 00:42:11,000 in videli, če je beseda tam. 792 00:42:11,000 --> 00:42:15,000 Kaj sem storil je, da sem bom rekel, če- 793 00:42:15,000 --> 00:42:20,000 recimo isset, ki je PHP funkcijo, ki dobesedno pomeni le ključ set, 794 00:42:20,000 --> 00:42:24,000 Tako isset ($ tabela [$ beseda] 795 00:42:24,000 --> 00:42:29,000 in če je tako vrnil res. 796 00:42:29,000 --> 00:42:32,000 To je to. To je pset 5 v PHP. 797 00:42:32,000 --> 00:42:34,000 No, v poštenosti, v redu. 798 00:42:34,000 --> 00:42:37,000 Else return false, tako da je ni. 799 00:42:37,000 --> 00:42:39,000 Kaj se v resnici dogaja? 800 00:42:39,000 --> 00:42:42,000 No, če namizni ali razpršena tabela tukaj bolj na splošno, 801 00:42:42,000 --> 00:42:46,000 je asociativno polje, ki pomeni, da lahko indeks vanjo 802 00:42:46,000 --> 00:42:50,000 z besedo, kot je "besedo," in jih morate dobiti nazaj nekaj vrednosti. 803 00:42:50,000 --> 00:42:52,000 >> Mi smo nekako dobili en korak pred nami. 804 00:42:52,000 --> 00:42:56,000 To bi bilo nekako lepo, če bi dejansko naloženo datoteko prvič, 805 00:42:56,000 --> 00:42:58,000 tako obremenitev ni tako preprosto, a naj grem naprej in Ščepati 806 00:42:58,000 --> 00:43:00,000  res hitro izvajanje obremenitve. 807 00:43:00,000 --> 00:43:07,000 Naj gredo naprej in reči besede dobi datoteke zbirko. 808 00:43:07,000 --> 00:43:10,000 Datoteka funkcija v PHP odpre datoteko 809 00:43:10,000 --> 00:43:12,000 in se vrne v vas paleto vseh besed v tej datoteki, 810 00:43:12,000 --> 00:43:14,000 samo jih preda na vas. 811 00:43:14,000 --> 00:43:16,000 To je bila velika bolečina preveč, kajne? 812 00:43:16,000 --> 00:43:21,000 Zdaj foreach, to je naš novi konstrukt, foreach ($ $ besede kot besede). 813 00:43:21,000 --> 00:43:25,000 Ta zanka se bo začela čez ponavljanjem matrične besede 814 00:43:25,000 --> 00:43:30,000 in dodeliti spremenljivke $ besedne vsako besedo v datoteki 815 00:43:30,000 --> 00:43:32,000 od prvega do drugega do tretjega do četrtega vseh poti 816 00:43:32,000 --> 00:43:35,000 tako da mi ni treba storiti siten [i] zapis in podobno. 817 00:43:35,000 --> 00:43:38,000 In kaj sem preprosto naredili za vsako od teh besed 818 00:43:38,000 --> 00:43:43,000 se shrani v mojo mizo z indeksiranjem v tabeli 819 00:43:43,000 --> 00:43:47,000 in potem gre res, ker, da se spomnimo 820 00:43:47,000 --> 00:43:50,000 da je beseda v mojem slovarju, vse res morate storiti 821 00:43:50,000 --> 00:43:55,000 je neke vrste flip bit in rekel te besede v mojem hash tabelo je tam, res. 822 00:43:55,000 --> 00:43:58,000 In če je ni, jaz ne bi bilo treba izrecno dati napačne, 823 00:43:58,000 --> 00:44:01,000 sicer sem moral dati vse možne napačne besede v vesolju. 824 00:44:01,000 --> 00:44:05,000 >> Zadostuje za mene samo, da določi vrednost indeksa 825 00:44:05,000 --> 00:44:09,000 se pravi, če je beseda dejansko v mojem hash tabele. 826 00:44:09,000 --> 00:44:12,000 Zdaj, jaz rezanje nekaj koncev sem, da bom pomahal roke na za zdaj, 827 00:44:12,000 --> 00:44:15,000 zdaj pa se izvede obremenitev funkcijo. 828 00:44:15,000 --> 00:44:18,000 Naložim vse besede iz datoteke v array. 829 00:44:18,000 --> 00:44:21,000 Ponovil sem nad to polje, in za vsako besedo v matriki 830 00:44:21,000 --> 00:44:24,000 Jaz ga priključite na svoj hash tabelo z 1 vrstico kode. 831 00:44:24,000 --> 00:44:26,000 To je zabavno. Saj veš, kako lahko izvajamo velikost zdaj? 832 00:44:26,000 --> 00:44:28,000 No, velikost je vedno zelo enostavno, v poštenosti. 833 00:44:28,000 --> 00:44:32,000 Tu si lahko sploh vrnili štetje mizo. 834 00:44:32,000 --> 00:44:34,000 To je zelo enostavno preveč, prešteti število stvari v tabeli. 835 00:44:34,000 --> 00:44:36,000 To je pravzaprav nekakšen ni najbolj učinkovita. 836 00:44:36,000 --> 00:44:39,000 Verjetno bi moral imeti spremenljivko z imenom velikosti, tako da lahko to storite 837 00:44:39,000 --> 00:44:41,000 v stalnem času, vendar je zelo enostavno. 838 00:44:41,000 --> 00:44:45,000 Oh, in nato razložiti, če želimo, da je analni tukaj 839 00:44:45,000 --> 00:44:47,000 lahko rečemo, da je, kako si razložiti nekaj. 840 00:44:47,000 --> 00:44:49,000 Pravkar si nastavite spremenljivko, ki je enaka prazen niz, 841 00:44:49,000 --> 00:44:51,000 in da se je znebil vsega, kar je bilo tam. 842 00:44:51,000 --> 00:44:53,000 Ni potrebe, da pokličete na brezplačno. 843 00:44:53,000 --> 00:44:56,000 >> Spet sem cut nekaj kotičkov, Opravičujemo se za težave niz dodeljevanje 5 844 00:44:56,000 --> 00:45:00,000 morda v C, če pa greste naprej in zagon tega, 845 00:45:00,000 --> 00:45:02,000 Grem v resnici vodi različico, ki sem napisal v vnaprej 846 00:45:02,000 --> 00:45:05,000 samo zato, da nisem naredil nobene napake sintaktične whatsoever. 847 00:45:05,000 --> 00:45:08,000 Naj gredo naprej in zagon speller. Uporaba je enaka. 848 00:45:08,000 --> 00:45:12,000 Tukaj je slovar datoteka, ki vsebuje samo besedo foo. 849 00:45:12,000 --> 00:45:15,000 Tukaj je besedilna datoteka, ki vsebuje samo foo bar. 850 00:45:15,000 --> 00:45:19,000 Naj črkovanja to, tako speller, ki uporabljajo to datoteko slovarja na tem besedilno datoteko. 851 00:45:19,000 --> 00:45:21,000 Še ena beseda napačno črkovana, bar, in voila. 852 00:45:21,000 --> 00:45:23,000 Sestavljeno v pset 5. 853 00:45:23,000 --> 00:45:30,000 Oglejmo 5-minutni odmor tukaj, pa bomo vrnili in še več na PHP. 854 00:45:30,000 --> 00:45:32,000 V redu, smo nazaj. 855 00:45:32,000 --> 00:45:34,000 Naj me ne sovražiš, za nekaj časa. 856 00:45:34,000 --> 00:45:37,000 Poglejmo sedaj dejansko videli, če to ni pozitivno 857 00:45:37,000 --> 00:45:39,000 dejansko izvajanje te stvari v PHP. 858 00:45:39,000 --> 00:45:43,000 Ki pa je 45 sekund, da izvesti. 859 00:45:43,000 --> 00:45:45,000 >> Ampak gremo naprej in zdaj vodijo stvari. 860 00:45:45,000 --> 00:45:49,000 Naj gredo naprej in zagon različico C 861 00:45:49,000 --> 00:45:52,000 za speller, in ga bomo teči eno največjih zbirk, 862 00:45:52,000 --> 00:45:54,000 ki je King James Bible. 863 00:45:54,000 --> 00:45:57,000 In to tukaj je, greva v našo mapo C, 864 00:45:57,000 --> 00:46:01,000 speller na King James 5.. 865 00:46:01,000 --> 00:46:03,000 Veliko napačno črkovane besede. 866 00:46:03,000 --> 00:46:06,000 Ok, tako da je moč si verjetno dobil, čeprav so časi nekoliko drugačni, 867 00:46:06,000 --> 00:46:09,000 če imaš vse deluje pravilno, in tako čas, v skupnem črkovanja 868 00:46:09,000 --> 00:46:13,000 King James Bible je 0,38 sekunde, tako da zelo dobro uporabljati to izvajanje. 869 00:46:13,000 --> 00:46:16,000 Zdaj pa grem v različico PHP, ki smo ga pravkar napisal. 870 00:46:16,000 --> 00:46:18,000 Naj teče speller na kralja Jamesa. 871 00:46:18,000 --> 00:46:21,000 Ops, prezreti to napako. Jaz sem v napačnem imeniku. 872 00:46:21,000 --> 00:46:24,000 Speller na King James 5.. 873 00:46:46,000 --> 00:46:48,000 Skoraj končano. 874 00:46:48,000 --> 00:46:51,000 >> Ok, prebrisan opazovalec zavedajo, da je bilo več kot 3 sekunde tam. 875 00:46:51,000 --> 00:46:54,000 To je res teče čas. 876 00:46:54,000 --> 00:46:58,000 Izkazalo se je, da je potreben čas, da pljuvati veliko besedila, ki 877 00:46:58,000 --> 00:47:00,000 ker buffering vprašanja, vendar skrajšam zgodbo, 878 00:47:00,000 --> 00:47:04,000 da je bila 3,15 sekunde časa stroja, CPU čas, 879 00:47:04,000 --> 00:47:07,000 v primerjavi s tisto, kar je bilo pred nekaj trenutki? 880 00:47:07,000 --> 00:47:09,000 Kot 0,3. 881 00:47:09,000 --> 00:47:11,000 Mislim, da je red velikosti počasneje, tako da če je to 882 00:47:11,000 --> 00:47:14,000 smešno upočasnitev prihaja? 883 00:47:14,000 --> 00:47:17,000 No, kot se je zgodilo z večino vseh odločitvah, projektiranja, ki smo jih 884 00:47:17,000 --> 00:47:21,000 v razredu v zadnjih 9 tednov tam je skoraj vedno tako kompromis. 885 00:47:21,000 --> 00:47:24,000 Včasih med samo prostor, včasih med prostorom in časom, 886 00:47:24,000 --> 00:47:27,000 prostor, čas in razvojna prizadevanja in tudi tukaj, čeprav 887 00:47:27,000 --> 00:47:31,000 smo prihranili ogromno časa, morda potencialno 10-20-30 ure 888 00:47:31,000 --> 00:47:34,000 časa za razvoj izvajanju črkovalnik 889 00:47:34,000 --> 00:47:36,000 da jo brisal v samo 45 sekundah s tem jeziku 890 00:47:36,000 --> 00:47:40,000 cena, ki jo plača je, da je red velikosti počasneje kot rezultat, 891 00:47:40,000 --> 00:47:43,000 in to je ponavadi pri večini vseh razlaga jezik, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby Pearl ali drugih čemer 893 00:47:46,000 --> 00:47:49,000 če boš teči s pomočjo tolmača in jih prebral kodo 894 00:47:49,000 --> 00:47:52,000 Po vrsticah, od zgoraj navzdol, od leve proti desni, 895 00:47:52,000 --> 00:47:55,000 da posrednik bo trajalo nekaj časa sama, 896 00:47:55,000 --> 00:47:59,000 in kaj je tu občutek v 3 sekundah v primerjavi s 0,3 sekunde 897 00:47:59,000 --> 00:48:02,000 je dejstvo, da je ta posrednik, ki je dobesedno interpretirajo našo kodo 898 00:48:02,000 --> 00:48:05,000 Po vrsticah, in bog ne daj, če si znotraj zanke 899 00:48:05,000 --> 00:48:08,000 z veliko datoteko, ki vsebuje na tisoče besed. 900 00:48:08,000 --> 00:48:11,000 >> To režijske bo sešteti in dodajte in dodajte in sešteti. 901 00:48:11,000 --> 00:48:16,000 Za orodje, kot je ta, je to verjetno ni najboljši jezik za uporabo za izvajanje 902 00:48:16,000 --> 00:48:20,000 črkovalnik, če neposrednosti je v interesu svoje uporabnike in za vas. 903 00:48:20,000 --> 00:48:23,000 Toda razkošje imamo v tem trenutku je, če 904 00:48:23,000 --> 00:48:27,000 uporabljajo jezik, kot je PHP ali veliko razlagati jezikov 905 00:48:27,000 --> 00:48:30,000 v okviru svetovnega spleta, kar se tega tiče, imate korist 906 00:48:30,000 --> 00:48:34,000 da je internet veliko počasneje kot pri večini računalnikov. 907 00:48:34,000 --> 00:48:38,000 Imate GHz procesor računalnika, na 2 GHz, morda celo bolj v teh dneh. 908 00:48:38,000 --> 00:48:41,000 Toda realnost je na internetu je visok znesek latence 909 00:48:41,000 --> 00:48:45,000 pri čemer za JavaScript, da bi govoril na strežnik, čeprav smo videli prejšnji teden 910 00:48:45,000 --> 00:48:47,000 da je to zelo hitro, pol milisekund ali tako, 911 00:48:47,000 --> 00:48:51,000 da tudi dodaja gor, in če ste downloading stvari, kot so slike, 912 00:48:51,000 --> 00:48:54,000 ali fotografija Facebook ali pridobivanje neposrednih sporočil prek Ćaskanje Facebook, 913 00:48:54,000 --> 00:48:57,000 Gchat ali podobno, vse te povratnih časih 914 00:48:57,000 --> 00:49:00,000 med brskalnikom in strežnikom začetek sešteti, 915 00:49:00,000 --> 00:49:03,000 kar naredi vaše posebne izbire jezika v mnogih primerih 916 00:49:03,000 --> 00:49:07,000 sploh ni tako pomembno, da ste v redu z nekoliko počasnejšo jezik 917 00:49:07,000 --> 00:49:10,000 kot je PHP ali Python ali Ruby 918 00:49:10,000 --> 00:49:13,000 za katero pa obstajajo velike upsides za vas in vaše kolege 919 00:49:13,000 --> 00:49:17,000 in vaši prijatelji, saj lahko izvajajo stvari tako, toliko hitreje. 920 00:49:17,000 --> 00:49:20,000 In poleg tega, da imate veliko manj tveganja za nekatere pomanjkljivosti varnosti. 921 00:49:20,000 --> 00:49:22,000 Tukaj ni kazalci v PHP. 922 00:49:22,000 --> 00:49:25,000 Tukaj ni SEG napake, ki jih zlahka povzročijo 923 00:49:25,000 --> 00:49:27,000 na enak način, da bi lahko v C. 924 00:49:27,000 --> 00:49:29,000 S K si zelo blizu strojne opreme. 925 00:49:29,000 --> 00:49:33,000 Z PHP in podobne jezike, da si neke vrste višji ravni, tako rekoč, 926 00:49:33,000 --> 00:49:37,000 z veliko obramb med vami in kaj se pravzaprav dogaja 927 00:49:37,000 --> 00:49:39,000 v stroju, in to je samo kompromis. 928 00:49:39,000 --> 00:49:42,000 >> Imamo prišel do točke, da imajo te bolj sodobno, visoko raven jezika 929 00:49:42,000 --> 00:49:47,000 kot PHP zaradi izkušenj v jezikih, kot so PHP v C. 930 00:49:47,000 --> 00:49:50,000 Ampak, če ne boste razumeli, kaj se dogaja pod pokrovom ves ta čas 931 00:49:50,000 --> 00:49:53,000 potem zagotovo ne morete sprejeti prave odločitve, design, 932 00:49:53,000 --> 00:49:56,000 in seveda, ko gre za delo na mestu, kot so Facebook in Google 933 00:49:56,000 --> 00:49:59,000 Vsaka od teh krajev, ki so vedno bolj igrajo z velikimi nize podatkov 934 00:49:59,000 --> 00:50:01,000 tudi če greš nazaj in ne premed in delajo z nekaj MD 935 00:50:01,000 --> 00:50:04,000 na nekaterih velikih nabora podatkov vključujejo bolnike in zdravnike 936 00:50:04,000 --> 00:50:08,000 in podobno uporabo pravih orodij je zelo prepričljiv 937 00:50:08,000 --> 00:50:11,000 ker drugače bi vaša analiza nekega nabora podatkov traja sekund, 938 00:50:11,000 --> 00:50:14,000 ali bi lahko dobesedno traja ure. 939 00:50:14,000 --> 00:50:17,000 To je samo en primer, da vas ne ovirajo pri tem, koliko več napora 940 00:50:17,000 --> 00:50:21,000 je bilo v C pa vam pomaga, da cenim, ko se izvajajo kaj v C 941 00:50:21,000 --> 00:50:24,000 res razumete, ali v teoriji, razumem 942 00:50:24,000 --> 00:50:28,000 kako je vse, ali je treba delo, in ste skoraj popoln nadzor 943 00:50:28,000 --> 00:50:31,000 nad tem, kaj se dogaja pod pokrovom motorja in s tem višje ravni jezikov 944 00:50:31,000 --> 00:50:34,000 boste morali odreči večji nadzor na ljudi, ki jih je izumil 945 00:50:34,000 --> 00:50:37,000 in so predmet več načrtovanih odločitvah, kot vi. 946 00:50:37,000 --> 00:50:41,000 Ampak, če se nam zdi samoumevno, da je učinkovitost 947 00:50:41,000 --> 00:50:44,000 ni tako pomembno, na spletu, ker teh drugih vprašanj, 948 00:50:44,000 --> 00:50:47,000 le omrežne hitrosti so malo počasneje, kot CPU hitrosti vseeno, 949 00:50:47,000 --> 00:50:50,000 tako da bomo lahko nekako privoščiti, da uporabite nekoliko počasneje jezik 950 00:50:50,000 --> 00:50:55,000 če upsides so lahko razvijamo stvari, 10-krat hitreje ali celo več. 951 00:50:55,000 --> 00:50:57,000 >> Pa poglejmo, kako lahko začnemo s tem. 952 00:50:57,000 --> 00:51:00,000 Naj gredo v mapo 953 00:51:00,000 --> 00:51:03,000 Med primeri današnje pozval frosh.ims, 954 00:51:03,000 --> 00:51:06,000 in je to dejansko osebno motivirani z dejstvom, da je prva stvar, 955 00:51:06,000 --> 00:51:10,000 Pisal sem za splet leti po prevzemu CS50 in CS51 956 00:51:10,000 --> 00:51:14,000 je spletna stran za program Frosh UI, novinec Notranji šport, 957 00:51:14,000 --> 00:51:16,000 ki je takrat bilo to dovolj, da je pred leti v času 958 00:51:16,000 --> 00:51:19,000 ni spletna stran za ta program, čeprav je bilo ujeti, 959 00:51:19,000 --> 00:51:22,000 in namesto tega se je Proctor v katerem Wigglesworth, če si hotel 960 00:51:22,000 --> 00:51:26,000 registrirati za odbojko ali nogomet ali karkoli želite izpolniti kos papirja. 961 00:51:26,000 --> 00:51:28,000 Ti bi potem hodil po dvorišču. 962 00:51:28,000 --> 00:51:31,000 Ti bi nato potrkal na vrata in ga potisnite v njihovih vratih ali roko na Proctor 963 00:51:31,000 --> 00:51:34,000 kos papirja z vašim imenom na njej, ali ne želite, da se kapetan ekipe, 964 00:51:34,000 --> 00:51:37,000 kaj šport si hotel narediti in kaj domu si noter 965 00:51:37,000 --> 00:51:39,000 To je neke vrste stari način šolskega počne stvari, in to je bil glavni 966 00:51:39,000 --> 00:51:41,000 priložnost, da avtomatizirati veliko tega procesa. 967 00:51:41,000 --> 00:51:43,000 Greš na spletno stran. Vnesete nekaj palcev 968 00:51:43,000 --> 00:51:46,000 Dobiš e-poštni potrditev, in bum, ste končali. 969 00:51:46,000 --> 00:51:49,000 >> To je bila prva stvar, ki sem storil, čeprav v jeziku, ki se imenuje Pearl, 970 00:51:49,000 --> 00:51:52,000 ampak to je relativno enostavno narediti v PHP, in to je nekako predstavnik 971 00:51:52,000 --> 00:51:55,000 problemov, lahko začnete z reševanjem, ko si lahko sami izraziti 972 00:51:55,000 --> 00:51:58,000 programsko in ne bi bilo treba zanašati na stvari, kot so Googlovih spletnih mest 973 00:51:58,000 --> 00:52:01,000 ali Excel ali orodij, ki so predani za vas. 974 00:52:01,000 --> 00:52:03,000 Fantje imajo sedaj možnost, da to stvari, kot je ta. 975 00:52:03,000 --> 00:52:06,000 To je super grdo verzijo obrazca, 976 00:52:06,000 --> 00:52:09,000 ampak kaj je samo uporabiti za začetek pogovora, s katerim je to 977 00:52:09,000 --> 00:52:12,000 grobo, kar je oblika izgledala leti za nas 978 00:52:12,000 --> 00:52:14,000 da bi ljudje na spletu in se prijavite za Frosh UI. 979 00:52:14,000 --> 00:52:18,000 Prosili smo za ime, potrditveno polje za to, ali so želeli biti kapetan, 980 00:52:18,000 --> 00:52:21,000 moški ali ženska, in kaj potem domu so bili v, 981 00:52:21,000 --> 00:52:23,000 in potem bi poslali ta obrazec. 982 00:52:23,000 --> 00:52:27,000 Naj prvi pogled Pod pokrovom na HTML, ki predstavlja to spletno stran. 983 00:52:27,000 --> 00:52:31,000 Naj gredo v froshims0, 984 00:52:31,000 --> 00:52:35,000 in kot prahi, za pset 7 peljem samoumevnega 985 00:52:35,000 --> 00:52:37,000 imenike in mape, ki sem postavljanje stvari noter 986 00:52:37,000 --> 00:52:40,000 Vodili vas bomo skozi točno tam, kjer stvari mora iti v napravo, 987 00:52:40,000 --> 00:52:43,000 ki mod ukaze morate teči, zato naj vas ne skrbi vse 988 00:52:43,000 --> 00:52:46,000 neumni podrobnosti sinhronizacijo od get-go tukaj. 989 00:52:46,000 --> 00:52:49,000 >> V redu, tukaj je froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Naj se pomaknite navzdol in kaj je radoveden sem, 991 00:52:52,000 --> 00:52:56,000 To je PHP datotek, ampak kaj je v njej, jasno? 992 00:52:56,000 --> 00:52:59,000 To je cel kup HTML in seveda, PHP izvor 993 00:52:59,000 --> 00:53:02,000 res so bili za to, da spletna osredotočene jezik. 994 00:53:02,000 --> 00:53:04,000 Pred nekaj trenutki smo ga uporabili za izvajanje pivo primer, 995 00:53:04,000 --> 00:53:07,000 pogoji, na primer, zdravo primer, in to je v redu. 996 00:53:07,000 --> 00:53:11,000 Lahko uporabite PHP kot skriptni jezik 997 00:53:11,000 --> 00:53:15,000 če skript je res samo nomenklaturo za hitro in umazano programa 998 00:53:15,000 --> 00:53:19,000 ali nekaj, kar ste napisali v scenarij ali bolj na splošno interpretiranem jeziku. 999 00:53:19,000 --> 00:53:22,000 PHP je zelo koristno, da zato, ker ste videli, kako hitro 1000 00:53:22,000 --> 00:53:24,000 relativno lahko Ščepati programe v PHP. 1001 00:53:24,000 --> 00:53:27,000 Vendar je res namenjen za uporabo za splet, 1002 00:53:27,000 --> 00:53:31,000 in je oblikovana za splet v smislu, da opazite tu na vrhu datoteke 1003 00:53:31,000 --> 00:53:34,000 Jaz se začne z 00:53:38,000 Potem imam kup neuporabnih pripomb, danih, potem pa zaprem PHP način. 1005 00:53:38,000 --> 00:53:41,000 Potem pa sem se spustite v HTML načinu. 1006 00:53:41,000 --> 00:53:45,000 >> Zanimivo pa je, PHP, čeprav je datoteka konča. Php 1007 00:53:45,000 --> 00:53:48,000 to je na splošno mišljeno, da se pomešanih s HTML, 1008 00:53:48,000 --> 00:53:50,000 del kode PHP, nekatere HTML. 1009 00:53:50,000 --> 00:53:53,000 In bomo videli na koncu, da bomo lahko začeli dražiti tistih, razen 1010 00:53:53,000 --> 00:53:56,000 in ohranimo naš HTML ločena od našega PHP v celoti, 1011 00:53:56,000 --> 00:53:59,000 ampak izvor PHP bilo res, da bi vam to prožnost, 1012 00:53:59,000 --> 00:54:02,000 da če hočeš nekaj HTML samo pisati, in da bo 1013 00:54:02,000 --> 00:54:04,000 izpljunil enako za JavaScript. 1014 00:54:04,000 --> 00:54:07,000 Ampak, če boste potrebovali nekaj programske tehnike, 1015 00:54:07,000 --> 00:54:12,000 nekatere programske kode, lahko ga v isti točen datoteki, kot bomo kmalu videli. 1016 00:54:12,000 --> 00:54:14,000 Tukaj je moja HTML. 1017 00:54:14,000 --> 00:54:16,000 Imam naslov za to Frosh UI. 1018 00:54:16,000 --> 00:54:20,000 Imam telesa oznako, ki je dobil nekaj CSS na to, da vse centra v sredini, 1019 00:54:20,000 --> 00:54:23,000 in potem tukaj imam obrazec, ki je očitno se dogaja, da je treba predložiti 1020 00:54:23,000 --> 00:54:27,000 v novo datoteko z imenom register0.php, tako da bomo videli, da je v tem trenutku. 1021 00:54:27,000 --> 00:54:31,000 To je z uporabo metode, imenovane po, ki bomo prišli nazaj, kot dobro. 1022 00:54:31,000 --> 00:54:34,000 Potem sem nekaj obrazcev surovine, ena imenovana ime, katerega tip je besedilo, 1023 00:54:34,000 --> 00:54:37,000 1, katerega ime je kapitan, katerega tip je izbrana, 1024 00:54:37,000 --> 00:54:40,000 in to, da nismo videli prej, vendar pa točno to, kar pravi. 1025 00:54:40,000 --> 00:54:42,000 Boste dobili potrditveno polje namesto polja z besedilom. 1026 00:54:42,000 --> 00:54:46,000 Tukaj spodaj imate gumb, ki je eden od tistih okroglih gumbov 1027 00:54:46,000 --> 00:54:48,000 , ki jih lahko izbere bodisi eno ali to, da je eden. 1028 00:54:48,000 --> 00:54:52,000 >> Obvestilo, da je namerno, da sem dal tako radijske gumbe ime spol. 1029 00:54:52,000 --> 00:54:55,000 To je, kako boste dobili vzajemno izključenosti, s katerim morate klikniti 1030 00:54:55,000 --> 00:54:58,000 Ali to, da je eden ali ena, in s klikom na drugo 1031 00:54:58,000 --> 00:55:01,000 je unchecks drugega, tako da boste morali, da se jim z istim imenom 1032 00:55:01,000 --> 00:55:03,000 Če želite, da se med seboj izključujejo, kot je ta. 1033 00:55:03,000 --> 00:55:07,000 In potem na domu, jaz ne mislim, da sva videla to še ni, je pa izberite meni, spustni meni. 1034 00:55:07,000 --> 00:55:09,000 Tag za to je izbrati. 1035 00:55:09,000 --> 00:55:11,000 Nato daje spustnem meniju ime, 1036 00:55:11,000 --> 00:55:13,000 in potem imaš cel kup teh možnosti. 1037 00:55:13,000 --> 00:55:16,000 Prvi, samo za estetiko, je prazen niz. 1038 00:55:16,000 --> 00:55:20,000 Želel sem samo padec navzdol, da bo prazno privzeto 1039 00:55:20,000 --> 00:55:22,000 in potem je tukaj še Apley, Canaday, Grays, in tako naprej. 1040 00:55:22,000 --> 00:55:24,000 In opazil dihotomijo tukaj. 1041 00:55:24,000 --> 00:55:27,000 Možnost v spustnem ima svojo vrednost, 1042 00:55:27,000 --> 00:55:30,000 potem pa je človek prijazno ime, ki je v tem primeru 1043 00:55:30,000 --> 00:55:33,000 je enak, če pa resnično želela biti analni bi lahko imeli 1044 00:55:33,000 --> 00:55:36,000 vrednost tega spustnega samo se kratka verzija, 1045 00:55:36,000 --> 00:55:39,000 Grays, vendar bi lahko resnično rečemo, Grays Dvorana, da je človek dejansko vidi, 1046 00:55:39,000 --> 00:55:43,000 ampak to še ni vse, da je zanimivo, zato sem kar naprej je preprosto in jih naredil enako. 1047 00:55:43,000 --> 00:55:46,000 Potem dol na dnu imamo na gumb submit 1048 00:55:46,000 --> 00:55:49,000 kar smo videli prej, vendar sem opazil, ji je dal drugo besedo. 1049 00:55:49,000 --> 00:55:53,000 Namesto CS50 iskanju sem dal oznako "register". 1050 00:55:53,000 --> 00:55:56,000 >> Končni rezultat je ta spletna stran, tu in tam, 1051 00:55:56,000 --> 00:56:00,000 kje se ta predloži? 1052 00:56:00,000 --> 00:56:04,000 To postane predložiti nekatere datoteke, vrednost ukrepa atributa, 1053 00:56:04,000 --> 00:56:07,000 ki je bil register0.php. 1054 00:56:07,000 --> 00:56:09,000 Pa poglejmo, kaj se dejansko dogaja. 1055 00:56:09,000 --> 00:56:13,000 Naj gredo naprej in izpolnite obrazec, pravi David, 1056 00:56:13,000 --> 00:56:16,000 moški, Matthews, potem bom rekel registrirati. 1057 00:56:16,000 --> 00:56:18,000 Naj pomanjšanje in kliknite registrirati. 1058 00:56:18,000 --> 00:56:22,000 Ok, tako nekako nekoristno, temveč poglejmo, kaj se dejansko dogaja. 1059 00:56:22,000 --> 00:56:26,000 Opazili boste, da se je spremenilo, da je URL register0.php. 1060 00:56:26,000 --> 00:56:34,000 Kaj je čudno odsoten od naslova, čeprav, čeprav smo samo predložil obrazec? 1061 00:56:34,000 --> 00:56:37,000 [Neslišno študentski odziv] 1062 00:56:37,000 --> 00:56:39,000 Ok, to je samo Chrome biti prijazen do uporabnika v teh dneh. 1063 00:56:39,000 --> 00:56:42,000 To je dejansko tam. Pravkar so ga skrili in tako prihranite prostor. 1064 00:56:42,000 --> 00:56:44,000 Ampak dobra misel, dobra misel. 1065 00:56:44,000 --> 00:56:46,000 Proti drugi konec URL-ja, čeprav, kaj manjka? Ja. 1066 00:56:46,000 --> 00:56:48,000 [Študent] V poizvedbi. 1067 00:56:48,000 --> 00:56:51,000 Poizvedbi, da odpokliče iz naših preprostih primerov iskanja Google. 1068 00:56:51,000 --> 00:56:54,000 Takoj, ko sem kliknite na gumb za pošiljanje URL 1069 00:56:54,000 --> 00:57:00,000 me je na Googlu, potem pa se je? q = računalništva ali karkoli sem vtipka 1070 00:57:00,000 --> 00:57:04,000 To je zato, ker smo uporabili metodo get z iskalnim primer. 1071 00:57:04,000 --> 00:57:06,000 >> Tokrat smo ga uporabljate na kakšen način namesto tega? 1072 00:57:06,000 --> 00:57:10,000 Prispevek, in eden od neposrednih razlik 1073 00:57:10,000 --> 00:57:14,000 Med dobili in objavili, da je objava ne ogroža prispevek uporabnikov v URL. 1074 00:57:14,000 --> 00:57:16,000 To skrije. Še vedno ga pošlje. 1075 00:57:16,000 --> 00:57:19,000 V bistvu, kaj smo videli v brskalniku tukaj, saj bomo razkrila v trenutku 1076 00:57:19,000 --> 00:57:22,000 ga je videti na register0 se bom le videl vsebino 1077 00:57:22,000 --> 00:57:25,000 na polja, ki so bili predloženi iz brskalnika v strežniku. 1078 00:57:25,000 --> 00:57:29,000 Toda URL nima?, Nima ključne besede 1079 00:57:29,000 --> 00:57:31,000 ali vrednosti v njem, in zakaj je to? 1080 00:57:31,000 --> 00:57:35,000 No, dopušča, da še vedno predložijo podatke iz obrazca na strežniku, 1081 00:57:35,000 --> 00:57:38,000 vendar ga ne dajo v URL, tako da kakšne informacije je pošta 1082 00:57:38,000 --> 00:57:41,000 še posebej primerno za morda takrat, ko ste asking uporabnik 1083 00:57:41,000 --> 00:57:44,000 vnesite v prispevku k obrazcu? 1084 00:57:44,000 --> 00:57:48,000 Nekaj ​​podobnega gesla, nekaj podobnega kaj drugega? 1085 00:57:48,000 --> 00:57:50,000 Številke kreditnih kartic. 1086 00:57:50,000 --> 00:57:53,000 Vse, kar je rahlo občutljiv verjetno ne želite, da bi končali v URL 1087 00:57:53,000 --> 00:57:56,000 če samo zato, ker to pomeni, da lahko vaš sostanovalec ali družinski član samo troll prek 1088 00:57:56,000 --> 00:57:59,000 vaš internet zgodovino in nato dobesedno videli vaše geslo, 1089 00:57:59,000 --> 00:58:02,000 dobesedno videli vaše številke kreditne kartice, ker večina brskalnikov 1090 00:58:02,000 --> 00:58:05,000 Spomnim se v zgodovini ne glede na URL ste bili na, 1091 00:58:05,000 --> 00:58:09,000 tako da, če samo zato, ker bi bilo to slaba ideja. 1092 00:58:09,000 --> 00:58:11,000 Uporaba objava kože, ki podrobno od uporabnika. 1093 00:58:11,000 --> 00:58:14,000 >> Tudi, kako lahko naložite fotografijo na Facebooku? 1094 00:58:14,000 --> 00:58:17,000 No, samo 2 mehanizmi lahko res uporabljali, 1095 00:58:17,000 --> 00:58:21,000 čeprav obstaja še nekaj drugih bolj skrivnostne tisti se dobili in objavili. 1096 00:58:21,000 --> 00:58:26,000 Kako si lahko naložite fotografijo prek URL-ja? 1097 00:58:26,000 --> 00:58:28,000 Lahko dejansko storiti. 1098 00:58:28,000 --> 00:58:30,000 Lahko se JPEG ali bitne slike ali GIF in ga lahko predstavljajo v šestnajstiškem 1099 00:58:30,000 --> 00:58:32,000 ali nekaj, kar ti osnova 64. 1100 00:58:32,000 --> 00:58:35,000 Namesto osnove 16 uporabite osnovno 64, ki v bistvu izgleda kot 1101 00:58:35,000 --> 00:58:38,000 Znaki ASCII, in lahko dejansko naložite fotografijo prek URL 1102 00:58:38,000 --> 00:58:41,000 po vprašajem, vendar so na splošno omejitev velikosti. 1103 00:58:41,000 --> 00:58:44,000 Večina brskalnikov prisiliti URL-ji ne sme preseči 1000 znakov, 1104 00:58:44,000 --> 00:58:47,000 Mogoče 2000 znakov ali podobno, tako da ne more naložiti 1105 00:58:47,000 --> 00:58:50,000 10 MB Facebook fotografija. 1106 00:58:50,000 --> 00:58:54,000 Za to lahko uporabite mesto, kot tudi, da za zdaj se postavlja parametrov v URL, 1107 00:58:54,000 --> 00:58:57,000 kar je lepo in koristno včasih, ampak za vse občutljive ali velika 1108 00:58:57,000 --> 00:58:59,000 post je pot. 1109 00:58:59,000 --> 00:59:02,000 Kaj je register0 dejansko delaš tukaj? 1110 00:59:02,000 --> 00:59:05,000 No, če sem odprla register0 sporoča, da je to super enostavno stran, 1111 00:59:05,000 --> 00:59:09,000 vendar to dokazuje dejstvo, da sem lahko sodeloval družijo, za boljše ali slabše, 1112 00:59:09,000 --> 00:59:12,000 HTML s PHP. 1113 00:59:12,000 --> 00:59:15,000 To celotno sliko, razen za pripombe na vrhu, so HTML 1114 00:59:15,000 --> 00:59:19,000 razen tega tipa tukaj. 1115 00:59:19,000 --> 00:59:22,000 >> Obvestilo sredi mojega PHP kodo, 1116 00:59:22,000 --> 00:59:26,000 sredi mojega HTML, imam neke vrste začasno 1117 00:59:26,000 --> 00:59:28,000 začel PHP način. 1118 00:59:28,000 --> 00:59:31,000 Kličem posebno funkcijo imenovano tiskanje r. 1119 00:59:31,000 --> 00:59:34,000 To pomeni, tiskanje rekurzivna in kaj počne, je to rekurzivno tiska 1120 00:59:34,000 --> 00:59:38,000 ne glede na spremenljivo ga predali, podpičje, izhod PHP način. 1121 00:59:38,000 --> 00:59:40,000 In pred oznako vam vnaprej oblikovano besedilo, 1122 00:59:40,000 --> 00:59:43,000 mono prostor besedilo, tako da je vsak prostor, ki ga zares videla. 1123 00:59:43,000 --> 00:59:46,000 To ne izgine. Kaj je po? 1124 00:59:46,000 --> 00:59:48,000 Torej, kaj je zanimivo in privlačno PHP 1125 00:59:48,000 --> 00:59:52,000 je, da vsakič, ko predloži obrazec s GET ali POST 1126 00:59:52,000 --> 00:59:56,000 vse, kar je predložila vam brskalnik 1127 00:59:56,000 --> 01:00:00,000 PHP sama zneske, katere so tiste ključne vrednosti pari, 1128 01:00:00,000 --> 01:00:02,000 številke, če je v zvezi z enakimi znaki, številke, če obstaja vprašaj. 1129 01:00:02,000 --> 01:00:07,000 To počne vse trdo delo za vas, potem pa roke vam asociativni niz 1130 01:00:07,000 --> 01:00:10,000 , ki vsebuje vse, kar si vnesli v obrazec. 1131 01:00:10,000 --> 01:00:12,000 No, kaj pa je ta oblika polja so? 1132 01:00:12,000 --> 01:00:14,000 >> Imel je 4 polja. 1133 01:00:14,000 --> 01:00:16,000 Ena je polje z besedilom, imenovano ime. 1134 01:00:16,000 --> 01:00:18,000 Eden je bil imenovan kapetan polje. 1135 01:00:18,000 --> 01:00:22,000 Eden je bil radijski gumb imenuje spol, 1136 01:00:22,000 --> 01:00:24,000 in eden spustni meni pozval domu, 1137 01:00:24,000 --> 01:00:27,000 tako opazil, ko sem natisniti rekurzivno 1138 01:00:27,000 --> 01:00:29,000 Vsebino te posebne spremenljivke. 1139 01:00:29,000 --> 01:00:34,000 To je posebna globalna spremenljivka se imenuje dobesedno $ _POST v vseh kape. 1140 01:00:34,000 --> 01:00:39,000 To je posebna globalna spremenljivka, da PHP ustvari samo za vas 1141 01:00:39,000 --> 01:00:42,000 in roke za vas, tako da lahko dostopate do vsega 1142 01:00:42,000 --> 01:00:45,000 , ki je bil predložen prek obrazca s strani uporabnika. 1143 01:00:45,000 --> 01:00:48,000 In s pozivom tiskanja r na to, da ne bi to v normalni uporabi. 1144 01:00:48,000 --> 01:00:50,000 Delamo to, da vidim notranjost te spremenljivke, 1145 01:00:50,000 --> 01:00:53,000 in kaj je v njej, no, 4 tipke, 1146 01:00:53,000 --> 01:00:56,000 4 http parametri, če se tako izrazim, 1147 01:00:56,000 --> 01:00:59,000 Ime, kapitan, spol, domu, nato pa so vrednote, ki si 1148 01:00:59,000 --> 01:01:01,000 vnesli v z eno izjemo. 1149 01:01:01,000 --> 01:01:03,000 Nisem tip D-V-I-D. 1150 01:01:03,000 --> 01:01:05,000 Preveril sem škatlo, čeprav, za moškega, ki je očitno predložila vrednost 1151 01:01:05,000 --> 01:01:07,000 za malo m biti jedrnat. 1152 01:01:07,000 --> 01:01:10,000 >> Ko sem izbral Matthews, ki je vrednost, da imam izbran, 1153 01:01:10,000 --> 01:01:12,000 in to je malo neumno, ampak to je konvencija. 1154 01:01:12,000 --> 01:01:17,000 Ko sem preveril polje, vrednost na ", na" dobil predloži potrditveno polje. 1155 01:01:17,000 --> 01:01:21,000 Če ne bi preveril, bi bilo brez vrednosti sploh poslan. 1156 01:01:21,000 --> 01:01:26,000 To je samo, da nam vpogled v to, kaj je notri tega posebnega globalne spremenljivke, 1157 01:01:26,000 --> 01:01:29,000 in je tako posebnega, da se imenuje super globalna spremenljivka. 1158 01:01:29,000 --> 01:01:33,000 Obstaja Povsod v kodi, tako da lahko dejansko dostop. 1159 01:01:33,000 --> 01:01:36,000 To ni tako prepričljiv, tako da je dejansko porabijo super GLOBAL 1160 01:01:36,000 --> 01:01:38,000 in dejansko poskušali prijaviti nekoga. 1161 01:01:38,000 --> 01:01:41,000 V froshims1 bom narediti eno spremembo. 1162 01:01:41,000 --> 01:01:44,000 Jaz sem spremembo tožbe, register1.php, 1163 01:01:44,000 --> 01:01:46,000 in delam še eno stvar. 1164 01:01:46,000 --> 01:01:48,000 Bil sem nekako nerodno kakovosti moji spletni strani tam. 1165 01:01:48,000 --> 01:01:52,000 To je zelo grda, po pravici povedano, tako se je izkazalo, 1166 01:01:52,000 --> 01:01:56,000 ki jih lahko uporabite zelo enostavno na spletu 1167 01:01:56,000 --> 01:01:59,000 drugih ljudi JavaScript kodo drugih ljudi CSS 1168 01:01:59,000 --> 01:02:02,000 ki so napisali in odprt izvirajo in so na voljo v knjižnici, 1169 01:02:02,000 --> 01:02:06,000 če se tako izrazim, in na primer, tukaj sem z uporabo prosto dostopne knjižnice, 1170 01:02:06,000 --> 01:02:08,000 kup kode, ki je nekdo drug napisal. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter se je zgodilo, da napišem to kodo, in to se imenuje bootstrap knjižnica 1172 01:02:11,000 --> 01:02:15,000 in to je samo kup slogov CSS, šopek. css datoteke 1173 01:02:15,000 --> 01:02:19,000 da se je nekdo napisal in pogruntal, kako priti vse lepo in lepa 1174 01:02:19,000 --> 01:02:22,000 tako da lahko ljudje, kot smo mi malo manj skrbi glede estetike in veliko bolj osredotočiti 1175 01:02:22,000 --> 01:02:24,000 na logiki in dejansko programiranja. 1176 01:02:24,000 --> 01:02:30,000 S to povezavo se s to oznako, ki je enaka tag sem si zapomnite za styles3.css prej, 1177 01:02:30,000 --> 01:02:34,000 Zdaj imam dostop do spisa, imenovano bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Min pomeni le, da sem ga minified in so jih znebiti vseh prazen prostor in tako naprej 1179 01:02:37,000 --> 01:02:40,000 Samo se prepričajte, da ste ne pošiljaj mi več zlogov, kot sem dejansko potrebujejo. 1180 01:02:40,000 --> 01:02:45,000 Ampak tam je cel kup CSS, tako da, če bom odprl različica 1 Frosh UI 1181 01:02:45,000 --> 01:02:49,000 opazil, da je moja datoteka zagotovo lepši. 1182 01:02:49,000 --> 01:02:54,000 Zdaj je še vedno le črno-belo, ampak obvestilo, da jih samo z uporabo svoje slogov 1183 01:02:54,000 --> 01:02:58,000 in uporabo določenih funkcij na mojem obrazcu ni neverjetno, 1184 01:02:58,000 --> 01:03:01,000 ampak to je zagotovo čistejši, kot je bilo prej, in projektor ne naredi to pravico. 1185 01:03:01,000 --> 01:03:05,000 Še malo sive črte okoli gumbov in okrog polje tukaj, 1186 01:03:05,000 --> 01:03:07,000 ampak to je zagotovo čistejši, kot je bilo prej. 1187 01:03:07,000 --> 01:03:09,000 >> Zdaj, v poštenosti, sem moral spremeniti moje označevalni bit. 1188 01:03:09,000 --> 01:03:12,000 To je verzija 1, in opazil, da sem uporabljal tudi nekaj novih oznak 1189 01:03:12,000 --> 01:03:17,000 in iskreno, nisem imel pojma, kako to storiti, dokler nisem prebral dokumentacijo 1190 01:03:17,000 --> 01:03:20,000 za knjižnico bootstrap Twitter, in so mi rekli, če želite uporabljati našo knjižnico 1191 01:03:20,000 --> 01:03:23,000 uporabite fieldset element v vašem obrazcu, 1192 01:03:23,000 --> 01:03:27,000 dal besedo, ki jo želite prikazati poleg polja notranjost etikete oznako, 1193 01:03:27,000 --> 01:03:30,000 potem bi vaš vložek ime, tako kot prej, 1194 01:03:30,000 --> 01:03:34,000 in nato v kvadratek, ne samo, da ga ovijte v okolje elementa, 1195 01:03:34,000 --> 01:03:36,000 uporabite nekaj, kar ti razred, tako da nismo videli že prej, 1196 01:03:36,000 --> 01:03:39,000 pa boste videli to v enem hlače pset 7 je. 1197 01:03:39,000 --> 01:03:43,000 Razred v CSS vam omogoča, da naredite nekaj zelo podobnega ID, 1198 01:03:43,000 --> 01:03:46,000 ampak prej, ko smo imeli ID z oznako # 1199 01:03:46,000 --> 01:03:48,000 da je za eno in samo en element. 1200 01:03:48,000 --> 01:03:51,000 Kaj je lepo o razredu je, da lahko več elementov imajo isti razred 1201 01:03:51,000 --> 01:03:54,000 ali isti stvari CSS se uporablja za to. 1202 01:03:54,000 --> 01:03:57,000 >> Ampak še enkrat, bolj na tiste, ki na kratek in preostalim to je samo kopiraj in prilepi 1203 01:03:57,000 --> 01:04:00,000 iz njihove dokumentacije, kjer sem dodal nalepko tu in tam. 1204 01:04:00,000 --> 01:04:03,000 In na koncu, ker sem vključil povezavo oznako na vrhu, 1205 01:04:03,000 --> 01:04:06,000 vse izgleda lepša samodejno 1206 01:04:06,000 --> 01:04:10,000 s tem da preprosto označi svojo stran na način, ki 1207 01:04:10,000 --> 01:04:12,000 Twitter pričakuje, in tam je tako veliko različnih načinov 1208 01:04:12,000 --> 01:04:14,000 o tem, in to je res zelo primerno. 1209 01:04:14,000 --> 01:04:17,000 Na tej točki v polletju, kot boste videli v določilu pset 7 je, 1210 01:04:17,000 --> 01:04:20,000 Googling okoli, branju o knjižnicah, uporaba drugih ljudi CSS 1211 01:04:20,000 --> 01:04:23,000 in JavaScript za reševanje sistemskih problemov 1212 01:04:23,000 --> 01:04:26,000 s težavo nizu je sama zagotovo spodbuja in je pot 1213 01:04:26,000 --> 01:04:29,000 Web je zgrajena v teh dneh, stal na ramenih drugih ljudi 1214 01:04:29,000 --> 01:04:32,000 tako da lahko res osredotočiti na nove in zanimive probleme. 1215 01:04:32,000 --> 01:04:34,000 Ampak kaj je zdaj osredotočiti na spet logiko. 1216 01:04:34,000 --> 01:04:38,000 >> To je bilo hitro obvoz na estetiko samo, da vam pokažem, v katero smer lahko gremo. 1217 01:04:38,000 --> 01:04:40,000 Grem, da se vrne nazaj na grši 1 za zdaj samo zato, ker 1218 01:04:40,000 --> 01:04:44,000 ni nobenih motečih stvari s strani Twitter in naj gredo naprej in odpiranje 1219 01:04:44,000 --> 01:04:51,000 froshims2, ki prav tako razlikuje le v akciji, register2.php, 1220 01:04:51,000 --> 01:04:55,000 in pa si oglejte, kaj je učinek tukaj. 1221 01:04:55,000 --> 01:04:57,000 Naj gredo naprej in vnesite Davida. 1222 01:04:57,000 --> 01:04:59,000 Ne bom tokrat kapetan. 1223 01:04:59,000 --> 01:05:01,000 Jaz bom rekel moški, Matthews, register. 1224 01:05:01,000 --> 01:05:05,000 Prekleto. Ok, to je vijak na moji strani. 1225 01:05:05,000 --> 01:05:07,000 Pripravite se. 1226 01:05:07,000 --> 01:05:17,000 Register2, linija 22, če je prazna, ali pa, žal. 1227 01:05:17,000 --> 01:05:19,000 Naj osvežite. 1228 01:05:19,000 --> 01:05:22,000 Ok, po predložitvi tega obrazca, kaj se je zgodilo? 1229 01:05:22,000 --> 01:05:25,000 Sem tipkal z Davidom, preveri moški, kliknili Matthews, register. 1230 01:05:25,000 --> 01:05:27,000 Prijavljeni ste. (No, ni res.) 1231 01:05:27,000 --> 01:05:32,000 To je očitno korak več kot le tiskanje vsebine neke spremenljivke, 1232 01:05:32,000 --> 01:05:34,000 ampak kaj je ta datoteka dejansko počne? 1233 01:05:34,000 --> 01:05:37,000 V register2.php 1234 01:05:37,000 --> 01:05:40,000 opazil, da imam novo kodo. 1235 01:05:40,000 --> 01:05:44,000 Znotraj moje telo tag imam v bistvu, če še gradi, 1236 01:05:44,000 --> 01:05:47,000 ampak zato, ker sem sodeloval z nekaterimi druženje to HTML 1237 01:05:47,000 --> 01:05:51,000 Imam za vstop in izstop PHP način in nazaj, tako da vidimo, kaj delam. 1238 01:05:51,000 --> 01:05:55,000 >> V prvi vrsti tu mislim, če je tako 1239 01:05:55,000 --> 01:06:00,000 da je mesto super svetovni prazna za ključ imena, 1240 01:06:00,000 --> 01:06:04,000 tako z drugimi besedami, če uporabnik ni mi vrednost za ime v obliki, 1241 01:06:04,000 --> 01:06:07,000 potem prazna vrača res, saj je vrednost prazna. 1242 01:06:07,000 --> 01:06:11,000 Ali opazite, navpične palice, če je spol prazna 1243 01:06:11,000 --> 01:06:15,000 znotraj tega posebnega super svetovni ravni, kar pa spet predstavlja vsebino obrazca, 1244 01:06:15,000 --> 01:06:19,000 ali je prazna domu, potem pa grem, da gredo naprej in kričati na uporabnika. 1245 01:06:19,000 --> 01:06:22,000 Kako? No, opazil sem hotel reči, morate navesti ime, spol, in študentskem domu. 1246 01:06:22,000 --> 01:06:24,000 Naj dejansko povzroči to napako. 1247 01:06:24,000 --> 01:06:27,000 Naj grem nazaj v mojo obliki. Naj ponovno naložiti, da je jasno. 1248 01:06:27,000 --> 01:06:30,000 In grem, da se jim Davida in jim ni treba vedeti, kje živim. 1249 01:06:30,000 --> 01:06:33,000 Registracija. Očitno mi jih moramo povedati, kje živim. 1250 01:06:33,000 --> 01:06:35,000 Navesti morate ime, spol in dom. Pojdi nazaj. 1251 01:06:35,000 --> 01:06:39,000 >> In sem lahko kliknete, da pridete nazaj v taki obliki, ampak zakaj je to? 1252 01:06:39,000 --> 01:06:43,000 No, v tem primeru imena ni bila prazna, ampak spol je bila in je bil domu, 1253 01:06:43,000 --> 01:06:47,000 Torej, vsa ta izraz ocenijo, da res, in čeprav je sintaksa malo novega, 1254 01:06:47,000 --> 01:06:51,000 ponovno vnesemo PHP način, znan po izjavi, 1255 01:06:51,000 --> 01:06:54,000 vendar pa je novi del tukaj je samo to debelo črevo, in sem zamočil z izpustom v oklepaju 1256 01:06:54,000 --> 01:06:57,000 po naključju, ampak obvestilo, debelo črevo, kar pomeni, 1257 01:06:57,000 --> 01:07:00,000 čeprav smo izhod PHP način vse 1258 01:07:00,000 --> 01:07:03,000 , ki sledi, je treba dobesedno izpljune v brskalnik 1259 01:07:03,000 --> 01:07:07,000 dokler ne vidiš drugega bloka, kot mi tukaj, 1260 01:07:07,000 --> 01:07:10,000 V tem primeru bi morali namesto tega pljunil ven 1261 01:07:10,000 --> 01:07:13,000 dokler ne boste videli endif, tako da nekateri nekoliko nova skladnja 1262 01:07:13,000 --> 01:07:16,000 , ki mi omogoča, da preklapljate med HTML in PHP. 1263 01:07:16,000 --> 01:07:19,000 Mi lahko očistite to gor na koncu, ampak za zdaj, 1264 01:07:19,000 --> 01:07:22,000 to je nekako prepričljiv način preverjanja napak obrazec. 1265 01:07:22,000 --> 01:07:25,000 >> Zdaj pa sem rekla, da v resnici ne registrira zato, ker očitno še nismo naredili ničesar, vendar podatki, 1266 01:07:25,000 --> 01:07:28,000 tako da je dejansko poskusil narediti nekaj kul. 1267 01:07:28,000 --> 01:07:33,000 V froshims3 edina razlika je, da bom predloži register3, 1268 01:07:33,000 --> 01:07:35,000 Tako HTML je isto. 1269 01:07:35,000 --> 01:07:38,000 V register3 opazil. 1270 01:07:38,000 --> 01:07:40,000 Ta je seksi. 1271 01:07:40,000 --> 01:07:44,000 Na vrhu sem z uporabo zahtevajo izjavo, da je to podobno # include. 1272 01:07:44,000 --> 01:07:46,000 Tokrat ni stdio.h ali kaj podobnega. 1273 01:07:46,000 --> 01:07:50,000 To je knjižnica PHP, in to se imenuje PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Kako sem vedel, da so prav to navedeno niz? 1275 01:07:53,000 --> 01:07:56,000 Prebral sem ga v dokumentaciji, tako da, ko mi je rekel, naj to na vrhu datoteke 1276 01:07:56,000 --> 01:08:00,000 Če želite uporabiti posebno knjižnico imenovano PHPMailer, da počne kaj piše. 1277 01:08:00,000 --> 01:08:03,000 To vam omogoča pošiljanje e-pošte prek PHP. 1278 01:08:03,000 --> 01:08:05,000 Zdaj pa se pomaknite naprej. 1279 01:08:05,000 --> 01:08:08,000 >> Obvestilo za začetek sem v načinu PHP ves ta čas, 1280 01:08:08,000 --> 01:08:11,000 sedaj opazil sem dol po uvozu, da knjižnice, 1281 01:08:11,000 --> 01:08:13,000  tako rekoč, da delam nekaj logična preverjanja. 1282 01:08:13,000 --> 01:08:16,000 Če je res, da ime ni prazna 1283 01:08:16,000 --> 01:08:19,000 in spol ni praznih opazili klicajev- 1284 01:08:19,000 --> 01:08:24,000 in skupinske ni prazen, potem je logično uporabnik izpolni obrazec, vsaj dovolj. 1285 01:08:24,000 --> 01:08:28,000 Briga me, če si kapetan ali ne. Potrebujem samo svoje ime, spol, in študentskem domu. 1286 01:08:28,000 --> 01:08:31,000 Če so napolnjeni jih ven, tako da nobena od teh področij so prazne 1287 01:08:31,000 --> 01:08:33,000 To je nekoliko nova skladnja. 1288 01:08:33,000 --> 01:08:36,000 PHP, kot prahi, je objektno usmerjen programski jezik 1289 01:08:36,000 --> 01:08:39,000 ki so lahko nekatere od vas spomnim iz APCS in podobno. 1290 01:08:39,000 --> 01:08:42,000 Za zdaj, če ne poznajo, samo vem, da za uporabo te knjižnice 1291 01:08:42,000 --> 01:08:45,000 moraš napisati kode, kot je ta z novo ključno besedo, 1292 01:08:45,000 --> 01:08:47,000 dobesedno novo ključno besedo imenuje novega. 1293 01:08:47,000 --> 01:08:50,000 Ampak po tem, imamo nekaj poznajo sintakso. 1294 01:08:50,000 --> 01:08:54,000 To je puščica subjekt, ki je podoben temu, kar smo uporabili za konstrukti v okviru kazalca. 1295 01:08:54,000 --> 01:08:57,000 Za danes PHP nima kazalcev, 1296 01:08:57,000 --> 01:09:01,000 vendar vem, da je za zdaj znotraj poštnega spremenljivke 1297 01:09:01,000 --> 01:09:05,000 je v bistvu nekakšen kazalec za specialne knjižnice 1298 01:09:05,000 --> 01:09:08,000 da se je nekdo napisal, če želim dostopati do specifične funkcionalnosti 1299 01:09:08,000 --> 01:09:12,000 znotraj te knjižnice mi, tako kot v C, uporabite puščico operaterja, 1300 01:09:12,000 --> 01:09:14,000 čeprav ne gre za dejansko kazalci. 1301 01:09:14,000 --> 01:09:16,000 To je neke vrste lastno različico PHP Pogodbe. 1302 01:09:16,000 --> 01:09:20,000 To pomeni, da gre v knjižnico in pokličite IsSMTP funkcijo. 1303 01:09:20,000 --> 01:09:23,000 SMTP, odpoklic od naših bojevnikov na internetu sklicuje na elektronsko pošto, 1304 01:09:23,000 --> 01:09:28,000 in to samo pomeni, da uporabljate e-poštni strežnik za to Frosh UI registracijo. 1305 01:09:28,000 --> 01:09:30,000 >> Kaj gostiteljica ne želim uporabljati? 1306 01:09:30,000 --> 01:09:34,000 No, Harvard, če Google naokoli, je e-poštni strežnik, imenovan smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Če igrate skupaj doma ali živiš na Comcast omrežju 1308 01:09:37,000 --> 01:09:40,000 da bi bilo kaj takega smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 Je popolnoma odvisno od tega, kje živiš in kdo je tvoj ISP. 1310 01:09:43,000 --> 01:09:47,000 Potem bom nastavim iz naslova samovoljno biti jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Jaz sem potem bo postavila za odpravo biti jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Edini način, sem vedel, da so bili imenovani te funkcije SetFrom in AddAddress 1313 01:09:55,000 --> 01:09:57,000 je, še enkrat, sem prebral dokumentacijo. 1314 01:09:57,000 --> 01:09:59,000 To ni vrsta čudežno znano, da vse programerje. 1315 01:09:59,000 --> 01:10:02,000 Potem sem določila veljajo "registracija". 1316 01:10:02,000 --> 01:10:07,000 In zdaj ta vrstica je malce grdo, ker kaj pika pomeni subjekt v PHP? 1317 01:10:07,000 --> 01:10:09,000 Kdo ve? 1318 01:10:09,000 --> 01:10:11,000 Concatenate. 1319 01:10:11,000 --> 01:10:14,000 V C je bolečina v vratu za združevanje 2 strune skupaj. 1320 01:10:14,000 --> 01:10:17,000 Ti se morajo ukvarjati z knjižnične funkcije malloc ali realloc ali vse te stvari 1321 01:10:17,000 --> 01:10:20,000 Samo, da podaljša dolžino niza. 1322 01:10:20,000 --> 01:10:22,000 V PHP, v JavaScript in drugih jezikih 1323 01:10:22,000 --> 01:10:24,000 lahko ponavadi to z enim samim znakom. 1324 01:10:24,000 --> 01:10:28,000 V tem primeru pika pomeni, da tega niza tukaj 1325 01:10:28,000 --> 01:10:30,000 in dodajte mu ta niz. 1326 01:10:30,000 --> 01:10:32,000 >> Oh, in mimogrede, dodajte mu tega niza, 1327 01:10:32,000 --> 01:10:34,000 ki se zgodi, da je spremenljivka znotraj te globalne super. 1328 01:10:34,000 --> 01:10:37,000 Nato dodajte mu novo linijo, tako da vse te pike pomeni samo 1329 01:10:37,000 --> 01:10:39,000 Vedno bi večji in večji in večji niz, 1330 01:10:39,000 --> 01:10:43,000 in vam ni treba skrbeti na vse o knjižnične funkcije malloc ali podobno v jeziku, kot je ta, 1331 01:10:43,000 --> 01:10:46,000 in tam je tudi drugi načini, da to storijo, vendar je to ena od najhitreje 1332 01:10:46,000 --> 01:10:48,000 načinov, da ga dam ven. 1333 01:10:48,000 --> 01:10:50,000 Kaj je to delaš? 1334 01:10:50,000 --> 01:10:55,000 To je ustvarjanje e telo, ki se dogaja, da pomeni ime: Kapitan: Spol: Dorm: 1335 01:10:55,000 --> 01:10:58,000 Vse v ločene vrstice, nato pa na koncu, 1336 01:10:58,000 --> 01:11:00,000 1 vrstica kode, in bom prezreti to za zdaj. 1337 01:11:00,000 --> 01:11:02,000 Če == false pomeni le, če bi se kaj zalomilo, 1338 01:11:02,000 --> 01:11:04,000 vendar se vse dogaja tukaj. 1339 01:11:04,000 --> 01:11:08,000 Mail poslati pomeni, pošljite to sporočilo. 1340 01:11:08,000 --> 01:11:10,000 Poglejmo, kaj je neto rezultat. 1341 01:11:10,000 --> 01:11:13,000 Na dnu datoteke, opazite, da se dogaja, da reči, da ste res registrirani 1342 01:11:13,000 --> 01:11:15,000 če pridem tako daleč. 1343 01:11:15,000 --> 01:11:18,000 Če pa uporabnik polomi, opazili, da smo začeli ta 1344 01:11:18,000 --> 01:11:21,000 če je stanje tukaj, če ni prazno in ni prazna 1345 01:11:21,000 --> 01:11:24,000 in ne izprazni bomo poslali e-pošto. 1346 01:11:24,000 --> 01:11:27,000 V nasprotnem primeru bomo poslali te kode, 1347 01:11:27,000 --> 01:11:30,000 ki bo imel za posledico, kot boste videli v pset 7, na preusmerjanje uporabnika 1348 01:11:30,000 --> 01:11:35,000 nazaj od koder so prišli, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Pesti, drugače se bo najbolj žalostno demo danes. 1350 01:11:38,000 --> 01:11:40,000 Pa gremo. 1351 01:11:40,000 --> 01:11:42,000 Naj odprejo svoj e-poštni nabiralnik za jharvard v Gmailu. 1352 01:11:42,000 --> 01:11:44,000 Št sporočilo zdaj. V redu. 1353 01:11:44,000 --> 01:11:53,000 Zdaj pa mi odprla froshims3, ki je tretji in zadnji primer, da bomo lahko na tukaj. 1354 01:11:53,000 --> 01:11:55,000 Ok, gremo. 1355 01:11:55,000 --> 01:12:00,000 Nate, bo postal kapetan, moški, iz, recimo, Apley. 1356 01:12:00,000 --> 01:12:04,000 Registracija. Ok, res ste registrirani. 1357 01:12:04,000 --> 01:12:07,000 Zdaj, če sem se pomaknite na moj e-pošte, oh, moj bog. 1358 01:12:07,000 --> 01:12:09,000 Pravkar sem dinamično poslal email na spletu. 1359 01:12:09,000 --> 01:12:11,000 >> Pustimo na to opombo. 1360 01:12:11,000 --> 01:12:16,000 Video v pripravi na predavanju smo zamudili. Se vidiva naslednji teden. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]