1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Týždeň 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 >> Vitajte späť. 5 00:00:09,000 --> 00:00:11,000 To je CS50, a to je začiatok týždňa 8. 6 00:00:11,000 --> 00:00:14,000 Pár príležitostí, ktoré tento týždeň, 7 00:00:14,000 --> 00:00:17,000 medzi nimi, to talk tu na ktorých niektoré jedlo sa podáva. 8 00:00:17,000 --> 00:00:20,000 Pre viac informácií pozrite sa na snímky, ktoré sú on-line. 9 00:00:20,000 --> 00:00:24,000 A tiež ďalšie akcie tento týždeň našej Thomas Carrier. 10 00:00:24,000 --> 00:00:27,000 Je to jeden z bývalých kolegov CS50 je hlava výučby, ktorý je teraz na Dropbox, 11 00:00:27,000 --> 00:00:29,000 a on je ten, kto zahnutý nás sa viete čo, 12 00:00:29,000 --> 00:00:36,000 takže ak chcete viac, že ​​hlavy ich rozhovore to popoludnie pre Dropbox a ďalšie. 13 00:00:36,000 --> 00:00:38,000 CS50 obed je tento piatok. 14 00:00:38,000 --> 00:00:41,000 Do k nám, ak ste schopní, 01:15, ako obvykle, na Fire and Ice. 15 00:00:41,000 --> 00:00:45,000 >> A teraz sme sa ponoriť do niečoho s názvom Semináre. 16 00:00:45,000 --> 00:00:49,000 Naše CS50 Semináre, spomínam, sú tieto voliteľné kurzy vedené výukové kolegami 17 00:00:49,000 --> 00:00:51,000 a kurz asistenti a priatelia kurzu, 18 00:00:51,000 --> 00:00:55,000 ľudia zo skupiny na koľaji tzv ABCD, ktorý je skupina 19 00:00:55,000 --> 00:00:58,000 technophiles na akademickej pôde, rovnako ako skupina tzv HCS, 20 00:00:58,000 --> 00:01:02,000 Harvard Computer Society, vysokoškoláci, ktorí sú podobne záujem v práci na počítači. 21 00:01:02,000 --> 00:01:08,000 Tohtoročný zoznam seminárov zahŕňa semináre na Android a iOS a JavaScript 22 00:01:08,000 --> 00:01:13,000 a PHP, Unix, Vim, a ďalšie, takže si uvedomiť, že tieto semináre sa blíži. 23 00:01:13,000 --> 00:01:16,000 Ak by ste sa chceli RSVP pre niektorý z nich zamieri do danej adrese URL tam. 24 00:01:16,000 --> 00:01:20,000 Budeme potom post na ihrisku internetových stránkach časy a miesta, akonáhle budú dokončené. 25 00:01:20,000 --> 00:01:26,000 Ale viem, že je 5 rokov v hodnote predchádzajúcich seminárov k dispozícii on-line, 26 00:01:26,000 --> 00:01:29,000 z ktorých mnohé sú stále veľmi aktuálne, pokiaľ ide o technológie, ktoré by mohli 27 00:01:29,000 --> 00:01:36,000 Chcem sa hrať s vaším záverečných prác, tak zamierte tam pre niektoré dostupné videá ich. 28 00:01:36,000 --> 00:01:39,000 >> CSS, tí z vás, ktorí sú oboznámení s CSS už, 29 00:01:39,000 --> 00:01:42,000 čo je to v kocke? 30 00:01:42,000 --> 00:01:45,000 Čo je to CSS? 31 00:01:45,000 --> 00:01:48,000 Je to kaskádové štýly, a čo to znamená? 32 00:01:48,000 --> 00:01:53,000 Čo to urobiť pre nás, CSS? 33 00:01:53,000 --> 00:01:57,000 Dobre, poďme zahriať ľahšie jeden, HTML, Hypertext Markup Language. 34 00:01:57,000 --> 00:02:01,000 Čo to urobiť pre nás? 35 00:02:01,000 --> 00:02:04,000 Každý, kto vôbec? 36 00:02:04,000 --> 00:02:07,000 Je to stále veľmi trápne pýtať na tieto otázky. 37 00:02:07,000 --> 00:02:11,000 HTML, Hypertext Markup Language. 38 00:02:11,000 --> 00:02:14,000 Áno? Nie? 39 00:02:14,000 --> 00:02:17,000 [Nepočuteľné Študent odpoveď] 40 00:02:17,000 --> 00:02:20,000 Dobre, dobre, to nám umožňuje označiť text zobraziť vo webovom prehliadači. 41 00:02:20,000 --> 00:02:22,000 To nie je programovací jazyk. 42 00:02:22,000 --> 00:02:25,000 Je to naozaj značkovací jazyk, čo znamená, že pokyn prehliadač, ako zobraziť 43 00:02:25,000 --> 00:02:28,000 informácie, takže najjednoduchšie inkarnácia to ako sme videli 44 00:02:28,000 --> 00:02:32,000 je niečo, čo super jednoduchý ako boldfacing, otvorený držiak b uzavretý držiak hovorí 45 00:02:32,000 --> 00:02:36,000 aby tento text tučne, a to je v skutočnosti len jedným z mnohých spôsobov, ako 46 00:02:36,000 --> 00:02:39,000 v ktorom môžeme urobiť, a naozaj, v týchto dňoch lepší prístup 47 00:02:39,000 --> 00:02:42,000 k štylizácia svoje webové stránky, robiť veci tučné a kurzíva 48 00:02:42,000 --> 00:02:47,000 a v strede a oprávnená, a podobne, nie je vykonané pomocou HTML tagov sám 49 00:02:47,000 --> 00:02:51,000 ale skôr s technikou zvanou CSS, kaskádové štýly. 50 00:02:51,000 --> 00:02:53,000 To je jazyk sám pre seba. 51 00:02:53,000 --> 00:02:55,000 To tiež nie je programovací jazyk, ale- 52 00:02:55,000 --> 00:02:58,000 všetci, toto je Dan, ktorý vedie k nám ešte dnes. 53 00:02:58,000 --> 00:03:01,000 Niektoré technické problémy. Nie je problém. 54 00:03:01,000 --> 00:03:04,000 >> CSS nám umožňuje štylizovať stránku 55 00:03:04,000 --> 00:03:07,000 nastavením, čo sa nazýva vlastnosti, takže sa poďme pozrieť na to 56 00:03:07,000 --> 00:03:09,000 prostredníctvom niekoľkých základných príkladov. 57 00:03:09,000 --> 00:03:12,000 Nechaj ma ísť do prístroja dnes. 58 00:03:12,000 --> 00:03:15,000 Mám zdrojový 8 pondelok adresár tu, 59 00:03:15,000 --> 00:03:18,000 a ja idem do adresára s názvom CSS, kde máme veľa 60 00:03:18,000 --> 00:03:21,000 súborov čakajúcich na nás tu, 61 00:03:21,000 --> 00:03:27,000 a v tejto zložke máme, napríklad, search0.html z minula. 62 00:03:27,000 --> 00:03:31,000 Teraz si pripomeňme s search0 sme odišli na túto poznámku 63 00:03:31,000 --> 00:03:35,000 podľa druhu vykonávacích Google alebo naozaj len predný koniec pre ňu týždeň alebo tak dávno, 64 00:03:35,000 --> 00:03:38,000 a všimnite si, že sme mali nejaké nové značky tam. 65 00:03:38,000 --> 00:03:41,000 Mali sme h1 pre veľké, tučné čísla, 66 00:03:41,000 --> 00:03:45,000 forma, ktorá nám umožnila skutočne HTML formulár pre vstup užívateľa. 67 00:03:45,000 --> 00:03:48,000 Akcie, čo bolo význam akčného atribútu 68 00:03:48,000 --> 00:03:52,000 na HTML tagu form? 69 00:03:52,000 --> 00:03:58,000 Aký bol význam tohto, akcie? 70 00:03:58,000 --> 00:04:00,000 Budem jednoducho robiť to dnes. 71 00:04:00,000 --> 00:04:03,000 Akcia je určenie, kde je formulár bude predložený. 72 00:04:03,000 --> 00:04:07,000 Skutočnosť, že hovorí, že action = "google.com / search" 73 00:04:07,000 --> 00:04:10,000 znamená, že keď používateľ klikne na tlačidlo Odoslať alebo ekvivalent 74 00:04:10,000 --> 00:04:14,000 bez ohľadu na formu polia sú vyplnené sa bude zaslaný na našom serveri 75 00:04:14,000 --> 00:04:17,000 alebo naše zariadenie, ale skôr, že konkrétne URL na Google. 76 00:04:17,000 --> 00:04:19,000 A metóda, že to bude používať, sa nazýva dostať, 77 00:04:19,000 --> 00:04:25,000 a získať pre túto chvíľu je len technika pre prenos informácií so sebou na webový server 78 00:04:25,000 --> 00:04:29,000 prostredníctvom adresy URL, takže sa poďme rýchlo pozrieť späť na to, ako to funguje. 79 00:04:29,000 --> 00:04:31,000 >> Všimnite si, že je to vstup, ktorého meno je q 80 00:04:31,000 --> 00:04:35,000 ktorého typ je text a potom druhý vstup typu predloží 81 00:04:35,000 --> 00:04:39,000 ktorého hodnota je CS50 hľadať, a skutočne, keď sa otvoriť tento súbor tu, 82 00:04:39,000 --> 00:04:42,000 search0.html, je to super jednoduchý formulár, 83 00:04:42,000 --> 00:04:45,000 a keď som hľadať niečo ako počítačové vedy 84 00:04:45,000 --> 00:04:50,000 a potom stlačte kláves Enter alebo kliknite na CS50 Hľadanie 85 00:04:50,000 --> 00:04:53,000 Všimnite si, že to, čo sa stane, je mimo dostať do Google 86 00:04:53,000 --> 00:04:56,000 Ja som konkrétne skončil na tejto adrese hore, 87 00:04:56,000 --> 00:05:01,000 google.com / search? q = počítač + vedy, 88 00:05:01,000 --> 00:05:04,000 informatika a výpočtová technika je samozrejme to, čo som napísal palcov 89 00:05:04,000 --> 00:05:06,000 + Jednoducho znamená, že ak je medzera bola, 90 00:05:06,000 --> 00:05:10,000 a je to v prehliadači len aby sa ubezpečil, že to nie je 91 00:05:10,000 --> 00:05:13,000 zmätok a biela plocha v aktuálnej URL. 92 00:05:13,000 --> 00:05:15,000 A potom q, samozrejme, je parameter názov. 93 00:05:15,000 --> 00:05:20,000 Nevideli sme, ako sme, programátor, môže skutočne prístup q doteraz. 94 00:05:20,000 --> 00:05:23,000 Môžeme predpokladať, že Google vie, čo s tým robiť tu, 95 00:05:23,000 --> 00:05:25,000 ale budeme sa tam dostať včas dnes. 96 00:05:25,000 --> 00:05:30,000 >> Ale dovoľte mi, aby som sa pozrieť na miesto search1.html, 97 00:05:30,000 --> 00:05:34,000 ktorý vyzerá trochu inak, pretože som sa rozhodol, že táto forma tu bola len trochu kríva. 98 00:05:34,000 --> 00:05:36,000 Myslím, že je to v ľavej hornej časti. 99 00:05:36,000 --> 00:05:40,000 Je to naozaj žiadne estetika k nej, a tak sa chcem štylizovať tento 100 00:05:40,000 --> 00:05:43,000 trochu viac, ako je Google, ktorého strana, odvolanie, 101 00:05:43,000 --> 00:05:47,000 aj keď nemusí navštíviť tak často, vyzerá to dnes na Halloween. 102 00:05:47,000 --> 00:05:53,000 Ak by sme namiesto toho otvoriť verzii 1 tohto súboru, vyhľadávanie 1.html, som sústredený to. 103 00:05:53,000 --> 00:05:57,000 Napriek tomu dosť škaredé, ale aspoň teraz som začal kontrolovať estetiku tejto stránke, 104 00:05:57,000 --> 00:06:00,000 nielen značkovanie ich. 105 00:06:00,000 --> 00:06:04,000 Poďme sa pozrieť na hľadanie 1, a je to naozaj len jeden rozdiel tu je, 106 00:06:04,000 --> 00:06:06,000 ktoré by mohli vyskočiť na vás, alebo ani nie, 107 00:06:06,000 --> 00:06:11,000 ale to, čo je jeden riadok alebo fragment rozdiel? 108 00:06:11,000 --> 00:06:14,000 >> Tam je to štýl atribút, tak sa ukazuje, že v HTML 109 00:06:14,000 --> 00:06:19,000 väčšina prvkov, väčšina tagy mať atribút style na ne, 110 00:06:19,000 --> 00:06:23,000 a vo vnútri tohto atribútu style je reťazec v úvodzovkách, 111 00:06:23,000 --> 00:06:26,000 a že reťazec v úvodzovkách je CSS. 112 00:06:26,000 --> 00:06:29,000 Môžete si dať kaskádových štýlov tam 113 00:06:29,000 --> 00:06:32,000 zadaním ako názov vlastnosti 114 00:06:32,000 --> 00:06:34,000 dvojbodku nasleduje hodnotou. 115 00:06:34,000 --> 00:06:37,000 To je druh nešťastného návrhu rozhodnutia pred niekoľkými rokmi 116 00:06:37,000 --> 00:06:40,000 že CSS je jazyk sám pre seba, 117 00:06:40,000 --> 00:06:43,000 ale syntakticky je to veľmi odlišné od HTML. 118 00:06:43,000 --> 00:06:46,000 V tomto prípade, vidíme, že vo vnútri mojej stránky, ktorý je uvedený v HTML, 119 00:06:46,000 --> 00:06:51,000 Mám CSS vnútri týchto úvodzoviek, a konvencie pre CSS 120 00:06:51,000 --> 00:06:55,000 je, že to, čo sa nazýva vlastnosť nasleduje, opäť, hrubého čreva, 121 00:06:55,000 --> 00:06:58,000 nasleduje hodnota tohto majetku, takže nie je znamienko rovnosti. 122 00:06:58,000 --> 00:07:00,000 Nie sú tu žiadne ďalšie citácie. 123 00:07:00,000 --> 00:07:03,000 Je to práve tento čiarkami oddelený hodnota kľúča dvojica, 124 00:07:03,000 --> 00:07:05,000 a textový riadok robí presne to, čo hovorí. 125 00:07:05,000 --> 00:07:09,000 To zarovná text v tele stránky, čo je naozaj odvahu na stránke, 126 00:07:09,000 --> 00:07:11,000 v centre mesta. 127 00:07:11,000 --> 00:07:13,000 >> Dobre, konečný výsledok potom, aby bolo jasno, je to. 128 00:07:13,000 --> 00:07:17,000 Nie všetci, že sexy, ale aspoň je to stred a trochu viac ako skutočné Google. 129 00:07:17,000 --> 00:07:21,000 Ale čo keď namiesto otvorenia verzia 2 tejto 130 00:07:21,000 --> 00:07:25,000 a poukázať sem novú značku dohromady? 131 00:07:25,000 --> 00:07:30,000 Teraz v hlave mojej stránky, ktoré boli predtým len mala, ktorý tag 132 00:07:30,000 --> 00:07:32,000 vo všetkých predchádzajúcich príkladoch? 133 00:07:32,000 --> 00:07:34,000 Proste mal toto, titul. 134 00:07:34,000 --> 00:07:38,000 Pred chvíľou hlavu tag vyzeral takto. 135 00:07:38,000 --> 00:07:40,000 Teraz miesto má štýl značky vnútri neho, 136 00:07:40,000 --> 00:07:44,000 a to taky, ospravedlňujeme sa, syntakticky vyzerá veľmi odlišne od HTML, 137 00:07:44,000 --> 00:07:47,000 ale človek si zvykne na to, kedy vo vnútri štýlu tagu 138 00:07:47,000 --> 00:07:50,000 Teraz môžem vytknúť to, čo bolo pred chvíľou 139 00:07:50,000 --> 00:07:54,000 atribút, atribút style, a môžem dať na samom vrchole mojej strane. 140 00:07:54,000 --> 00:07:56,000 >> Prečo? 141 00:07:56,000 --> 00:08:00,000 No, je to krok smerom k vyčisteniu veci, podobne ako v písaní C kóde 142 00:08:00,000 --> 00:08:04,000 by sme niekedy píšu funkcie vytknúť spoločnú funkčnosť. 143 00:08:04,000 --> 00:08:07,000 Je to len trochu čistejšie, kto factoring sa veci, ako je estetika 144 00:08:07,000 --> 00:08:11,000 na jednom centrálnom mieste, skôr než mať to všetko roztrousit celom HTML. 145 00:08:11,000 --> 00:08:14,000 To tiež robí to, čo hovorí, aj keď tam je trochu nové syntax. 146 00:08:14,000 --> 00:08:19,000 Toto je výber, a telo jednoducho znamená, vyberte telo prvok 147 00:08:19,000 --> 00:08:21,000 a použiť nasledujúce vlastnosti k tomu. 148 00:08:21,000 --> 00:08:23,000 No, majetok je presne rovnaký. 149 00:08:23,000 --> 00:08:25,000 Pre správnu mieru som pridal bodkočiarku na konci, 150 00:08:25,000 --> 00:08:29,000 ktorá má tendenciu byť dohovor, a ja som zabalil tento celý majetok 151 00:08:29,000 --> 00:08:33,000 v zložených zátvorkách, pretože som mohol skutočne mať rôzne veci tu. 152 00:08:33,000 --> 00:08:39,000 Mohol by som vlastne povedať niečo ako farba: modrá; 153 00:08:39,000 --> 00:08:42,000 >> Teraz to taky nebude mať krok k niečomu všetko krajšie, 154 00:08:42,000 --> 00:08:47,000 ale keď som sa teraz vrátiť k verzii 2 som aspon teraz robil telo mojej 155 00:08:47,000 --> 00:08:49,000 Page je text celej modrej. 156 00:08:49,000 --> 00:08:51,000 Tlačidlo zostane rovnaká, pretože to je vstup. Nie je to čistý text. 157 00:08:51,000 --> 00:08:56,000 Ale všetko ostatné, čo je text, rovnako ako CS50 Hľadanie hore hore, je v skutočnosti modré. 158 00:08:56,000 --> 00:09:01,000 Opäť, všetko sme urobili teraz je odstrániť z tela tagu, oznámenia, 159 00:09:01,000 --> 00:09:04,000 štýl atribút, a máme ovplyvnil ju tu. 160 00:09:04,000 --> 00:09:08,000 To nie je veľké zlepšenie, ale ak vezmeme do ešte o krok ďalej 161 00:09:08,000 --> 00:09:10,000 upozornenie, čo môžeme urobiť v tejto tretej verzii tu. 162 00:09:10,000 --> 00:09:14,000 >> V search3.html webová stránka je takmer zhodná 163 00:09:14,000 --> 00:09:17,000 s výnimkou toho, čo nový tag teraz? 164 00:09:17,000 --> 00:09:20,000 Link, takže toto nie je výstižne pomenovaný 165 00:09:20,000 --> 00:09:24,000 pretože nie ste prepojenie v zmysle klikacie hypertextový odkaz. 166 00:09:24,000 --> 00:09:28,000 Skôr, že si trochu robí ekvivalent # include v C 167 00:09:28,000 --> 00:09:31,000 pričom link tag s atribútu href 168 00:09:31,000 --> 00:09:34,000 a rel atribút hovorí ísť dopredu 169 00:09:34,000 --> 00:09:39,000 a kopírovanie vložiť obsah súboru s názvom search3.css tu, v podstate. 170 00:09:39,000 --> 00:09:42,000 To nie je úplne to urobiť, ale je to duch toho. 171 00:09:42,000 --> 00:09:45,000 To hovorí, že ísť otvoriť tento súbor, search3.css, 172 00:09:45,000 --> 00:09:49,000 a zaobchádzať s ňou, ako by používateľ mal ju napísali priamo tu v záhlaví stránky 173 00:09:49,000 --> 00:09:51,000 rovnako ako ja v predchádzajúcom príklade. 174 00:09:51,000 --> 00:09:54,000 Search3.css, zatiaľ, je veľmi jednoduchý. 175 00:09:54,000 --> 00:09:58,000 Je to naozaj len obsahuje presne to, čo bolo pred chvíľou 176 00:09:58,000 --> 00:10:03,000 v štýle značky, ale ja som ovplyvnil ho sem vlastným súboru. 177 00:10:03,000 --> 00:10:07,000 >> Aj keď sme sa strávili veľa času na to všetko v HTML alebo webové programovanie 178 00:10:07,000 --> 00:10:11,000 Len intuitívne, čo je motivácia, možno, pre factoring von 179 00:10:11,000 --> 00:10:14,000 tento malý úryvok dokonca CSS do vlastného súboru 180 00:10:14,000 --> 00:10:19,000 a potom aj s týmto link tag tu? 181 00:10:19,000 --> 00:10:21,000 [Nepočuteľné Študent odpoveď] 182 00:10:21,000 --> 00:10:25,000 Dobre, je to jednoduchšie vykladať v tom zmysle, že máte svoj CSS do CSS súboru. 183 00:10:25,000 --> 00:10:28,000 Máte svoj HTML v súbore HTML, takže je to lepšie čitateľné v tomto zmysle. 184 00:10:28,000 --> 00:10:30,000 Čo iné by mohlo byť presvedčivé? Jo. 185 00:10:30,000 --> 00:10:32,000 [Nepočuteľné Študent odpoveď] 186 00:10:32,000 --> 00:10:35,000 Jo, takže môžete zahrnúť to mnohokrát, takže teraz budeme robiť tieto 187 00:10:35,000 --> 00:10:38,000 základné príklady s jednotlivými súbormi, ale predpokladám, ste vlastne robiť 188 00:10:38,000 --> 00:10:42,000 skutočný webové stránky, ako vy bude pre PSet 7 alebo váš konečný projekt možná, 189 00:10:42,000 --> 00:10:45,000 a chcete mať viac webových stránok, ako je iste obyčajné na 190 00:10:45,000 --> 00:10:48,000 Skutočná World Wide Web, a to by bolo docela lame 191 00:10:48,000 --> 00:10:52,000 musieť skopírovať a vložiť rovnakú modrú farbu 192 00:10:52,000 --> 00:10:56,000 a rovnaký text zarovnaný centrum v každom z týchto stránok. 193 00:10:56,000 --> 00:10:59,000 Skôr to dáva väčší zmysel vytknúť, rovnako ako sme urobili v C 194 00:10:59,000 --> 00:11:02,000 s súbor h, vložte ju na jednom centrálnom mieste, 195 00:11:02,000 --> 00:11:06,000 v tomto prípade search3.css, a potom sa nechá ľubovoľný súbor 196 00:11:06,000 --> 00:11:11,000 na svoje webové stránky, aby skutočne zahrnúť tento súbor prostredníctvom tohto tagu tu v riadku 16. 197 00:11:11,000 --> 00:11:14,000 Ako je typicky prípad, sme začali s verziou 0, aký druh práce 198 00:11:14,000 --> 00:11:18,000 ale nemusí byť nevyhnutne najlepšie, a na každom kroku, 199 00:11:18,000 --> 00:11:21,000 Vyhľadávanie 1, vyhľadávanie 2, a teraz hľadajte 3 sme prijali tieto detské krôčiky 200 00:11:21,000 --> 00:11:26,000 k vzorom, ktoré sú trochu čistejšie a sú prípravné 201 00:11:26,000 --> 00:11:30,000 pre zložitejšie stránky, ktoré by sme mohli robiť po ceste. 202 00:11:30,000 --> 00:11:33,000 >> Dovoľte mi otvoriť jednu posledný príklad tu len pre zobrazenie 203 00:11:33,000 --> 00:11:36,000 ešte viac štylizovaná stránku, ale najprv poďme sa pozrieť na HTML. 204 00:11:36,000 --> 00:11:41,000 To je search4.html, a všimnite si, že štrukturálne je to takmer rovnaké 205 00:11:41,000 --> 00:11:44,000 okrem zavedenia novej značky, div. 206 00:11:44,000 --> 00:11:48,000 Div je tag, ktorý zavádza rozdelenie stránky. 207 00:11:48,000 --> 00:11:51,000 Môžete myslieť na to ako neviditeľný obdĺžnik. 208 00:11:51,000 --> 00:11:54,000 Je to druh vytvára pás o výmere do webovej stránky 209 00:11:54,000 --> 00:11:56,000 že môžete štylizovať naraz. 210 00:11:56,000 --> 00:11:58,000 Čo som urobil tu je nasledujúce. 211 00:11:58,000 --> 00:12:01,000 Vnútri môjho tela tagu, ktorý bol tam celý čas, 212 00:12:01,000 --> 00:12:05,000 Hovorím vytvoriť rozdelenie stránky tu cez linky 45 až 47, 213 00:12:05,000 --> 00:12:09,000 a to znamená, že v podstate mi neviditeľný obdĺžnik pozdĺž hornej časti stránky. 214 00:12:09,000 --> 00:12:14,000 Potom mi druhý obdĺžnik, hoci neviditeľná, pod tým, 215 00:12:14,000 --> 00:12:16,000 a identifikovať podľa mena obsahu, a potom konečne, 216 00:12:16,000 --> 00:12:19,000 mi tretiny rozdelenie stránky na dne 217 00:12:19,000 --> 00:12:21,000 tzv ID. 218 00:12:21,000 --> 00:12:23,000 Uvidíme, prečo som to urobil za chvíľu, 219 00:12:23,000 --> 00:12:26,000 ale koncepčne mám hlavičku divíziu. 220 00:12:26,000 --> 00:12:30,000 Mám obsahu divíziu, a mám pätu rozdelenie stránky 221 00:12:30,000 --> 00:12:32,000 aj keď sa jedná len v kóde. 222 00:12:32,000 --> 00:12:35,000 Užívateľ nebude vidieť 3 obdĺžniky, 223 00:12:35,000 --> 00:12:37,000 ale nejako štruktúrne tam v zákulisí 224 00:12:37,000 --> 00:12:39,000 sú skutočne prítomný. 225 00:12:39,000 --> 00:12:41,000 >> Teraz, koho to zaujíma? Prečo vlastne robiť? 226 00:12:41,000 --> 00:12:43,000 Všetko ostatné na stránke je rovnaké ako sme videli predtým. 227 00:12:43,000 --> 00:12:47,000 Tu je moja forma. Tu je môj vstup, môj vstup, koniec riadku, a tak ďalej. 228 00:12:47,000 --> 00:12:50,000 Tu je obrázok, aj keď, tak uvidíme, kedy to prišlo z za chvíľu. 229 00:12:50,000 --> 00:12:52,000 Tu je päty, ktorý je nový, len preto, že som chcel predstaviť 230 00:12:52,000 --> 00:12:54,000 niektoré ďalšie obsah tu. 231 00:12:54,000 --> 00:12:58,000 Ak sa posunúť nahor všimnúť, že ID tejto div je hlavičky. 232 00:12:58,000 --> 00:13:02,000 ID tohto div je obsah, a ID tohto jedného je päta. 233 00:13:02,000 --> 00:13:05,000 A ako už názov napovedá, ak máte atribút ID 234 00:13:05,000 --> 00:13:09,000 vo formáte HTML, podľa definície musí jednoznačne identifikovať 235 00:13:09,000 --> 00:13:12,000 jedným z prvkov, jeden z tagov vo vašom stránke. 236 00:13:12,000 --> 00:13:16,000 Záťaž je úplne na vás, nezabudnite, že máte hlavičke ID už. 237 00:13:16,000 --> 00:13:19,000 Máte päty. Máte ID obsahu už. 238 00:13:19,000 --> 00:13:22,000 Počítač nebude prísť na to, čo k dispozícii ID je pre vás, 239 00:13:22,000 --> 00:13:27,000 takže si mohol náhodne dať 2 slová o ID hlavičku, 240 00:13:27,000 --> 00:13:29,000 a že by jednoducho bolo zlé. 241 00:13:29,000 --> 00:13:31,000 >> Musíte mať na pamäti to, čo ste vytvorili, 242 00:13:31,000 --> 00:13:34,000 ale akonáhle ste urobili, že oznámenie, čo môžeme robiť tu. 243 00:13:34,000 --> 00:13:38,000 Teraz môžem špecifikovať v mojom štýle značky na vrchole 244 00:13:38,000 --> 00:13:41,000 alebo ekvivalentne v mojom súbore CSS, keď som bol stále používate túto verziu, 245 00:13:41,000 --> 00:13:46,000 Môžem povedať, # hlavičku, a čo to znamená, že bez ohľadu na tag 246 00:13:46,000 --> 00:13:49,000 v tejto webovej stránky má ID záhlavie 247 00:13:49,000 --> 00:13:53,000 a #, len ľudskú konvencií, predstavuje ID. 248 00:13:53,000 --> 00:13:56,000 Ostrý znak alebo znak libry predstavuje ID. 249 00:13:56,000 --> 00:13:58,000 Header je názov, ktorý som dal. 250 00:13:58,000 --> 00:14:01,000 To znamená, že použitie tejto vlastnosti CSS 251 00:14:01,000 --> 00:14:04,000 na akúkoľvek tag na tejto stránke nesie ID hlavičky. 252 00:14:04,000 --> 00:14:06,000 Rovnaká dohoda tu. 253 00:14:06,000 --> 00:14:09,000 Použiť túto vlastnosť, ktorá sa stane byť rovnaké, do akéhokoľvek prvku 254 00:14:09,000 --> 00:14:11,000 ktorého ID je obsah, a potom tu dole 255 00:14:11,000 --> 00:14:14,000 všimnete som trochu obsiahlejší s pätu. 256 00:14:14,000 --> 00:14:18,000 Akýkoľvek prvok, ktorého ID je päty, ktorý tam môže byť len jeden z definície, 257 00:14:18,000 --> 00:14:21,000 choďte do toho a aby jej veľkosť písma menšie, 258 00:14:21,000 --> 00:14:24,000 jeho písmo hmotnosť tučné, jej okraj 20 pixelov. 259 00:14:24,000 --> 00:14:26,000 >> Čo to znamená? 260 00:14:26,000 --> 00:14:28,000 Je to len marže na hornej, dolnej, a ľavý a pravý. 261 00:14:28,000 --> 00:14:31,000 To znamená, že mi 20 pixelov neviditeľného rozpätie okolo neho 262 00:14:31,000 --> 00:14:35,000 len tlačiť všetko ostatné preč od toho trochu, ako by ste mohli urobiť v programe Word, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word alebo Pages alebo podobne. 264 00:14:37,000 --> 00:14:39,000 A potom texte Zarovnať na stred. 265 00:14:39,000 --> 00:14:43,000 Poďme sa pozrieť na konečný výsledok, a potom sa vrátime do jednej zostávajúce fragment CSS tam. 266 00:14:43,000 --> 00:14:48,000 Toto je verzia 4, naša posledná na vyhľadávanie príkladov, a je to oveľa, oveľa viac sexy. 267 00:14:48,000 --> 00:14:54,000 Teraz, v spravodlivosť, som Googled "Google Font logo generátor." 268 00:14:54,000 --> 00:14:58,000 A že mi umožnila vytvoriť GIF, formát obrazu, ktorý vyzerá ako, že tam. 269 00:14:58,000 --> 00:15:00,000 V skutočnosti, môžete to urobiť taky. 270 00:15:00,000 --> 00:15:03,000 Máme "google fonty logo generátor." 271 00:15:03,000 --> 00:15:05,000 >> Poďme sa pozrieť, či to môžeme urobiť. 272 00:15:05,000 --> 00:15:07,000 Dobre, myslím, že to je na internetových stránkach som použil. 273 00:15:07,000 --> 00:15:11,000 Dá sa povedať, EC 10, napríklad, a aby im ich vlastné. 274 00:15:11,000 --> 00:15:13,000 Môžete hrať s touto celý deň a potom kliknite pravým tlačidlom na neho 275 00:15:13,000 --> 00:15:16,000 a potom stiahnuť aktuálne GIF, ktorý je všetko, čo som urobil. 276 00:15:16,000 --> 00:15:19,000 A skutočne, to je dôvod, prečo v mojom HTML, pripomenúť, tu 277 00:15:19,000 --> 00:15:22,000 Mal som disk značku, ktorá sme videli minulý týždeň krátko 278 00:15:22,000 --> 00:15:24,000 ktorého zdrojom je logo.gif. 279 00:15:24,000 --> 00:15:28,000 A čo bol opäť motivácie za to, že tento atribút alt, 280 00:15:28,000 --> 00:15:31,000 Táto alternatíva atribút? 281 00:15:31,000 --> 00:15:33,000 Jo. 282 00:15:33,000 --> 00:15:35,000 [Nepočuteľné Študent odpoveď] 283 00:15:35,000 --> 00:15:37,000 Dobré, takže 2 dôvody naozaj, ak prehliadač nedokáže vytiahnuť obraz 284 00:15:37,000 --> 00:15:40,000 pretože máte pomalé pripojenie k sieti alebo obraz je poškodený 285 00:15:40,000 --> 00:15:44,000 alebo niečo podobné, že aspoň človek môže vidieť "CS50 hľadanie" 286 00:15:44,000 --> 00:15:46,000 a potom tiež pre prístupnosť dôvodov. 287 00:15:46,000 --> 00:15:48,000 Ak máte užívateľa, ktorý je slepý a používa pre čítanie z obrazovky 288 00:15:48,000 --> 00:15:50,000 a preto samozrejme nemôže vidieť obrazy, ktoré možno aspoň 289 00:15:50,000 --> 00:15:52,000 počuť text, ak ich počítač hovorí to na ne. 290 00:15:52,000 --> 00:15:56,000 >> Všeobecne platí, že je to najlepšie praxi, pokiaľ ide o dostupnosť stránok 291 00:15:56,000 --> 00:16:00,000 tak, aby aj užívatelia v tejto situácii môže vidieť alebo počuť, aby som tak povedal, 292 00:16:00,000 --> 00:16:03,000 čo to je, že je na vašej strane. 293 00:16:03,000 --> 00:16:05,000 Je tu ešte jedna vec, že ​​som urobil tú 294 00:16:05,000 --> 00:16:09,000 čo je celkom zaujímavé, a uvidíme, viac o tom v probléme nastavenia 7 295 00:16:09,000 --> 00:16:12,000 prostredníctvom jedného z krátkych filmov pod vedením jedného z výučbových štipendistov. 296 00:16:12,000 --> 00:16:15,000 Ale # obsah sa týka tagu 297 00:16:15,000 --> 00:16:20,000 ktorého ID je obsah, ale potom je tu medzera, a potom je tu slovo vstup. 298 00:16:20,000 --> 00:16:25,000 No, čo je na tom zaujímavé CSS je, že môžete 299 00:16:25,000 --> 00:16:29,000 odkazujú na tagy na stránke druhu hierarchicky, 300 00:16:29,000 --> 00:16:33,000 a čo to úryvok z prostriedkov CSS je nájsť značku 301 00:16:33,000 --> 00:16:37,000 ktorého ID je obsah, a potom použite nasledujúce vlastnosti 302 00:16:37,000 --> 00:16:42,000 na všetky vstupné značiek, ktoré sú potomkami obsahu, 303 00:16:42,000 --> 00:16:44,000 to je, že sú odsadené vnútri nej. 304 00:16:44,000 --> 00:16:48,000 Odsadenie, opäť, je len dôležité, aby v počítači, nie k človeku, 305 00:16:48,000 --> 00:16:51,000 ale podľa konvencie sme zarážke veci tak, ako sme sa ísť hlbšie do stránky, 306 00:16:51,000 --> 00:16:54,000 tak to znamená uplatňovať rozpätie 5 pixelov na každom vstupného prvku 307 00:16:54,000 --> 00:16:57,000 že je niekde vo vnútri alebo vložený vnútri 308 00:16:57,000 --> 00:16:59,000  prvok, ktorého ID je obsah. 309 00:16:59,000 --> 00:17:01,000 >> Kto to má platiť pre? 310 00:17:01,000 --> 00:17:03,000 No, je to vlastne len tieto 2 ľudí tu. 311 00:17:03,000 --> 00:17:05,000 Všimnite si, že vo vnútri tohto formulára tam 2 vstupy, 312 00:17:05,000 --> 00:17:07,000 ako tam bol na všetkých týchto príkladoch. 313 00:17:07,000 --> 00:17:11,000 Ale všimnite si, že tieto 2 vstupy stalo, že sa vnorená, 314 00:17:11,000 --> 00:17:13,000 aj keď trochu hlbšie, pár vrstiev odsadenie, 315 00:17:13,000 --> 00:17:16,000 vnútri tagu, ktorého ID je obsah. 316 00:17:16,000 --> 00:17:18,000 Čo to znamená? 317 00:17:18,000 --> 00:17:21,000 Ak pôjdeme do prehliadača tu môžete vidieť niekedy tak trochu- 318 00:17:21,000 --> 00:17:23,000 dovoľte mi, aby som priblížiť, že je trochu vypchávky medzi tlačidlom 319 00:17:23,000 --> 00:17:25,000 a medzi textového poľa. 320 00:17:25,000 --> 00:17:27,000 >> Dovoľte mi, aby som dočasne vypni to. 321 00:17:27,000 --> 00:17:30,000 Nechaj ma ísť do mojej CSS, a nechaj ma ísť dopredu a len 322 00:17:30,000 --> 00:17:34,000 zmenu tohto rozpätie od 5 pixelov na 0 obrazových bodov. 323 00:17:34,000 --> 00:17:37,000 Nechaj ma ísť napred a potom uložte súbor, prejdite späť do vyhľadávača 324 00:17:37,000 --> 00:17:40,000 a znova, a pozerať sa na stred stránky. 325 00:17:40,000 --> 00:17:43,000 Všetko dostal stlačený dohromady, a keď som prvýkrát šľahačkou tento príklad sa 326 00:17:43,000 --> 00:17:46,000 Myslel som, že sa pozrel hlúpy s textovým poľom a potom tlačidlo bezprostredne pod ním. 327 00:17:46,000 --> 00:17:50,000 Chcel som pad ju trochu, tak som predstavil marže. 328 00:17:50,000 --> 00:17:55,000 Čo neurobíme v prednáške, je ísť cez niekoľko desiatok 329 00:17:55,000 --> 00:17:58,000 CSS vlastnosti, ktoré existujú, pretože opäť, tam sú veci ako veľkosť písma, 330 00:17:58,000 --> 00:18:02,000 font hmotnosť, rozpätie, text zarovnať, a niekoľko desiatok ďalších, 331 00:18:02,000 --> 00:18:06,000 a budeme vás odkázať na problém nastaviť 7 rôznych cvičení on-line 332 00:18:06,000 --> 00:18:08,000 a odkazy, ktoré vám umožní vybrať tieto veci. 333 00:18:08,000 --> 00:18:10,000 Ale to, čo je skutočne dôležité na konci dňa 334 00:18:10,000 --> 00:18:12,000 >> je pochopiť, ako sú aplikované tieto veci. 335 00:18:12,000 --> 00:18:15,000 Opäť, ak máme štýl tag vnútri ktorých 336 00:18:15,000 --> 00:18:19,000 môže ísť o selektory, radenie identifikátorov, ktoré určujú 337 00:18:19,000 --> 00:18:21,000 ktorým chceš použiť tieto vlastnosti, 338 00:18:21,000 --> 00:18:24,000 a potom si dať vlastnosti ako kľúčový hodnota dvojice 339 00:18:24,000 --> 00:18:28,000 oddelené dvojbodkou a potom skončil s bodkočiarkou, 340 00:18:28,000 --> 00:18:32,000 alebo môžete ripovať všetky tým von a dať ju do samostatného súboru CSS 341 00:18:32,000 --> 00:18:35,000 sama o sebe. 342 00:18:35,000 --> 00:18:39,000 Dobre, nejaké otázky na pojmy 343 00:18:39,000 --> 00:18:41,000 alebo veľký obraz CSS? 344 00:18:41,000 --> 00:18:43,000 Budete opäť vidieť viac z toho v PSet 7, 345 00:18:43,000 --> 00:18:47,000 ale budeme držať to všeobecne celkom jednoduché. 346 00:18:47,000 --> 00:18:49,000 Nie? Dobrá. 347 00:18:49,000 --> 00:18:51,000 Je čas pre skutočný programovací jazyk, 348 00:18:51,000 --> 00:18:54,000 a vrátime sa trochu CSS vo forme príkladu. 349 00:18:54,000 --> 00:18:58,000 PHP je vlastne úžasne prístupné jazyk 350 00:18:58,000 --> 00:19:02,000 v tom, že je syntakticky takmer ekvivalentná C. 351 00:19:02,000 --> 00:19:06,000 Inými slovami, ak viete, C, viete, z veľkej časti PHP, 352 00:19:06,000 --> 00:19:08,000 aspoň syntakticky, aj keď tam sú niektoré nové funkcie 353 00:19:08,000 --> 00:19:10,000 a niektoré nové pojmy budeme musieť pozrieť na. 354 00:19:10,000 --> 00:19:13,000 >> Ale pre najviac sa rozdeliť, teraz, keď sme prechod z C do PHP 355 00:19:13,000 --> 00:19:16,000 väčšina nových vecí je skutočne vo veľkom obrázku, 356 00:19:16,000 --> 00:19:19,000 ako použiť jazyk programu na webe ako protichodný k 357 00:19:19,000 --> 00:19:23,000 na príkazovom riadku alebo v riadku bliká ako sme to robili doteraz. 358 00:19:23,000 --> 00:19:27,000 Pre porovnanie, najmä s PSet 7 a záverečnej projektu dopredu, 359 00:19:27,000 --> 00:19:31,000 sa využiť tejto adrese tu, ak chcete, aby si prečítali na formalitách PHP. 360 00:19:31,000 --> 00:19:34,000 Je to vlastne ako bezplatný on-line učebnicu efektívne, 361 00:19:34,000 --> 00:19:37,000 a budete tiež zistíte, že to, čo je naozaj pekné o PHP 362 00:19:37,000 --> 00:19:41,000 je to, že existujú stovky funkcií, ktoré prichádzajú s tým, 363 00:19:41,000 --> 00:19:44,000 vzhľadom k tomu, v C ste nutne mať prístup k 364 00:19:44,000 --> 00:19:47,000 viac funkcií, než bolo v matematickej knižnici, CS50 knižnica. 365 00:19:47,000 --> 00:19:51,000 V PHP a mnoho moderných jazykov, Python a Ruby medzi nimi, 366 00:19:51,000 --> 00:19:54,000 získate prístup k toľkým ďalším funkciám, ktoré znamená, že si písať 367 00:19:54,000 --> 00:19:57,000 oveľa menej kódu, pretože môžete stojí na ramenách iných ľudí 368 00:19:57,000 --> 00:19:59,000 ktorí už bolo napísané určité veci pre vás. 369 00:19:59,000 --> 00:20:03,000 >> Poďme sa rýchlu prehliadku syntax PHP a potom napísať pár príkladov. 370 00:20:03,000 --> 00:20:06,000 Čo je pekné o PHP v prvom rade 371 00:20:06,000 --> 00:20:08,000 je tam to nie je hlavné funkcie. 372 00:20:08,000 --> 00:20:10,000 Ak chcete napísať program v PHP stačí začať písať kód, 373 00:20:10,000 --> 00:20:12,000 a nemusíte sa starať o hlavné. 374 00:20:12,000 --> 00:20:14,000 Nie je int. Tam to nie je návratu. 375 00:20:14,000 --> 00:20:17,000 Nie je ArGV, argc, že ​​je nutné pri písaní programu. 376 00:20:17,000 --> 00:20:20,000 Skôr stačí začať písať kód, a to v časti 377 00:20:20,000 --> 00:20:23,000 pretože PHP je to, čo sa nazýva interpretovaný jazyk. 378 00:20:23,000 --> 00:20:26,000 C bol zostavený, a to bol zostavený v tom zmysle, že začnete 379 00:20:26,000 --> 00:20:29,000 so zdrojovým kódom, spustite ho cez Clang, čo je kompilátor, 380 00:20:29,000 --> 00:20:33,000 a nakoniec po nejakom počte krokov získate objektový kód, 0s a 1s. 381 00:20:33,000 --> 00:20:36,000 PHP a Python a Ruby a Pearl a ďalšie 382 00:20:36,000 --> 00:20:39,000 sú rôzne druhy jazykov, v ktorej nezostavujú je. 383 00:20:39,000 --> 00:20:42,000 Nemusíte ísť od zdrojového kódu na 0s a 1s. 384 00:20:42,000 --> 00:20:45,000 Stačí spustiť zdrojový kód, a spustiť zdrojový kód 385 00:20:45,000 --> 00:20:49,000 písomne ​​v obvyklej textového súboru, končiť. php v tomto prípade 386 00:20:49,000 --> 00:20:53,000 miesto. c, a to, čo program robí na počítači 387 00:20:53,000 --> 00:20:57,000 je to doslova interpretuje svoj kód riadok po riadku po riadku. 388 00:20:57,000 --> 00:21:00,000 >> Inými slovami, skôr ako napísať program a program spustiť 389 00:21:00,000 --> 00:21:04,000 priamo, namiesto toho napísať program s súbor s koncovkou v php. 390 00:21:04,000 --> 00:21:09,000 Potom spustíte vlastný program s názvom php.exe, ak ste na Windows, 391 00:21:09,000 --> 00:21:12,000 alebo len PHP, ak ste na Mac OS alebo Linux, 392 00:21:12,000 --> 00:21:17,000 a poskytujú ako vstup do programu PHP vlastný zdrojový kód, 393 00:21:17,000 --> 00:21:20,000 a jeho účel v živote je čítať kód zhora nadol, zľava doprava, 394 00:21:20,000 --> 00:21:23,000 a to čo ste to povedal, aby robil. 395 00:21:23,000 --> 00:21:25,000 >> Poďme sa pozrieť, čo to bude znamenať syntakticky. 396 00:21:25,000 --> 00:21:27,000 V PHP máme podmienky. 397 00:21:27,000 --> 00:21:29,000 Tento snímok je totožný s tým, čo ste videli späť v týždni 1 398 00:21:29,000 --> 00:21:33,000 pretože syntakticky podmienky, IFS a inde IFS a inde v PHP 399 00:21:33,000 --> 00:21:35,000 vyzerať presne takto. 400 00:21:35,000 --> 00:21:38,000 Pokiaľ ide o booleovských výrazov idú vyzerať presne takto. 401 00:21:38,000 --> 00:21:43,000 Pokiaľ ide o anding veci spoločne ako booleans to bude vyzerať presne takto. 402 00:21:43,000 --> 00:21:46,000 Prepína vyzerajú rovnako, a získate navyše tú výhodu, v PHP 403 00:21:46,000 --> 00:21:51,000 že spínača v C by mohli prejsť iba na char alebo int. 404 00:21:51,000 --> 00:21:53,000 Dalo by sa to prejsť na hodnotu reťazca. 405 00:21:53,000 --> 00:21:55,000 V PHP môžete skutočne výraz 406 00:21:55,000 --> 00:21:58,000 že je premenná, ktorej obsah je reťazec, 407 00:21:58,000 --> 00:22:01,000 a môžete skutočne urobiť nákupný reťazcov v reálnom intuitívnym spôsobom, 408 00:22:01,000 --> 00:22:06,000 nie je ukazovateľ porovnanie, aby bolo možné rozhodnúť, či chcete vec i alebo j, alebo niečo iné. 409 00:22:06,000 --> 00:22:09,000 Uvidíme, že potenciálne onedlho. 410 00:22:09,000 --> 00:22:11,000 >> Slučky príliš nádherne, sú rovnaké. 411 00:22:11,000 --> 00:22:15,000 Pre slučky majú inicializácii, čo je podmienka, a určitý počet aktualizácií. 412 00:22:15,000 --> 00:22:18,000 Kým slučky tiež existujú v PHP. 413 00:22:18,000 --> 00:22:21,000 Do while tiež existujú v PHP, 414 00:22:21,000 --> 00:22:26,000 a polia existujú v PHP, ale tu je miesto, kde syntax začína byť trochu iný, 415 00:22:26,000 --> 00:22:29,000 ale tieto pojmy sú rovnaké, a pojmy sú naozaj rovnaké 416 00:22:29,000 --> 00:22:32,000 ako tomu bolo v týždni 0 sa Scratch. 417 00:22:32,000 --> 00:22:34,000 V prvom rade je $ sign. 418 00:22:34,000 --> 00:22:37,000 To bol návrh rozhodnutia v PHP podľa ktorého všetky premenné 419 00:22:37,000 --> 00:22:41,000 v PHP design začína znakom $. 420 00:22:41,000 --> 00:22:46,000 Nie je viac X, Y, Z. Teraz je $ X, Y $, $ Z len preto, že. 421 00:22:46,000 --> 00:22:49,000 Je to niečo, čo mať na pamäti, a teraz na pravej strane 422 00:22:49,000 --> 00:22:52,000 to vyzerá podobne ako pole, 423 00:22:52,000 --> 00:22:54,000 ale my sme sa pomocou hranatých zátvoriek tu. 424 00:22:54,000 --> 00:22:57,000 V PHP a JavaScriptu, ako budeme nakoniec vidieť, 425 00:22:57,000 --> 00:23:01,000 deklarovať pole, ktoré robiť otvorenú hranatou zátvorku a zavrel hranatú zátvorku, 426 00:23:01,000 --> 00:23:04,000 a potom máte čiarkou oddelený zoznam hodnôt, či už ints 427 00:23:04,000 --> 00:23:09,000 alebo reťazca alebo písmen, čo chcete, v tejto výrazu tam. 428 00:23:09,000 --> 00:23:11,000 >> Teraz, ako sme niečo také v C? 429 00:23:11,000 --> 00:23:16,000 Čo bolo syntaxe pre staticky deklarovať pole známych čísel? 430 00:23:16,000 --> 00:23:19,000 To bolo zložené zátvorky, tak malý rozdiel tu, ale v oboch PHP 431 00:23:19,000 --> 00:23:22,000 a nakoniec JavaScript, iba využíva hranaté zátvorky, takže naozaj 432 00:23:22,000 --> 00:23:25,000 jediný zaujímavý detail je tu $ znak pre názov premennej 433 00:23:25,000 --> 00:23:28,000 a tiež hranaté zátvorky, a tam je jedna čudná vec 434 00:23:28,000 --> 00:23:32,000 , Ktorá bola vynechaná aj na ľavej strane znak =. 435 00:23:32,000 --> 00:23:36,000 Čo chýba, že sme sa vyžaduje niekoľko týždňov? Jo. 436 00:23:36,000 --> 00:23:38,000 [Nepočuteľné Študent odpoveď] 437 00:23:38,000 --> 00:23:41,000 Veľkosť, takže žiadna zmienka o veľkosť poľa. 438 00:23:41,000 --> 00:23:45,000 Úprimne povedané, neexistuje žiadna zmienka o hranatých zátvorkách na ľavej strane 439 00:23:45,000 --> 00:23:47,000 označenie =, a čo iného chýba z linky? 440 00:23:47,000 --> 00:23:49,000 Jo. >> [Nepočuteľné Študent odpoveď] 441 00:23:49,000 --> 00:23:52,000 Typ, takže to, čo je zaujímavé najmä o PHP 442 00:23:52,000 --> 00:23:56,000 je to, že sa nejedná o silne typový jazyk ako C, 443 00:23:56,000 --> 00:23:58,000 a že je silne zadali v tom zmysle, že je potrebné povedať char, 444 00:23:58,000 --> 00:24:00,000 musíte povedať int, musíte povedať float. 445 00:24:00,000 --> 00:24:03,000 >> Kedykoľvek budete chcieť premennú musíš povedať rinčať čo jeho typ. 446 00:24:03,000 --> 00:24:05,000 PHP je trochu lenivejší. 447 00:24:05,000 --> 00:24:08,000 Je to voľne zadali v tom zmysle, že 448 00:24:08,000 --> 00:24:11,000 môžete mať plaváky a pripaľuje a reťazce 449 00:24:11,000 --> 00:24:14,000 a ints a tak ďalej, ale jazyk sám 450 00:24:14,000 --> 00:24:17,000 naozaj nie je jedno, čo si dať dovnútra premenné. 451 00:24:17,000 --> 00:24:20,000 Nemusíte informovať v predstihu, čo dátový typ 452 00:24:20,000 --> 00:24:22,000 sa deje v premennej. 453 00:24:22,000 --> 00:24:24,000 Je to úplne na vás, tak to je pekný 454 00:24:24,000 --> 00:24:27,000 v tom, že nemusíte mať strach, ako moc o údaje písanie 455 00:24:27,000 --> 00:24:29,000 a obáv, aké sú vaše argumenty sú, a tak ďalej. 456 00:24:29,000 --> 00:24:32,000 To tiež znamená, prípadne funkcie v PHP sa bude môcť vrátiť 457 00:24:32,000 --> 00:24:36,000 buď int väčšinu času, a možno raz za čas 458 00:24:36,000 --> 00:24:40,000 sa vrátim bool, a false, napríklad znamenať, že sa niečo pokazilo. 459 00:24:40,000 --> 00:24:44,000 To nám dáva nejaké upsides, ale tiež nám umožní druh zámerné 460 00:24:44,000 --> 00:24:47,000 trochu lenivejší, pokiaľ ide o dátové písaní. 461 00:24:47,000 --> 00:24:50,000 >> Čo iného je tam mať na pamäti, tu? 462 00:24:50,000 --> 00:24:54,000 Premenné vyzerajú celkom páči, takže $ s = "hello, world." 463 00:24:54,000 --> 00:24:57,000 To je snáď inferable z predchádzajúceho príkladu, 464 00:24:57,000 --> 00:24:59,000 a máme iný typ slučky. 465 00:24:59,000 --> 00:25:02,000 Tento budeme skutočne vidieť raz za čas, pretože je to celkom šikovný, 466 00:25:02,000 --> 00:25:04,000 foreach konštrukcie. 467 00:25:04,000 --> 00:25:11,000 V tomto prípade, je slučka foreach sa vnútri svojich slov zátvorke 3 typicky, 468 00:25:11,000 --> 00:25:16,000 $ Niečo prvý, čo je to, čo pole chceš iterácii členmi, 469 00:25:16,000 --> 00:25:19,000 potom doslova kľúčové slovo ako, a potom konečne, 470 00:25:19,000 --> 00:25:21,000 ďalšie premenné meno, ktoré dostanete na výber. 471 00:25:21,000 --> 00:25:23,000 To môže byť foo, bar, alebo prvok, 472 00:25:23,000 --> 00:25:26,000 a čo tento konštrukt robí 473 00:25:26,000 --> 00:25:29,000 ak je $ pole obsahuje 10 prvkov 474 00:25:29,000 --> 00:25:34,000 na každej iterácii tohto poľa-ľúto, na každej iterácii tohto cyklu 475 00:25:34,000 --> 00:25:37,000 premenná nazýva prvok bude aktualizovaný 476 00:25:37,000 --> 00:25:40,000 byť prvý element v poli, potom druhý prvok v poli, 477 00:25:40,000 --> 00:25:44,000 potom tretí prvok poľa, a tým odstraňuje potrebu 478 00:25:44,000 --> 00:25:46,000 robiť niečo otravného hranatá zátvorka notáciu a 479 00:25:46,000 --> 00:25:49,000 $ I, aby sa index do poľa. 480 00:25:49,000 --> 00:25:53,000 PHP robí všetky, ktoré pracujú pre vás a na každej iterácii 481 00:25:53,000 --> 00:25:55,000 Len podá vám ďalší prvok z poľa 482 00:25:55,000 --> 00:26:01,000 bez toho aby ste museli poznať alebo sa starať o jeho číselné umiestnenie indexu. 483 00:26:01,000 --> 00:26:04,000 >> A potom konečne, pre teraz, je tu ešte jedna ďalšie rys PHP 484 00:26:04,000 --> 00:26:08,000 že to bude veľmi užitočné, najmä keď sme sa začať s programovaním na webe, 485 00:26:08,000 --> 00:26:10,000 a to je známe ako asociatívne pole. 486 00:26:10,000 --> 00:26:13,000 V pole, ktoré poznáme, teda pokiaľ ide o 20 sekúnd pred 487 00:26:13,000 --> 00:26:17,000 a za posledných 8 týždňov sú číselne indexované pole, 488 00:26:17,000 --> 00:26:20,000 druh tradičných polí, kde indexy sú ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, úplne hore. 490 00:26:23,000 --> 00:26:25,000 Asociatívne polia sú oveľa silnejšie. 491 00:26:25,000 --> 00:26:28,000 Tie vám umožní mať ľubovoľné klávesy, 492 00:26:28,000 --> 00:26:31,000 ľubovoľné indexy a ľubovoľné hodnoty. 493 00:26:31,000 --> 00:26:34,000 Zatiaľ čo v tradičnom pole je 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 v asociatívnym poli môžete mať index 495 00:26:37,000 --> 00:26:41,000 alebo kľúč foo, ktorých hodnota je bar. 496 00:26:41,000 --> 00:26:46,000 Potom môžete mať iný kľúč, ktorého meno je baz a ktorých hodnota je qux. 497 00:26:46,000 --> 00:26:49,000 >> Opäť platí, že hlúpe počítačovej vedy druhové názvy premenných tu, 498 00:26:49,000 --> 00:26:55,000 ale ide o to, že tieto polia nemá držiak 0 alebo konzolou 1. 499 00:26:55,000 --> 00:26:59,000 Je to miesto bude mať držiaku foo a konzoly Baz. 500 00:26:59,000 --> 00:27:03,000 To je oveľa viac univerzálny v tom, že budeme mať možnosť spojiť 501 00:27:03,000 --> 00:27:07,000 slová s inými slovami, kľúče s hodnotami úplne svojvoľne, 502 00:27:07,000 --> 00:27:12,000 a budeme mať možnosť získať tieto hodnoty späť v konštantnom čase 503 00:27:12,000 --> 00:27:14,000 pretože pod pokrievku toho, čo asociatívne pole 504 00:27:14,000 --> 00:27:16,000 naozaj je hash tabuľka. 505 00:27:16,000 --> 00:27:20,000 Pripomeňme, že hash tabuľky umožňuje, aby v niektorých vstupov 506 00:27:20,000 --> 00:27:25,000 ako dal v slove Davida, ak chcete vložiť Davida do nejakého slovníka, 507 00:27:25,000 --> 00:27:27,000 a potom sa vrátiť nejakú hodnotu obvykle. 508 00:27:27,000 --> 00:27:29,000 V prípade Speller, true alebo false. 509 00:27:29,000 --> 00:27:33,000 David alebo čokoľvek slovo alebo nie je v slovníku. 510 00:27:33,000 --> 00:27:36,000 Asociatívne pole je naozaj len hash tabuľky, 511 00:27:36,000 --> 00:27:38,000 ale je to oveľa viac užívateľsky prívetivé stelesnenie toho. 512 00:27:38,000 --> 00:27:41,000 Ako uvidíme, bude to, ktoré nám umožní robiť niektoré veci 513 00:27:41,000 --> 00:27:43,000 veľmi, veľmi ľahko. 514 00:27:43,000 --> 00:27:45,000 >> Poďme sa pozrieť na nejaké základné PHP 515 00:27:45,000 --> 00:27:47,000 Príklady a uvidíme, čo môžeme urobiť s týmto jazykom. 516 00:27:47,000 --> 00:27:51,000 Nechaj ma ísť napred a otvoriť v našom zdrojovom adresári dnes 517 00:27:51,000 --> 00:27:54,000 súbor s názvom hello1.php. 518 00:27:54,000 --> 00:27:57,000 Tento súbor je ďalší komentár, než je skutočný kód, 519 00:27:57,000 --> 00:28:00,000 tak nech mi skutočne odstrániť všetky pripomienky zo súboru 520 00:28:00,000 --> 00:28:05,000 a predloží vám možno najjednoduchšie PHP programu tu. 521 00:28:05,000 --> 00:28:07,000 5 riadkov, a niektoré z nich sú prázdne miesto, 522 00:28:07,000 --> 00:28:09,000 takže zaznamenáte niektoré kľúčové rozdiely tu. 523 00:28:09,000 --> 00:28:12,000 Súbor sa volá hello1.php. 524 00:28:12,000 --> 00:28:16,000 Prvý riadok, keď je 00:28:18,000 Podobný v duchu do HTML, 526 00:28:18,000 --> 00:28:21,000 že postupnosť znakov povie počítači 527 00:28:21,000 --> 00:28:25,000 "Hej, počítač, tu je program sme v PHP." 528 00:28:25,000 --> 00:28:28,000 To je istý, že to nie je zmätený, že je to nejaký iný jazyk. 529 00:28:28,000 --> 00:28:30,000 Linka 2 je zaujímavý biely priestor. 530 00:28:30,000 --> 00:28:32,000 Linka 3 je náš starý priateľ printf, 531 00:28:32,000 --> 00:28:34,000 tentoraz v súvislosti s PHP. 532 00:28:34,000 --> 00:28:37,000 PHP má vlastnú verziu printf, ktorá sa chová úplne rovnako, 533 00:28:37,000 --> 00:28:39,000 takže je to len bude tlačiť "Hello, world". 534 00:28:39,000 --> 00:28:46,000 A potom to opak tag tu,>, znamená to, že je to pre moje PHP kódu. 535 00:28:46,000 --> 00:28:48,000 >> Poďme sa pozrieť, ako spustiť tento. 536 00:28:48,000 --> 00:28:50,000 Chystám sa vrátiť do svojho terminálovom okne tu. 537 00:28:50,000 --> 00:28:52,000 Chystám sa ísť do môjho PHP adresára. 538 00:28:52,000 --> 00:28:56,000 Všimnite si, že máme veľa súborov, prvý z ktorých jeden je hello.php. 539 00:28:56,000 --> 00:29:01,000 Nechaj ma ísť napred a spustiť tento, hello1.php, zadajte. 540 00:29:01,000 --> 00:29:03,000 Prístup zamietnutý. Dobre. 541 00:29:03,000 --> 00:29:06,000 Ako sme pevne veci, ako je tento v minulosti? 542 00:29:06,000 --> 00:29:08,000 Čo je to? >> [Nepočuteľné Študent odpoveď] 543 00:29:08,000 --> 00:29:11,000 Potrebujeme čítať a písať, ale nechaj ma to urobiť ls-l. 544 00:29:11,000 --> 00:29:14,000 Označiť túto trochu záhadný výstup podľa ktorého hello1 545 00:29:14,000 --> 00:29:17,000 Zdá sa, že čítať a zapisovať mne 546 00:29:17,000 --> 00:29:19,000 ale čitateľné všetkými ostatnými. 547 00:29:19,000 --> 00:29:22,000 Ukázalo sa, že to v skutočnosti nie je krok správnym smerom. 548 00:29:22,000 --> 00:29:25,000 Rozdiel, opäť s interpretovaný jazyk 549 00:29:25,000 --> 00:29:27,000 sa nemusíte spúšťať program priamo. 550 00:29:27,000 --> 00:29:30,000 By ste namiesto toho použiť tlmočníka a odovzdať ho kódu 551 00:29:30,000 --> 00:29:33,000 že ste napísali tak to môže interpretovať je riadok po riadku. 552 00:29:33,000 --> 00:29:36,000 V tomto prípade, tlmočníka alebo program, ktorý som v skutočnosti chcete spustiť 553 00:29:36,000 --> 00:29:38,000 je doslova nazýva PHP. 554 00:29:38,000 --> 00:29:41,000 >> Niekde na tomto disku spotrebiča je program, 555 00:29:41,000 --> 00:29:45,000 niekto iný napísal len PHP alebo Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Čo budem robiť, je tu budem skutočne spustiť PHP 557 00:29:48,000 --> 00:29:51,000 ale dať to ako argument príkazového riadku kódu, ktorý som napísal, 558 00:29:51,000 --> 00:29:54,000 a potom budem oddialiť a stlačte klávesu Enter. 559 00:29:54,000 --> 00:29:58,000 To beží môj program mi, zhora nadol, zľava doprava. 560 00:29:58,000 --> 00:30:01,000 Nechaj ma ísť napred a otvoriť mierny rozptyl tohto. 561 00:30:01,000 --> 00:30:05,000 V hello2.php oznámenia, že to taky 562 00:30:05,000 --> 00:30:08,000 je väčšinou pripomienky, tak mi dovoľte zbaviť tých ako rozptýlenie, 563 00:30:08,000 --> 00:30:13,000 a to, čo je jasne odlišné teraz o tomto súbore? 564 00:30:13,000 --> 00:30:15,000 Tam je to nová rada, trochu tajomná hore. 565 00:30:15,000 --> 00:30:20,000 V riadku 1 je #! / Bin / php. 566 00:30:20,000 --> 00:30:24,000 Bin je dohovor o Linuxe a Mac OS pre binárne súbory, 567 00:30:24,000 --> 00:30:27,000 tak / bin znamená, že tento je zložka obsahujúca veľa binárek 568 00:30:27,000 --> 00:30:29,000 , Ktorý je naprogramovaný, z ktorých jedna je PHP. 569 00:30:29,000 --> 00:30:32,000 #! je přezdíval shebang, 570 00:30:32,000 --> 00:30:35,000 ktorý je rýchly spôsob, ako to povedať, a čo to znamená 571 00:30:35,000 --> 00:30:40,000 je, že pri spustení tohto programu teraz tam náznak v hornej časti súboru 572 00:30:40,000 --> 00:30:44,000 , Ktorá hovorí počítaču, čo interpret použiť. 573 00:30:44,000 --> 00:30:47,000 >> To je trochu nepríjemné, ak ste mali povedať svojim užívateľom a vaše zákazníkov 574 00:30:47,000 --> 00:30:50,000 "Hej, my napísal tento program s názvom hello1.php." 575 00:30:50,000 --> 00:30:54,000 Jediné, čo musíte urobiť, je navždy spustiť PHP a potom názov tohto programu. 576 00:30:54,000 --> 00:30:58,000 Úprimne povedané, bolo by to jednoducho byť krajšie spustiť hello1.php, 577 00:30:58,000 --> 00:31:00,000 a skutočne, ak môžeme vykonať nasledovné kroky. 578 00:31:00,000 --> 00:31:05,000 Nechaj ma ísť ďalej a robiť ls-l, a všimnite si, v hello2 je to stále len čítať písať 579 00:31:05,000 --> 00:31:10,000 a potom si prečítajte čítať, tak som si ešte urobiť, hello2.php. 580 00:31:10,000 --> 00:31:15,000 Ale sme zaviedli to niekedy tak krátko minule, príkaz chmod. 581 00:31:15,000 --> 00:31:20,000 Ak som to chmod a + x, čo znamená, že všetky Plus vykonateľnosti, 582 00:31:20,000 --> 00:31:26,000 a potom hello2.php a potom sa ls-l opäť všimnúť, čo sa zmenilo. 583 00:31:26,000 --> 00:31:29,000 Jeden, Linux je mi ukázal názov súboru v zelenej vysvetliť myšlienku, 584 00:31:29,000 --> 00:31:32,000 že je to spustiteľný, ale ešte dôležitejšie je, na ľavej strane 585 00:31:32,000 --> 00:31:36,000 Všimnite si, že trochu representing x pre spustiteľný súbor je teraz nastavená. 586 00:31:36,000 --> 00:31:42,000 Čo to teraz znamená, môžem bežať ./hello2.php ako zvyčajne, 587 00:31:42,000 --> 00:31:45,000 stlačte Enter, a to z dôvodu shebang na veľmi začiatok súboru 588 00:31:45,000 --> 00:31:48,000 to je náznak, znovu, Linux, ktorá hovorí, 589 00:31:48,000 --> 00:31:51,000 použiť tento interpret spustiť tento súbor. 590 00:31:51,000 --> 00:31:54,000 Nerobte si starosti nútiť užívateľa skutočne písať. 591 00:31:54,000 --> 00:31:57,000 >> A čo je pekné teraz je to tak trochu irelevantné pre moje zákazníkov alebo moji priatelia 592 00:31:57,000 --> 00:32:01,000 aký jazyk som napísal tento program, takže môžem pokračovať s MV 593 00:32:01,000 --> 00:32:04,000 a premenovať vec hello2, napríklad. 594 00:32:04,000 --> 00:32:07,000 A teraz keď to urobím ./hello2 595 00:32:07,000 --> 00:32:10,000 a oddialiť môj program beží. 596 00:32:10,000 --> 00:32:13,000 Tieto prípony súborov sú ľudské konvencie, ktorá je nevyhnutná 597 00:32:13,000 --> 00:32:15,000 niečo ako Clang a robiť, ktorí hľadajú pre ne. 598 00:32:15,000 --> 00:32:18,000 Ale pre PHP, mohol by som zavolať túto príponu, čo chcem. 599 00:32:18,000 --> 00:32:22,000 Mohol by som prinútiť svet, aby si mysleli, že som naozaj dobrý Ruby, 600 00:32:22,000 --> 00:32:25,000 a ja som mohol písať hello2.rb a potom spustiť to, 601 00:32:25,000 --> 00:32:28,000 a voila, teraz mám verziu Ruby, ktorá je úplná lož. 602 00:32:28,000 --> 00:32:30,000 Ale prípony súborov sú bezvýznamné 603 00:32:30,000 --> 00:32:35,000 v prípade, že je súbor spustiteľný a má tento špeciálny náznak v hornej časti súboru. 604 00:32:35,000 --> 00:32:38,000 >> Teraz, rovnako ako stranou, dovoľte mi ukázať vám rýchlo verzia 3, 605 00:32:38,000 --> 00:32:40,000 ktorá je trochu užitočný trik vedieť. 606 00:32:40,000 --> 00:32:45,000 V hello3 som niečo trochu zle 607 00:32:45,000 --> 00:32:47,000 že budem aktualizovať zdrojový kód online. 608 00:32:47,000 --> 00:32:50,000 Vo verzii 3 sa ukáže, že na väčšine linuxových počítačov 609 00:32:50,000 --> 00:32:53,000 je tu program s názvom env pre životné prostredie, 610 00:32:53,000 --> 00:32:56,000 a čo môžete urobiť je, ak máte tušenie, kde PHP 611 00:32:56,000 --> 00:33:00,000 je nainštalovaný na lokálnom pevnom disku, pretože to naozaj môže líšiť v závislosti na počítači 612 00:33:00,000 --> 00:33:03,000 že niekto používa, env len hovorí, spustiť env, 613 00:33:03,000 --> 00:33:07,000 ktorý je na väčšine systémov, a zistiť, kde je PHP. 614 00:33:07,000 --> 00:33:11,000 Len bežný trik, takže nemusíte mať strach o to zistiť, kde je program. 615 00:33:11,000 --> 00:33:14,000 Ale ak si pozor, aby zistili, kde je program a vy ste nestaral tak ďaleko 616 00:33:14,000 --> 00:33:16,000 môžete použiť príkaz, ktorý. 617 00:33:16,000 --> 00:33:19,000 >> Dovoľte mi, aby som oddialiť a typ, ktorý php, 618 00:33:19,000 --> 00:33:23,000 a všimnite si, že mi hovorí, že je to vlastne v usr / bin / php. 619 00:33:23,000 --> 00:33:25,000 Je to trochu lož. Je to tiež v priehradke. 620 00:33:25,000 --> 00:33:27,000 Je to jednoducho ukazuje mi prvý hit. 621 00:33:27,000 --> 00:33:31,000 Ak ste sa niekedy nad tým, kde je zvonenie, ktoré zvonenie, to je v usr / bin / rinčať, 622 00:33:31,000 --> 00:33:34,000 ktoré tvoria, usr / bin / make, a čo to znamená je po celú tú dobu 623 00:33:34,000 --> 00:33:38,000 ste mohli byť písanie usr / bin / rinčať zadajte spustiť rinčať, 624 00:33:38,000 --> 00:33:41,000 ale je to docela únavné k tomu, že, takže niektoré zložky 625 00:33:41,000 --> 00:33:44,000 ako usr / bin a bin sú považované za východiskový 626 00:33:44,000 --> 00:33:50,000 takže počítač vie, hľadať v nich pre vás. 627 00:33:50,000 --> 00:33:53,000 Akékoľvek otázky týkajúce sa písania super, super jednoduchý Hello World program 628 00:33:53,000 --> 00:33:55,000 v PHP a necháte ho? 629 00:33:55,000 --> 00:33:59,000 Vzhľadom k tomu, teraz začneme zavádzať presvedčivý syntax. 630 00:33:59,000 --> 00:34:01,000 Dobre, ideme na to. 631 00:34:01,000 --> 00:34:03,000 Tieto programy sme videli skutočne všetky z nich pred. 632 00:34:03,000 --> 00:34:07,000 >> Ak som otvoriť, napríklad, poďme urobiť beer1.php, 633 00:34:07,000 --> 00:34:09,000 nepôjdeme cez niekoľko verzií, ale to, čo som urobil 634 00:34:09,000 --> 00:34:13,000 bol som si sadol a nalial, alebo previesť 635 00:34:13,000 --> 00:34:15,000 môj C kód PHP kód tu. 636 00:34:15,000 --> 00:34:18,000 Väčšina z hornej časti súboru je komentáre nahor. 637 00:34:18,000 --> 00:34:20,000 Ukázalo sa, že je tu ešte jedna nová funkcia musíme nazýva readline. 638 00:34:20,000 --> 00:34:23,000 GetString, stiahnutie, z týždeň 0 vpred bol CS50 vec. 639 00:34:23,000 --> 00:34:27,000 PHP prichádza s vlastnou užívateľsky príjemný funkciu nazvanú readline 640 00:34:27,000 --> 00:34:30,000 že trvá 1 argument, ktorý určuje riadku 641 00:34:30,000 --> 00:34:33,000 ktoré chcete zobraziť na užívateľa, a to, čo robí readline 642 00:34:33,000 --> 00:34:35,000 je vráti bez ohľadu užívateľ zadá v 643 00:34:35,000 --> 00:34:39,000 V tomto prípade, som deklarovaní premennej s názvom $ n 644 00:34:39,000 --> 00:34:42,000 Som skladovanie v ňom návratovú hodnotu readline 645 00:34:42,000 --> 00:34:44,000 po výzve užívateľa s týmto reťazcom. 646 00:34:44,000 --> 00:34:47,000 Len pre zálohovanie, skutočne spustiť túto vec, nechaj ma ísť napred 647 00:34:47,000 --> 00:34:50,000 a spustiť php beer1.php. 648 00:34:50,000 --> 00:34:53,000 Koľko fliaš bude? Urobme 2 tentoraz. 649 00:34:53,000 --> 00:34:55,000 Enter. To je všetko. 650 00:34:55,000 --> 00:34:59,000 >> Program je funkčne zhodný s verziou C od týždne. 651 00:34:59,000 --> 00:35:01,000 Ale syntakticky poďme pozrieť, čo je odlišné. 652 00:35:01,000 --> 00:35:05,000 Potom, čo som si int z užívateľského oznámenia, že robím nejakú kontrolu chýb, 653 00:35:05,000 --> 00:35:08,000 a ak je n menšie ako 1 som prestal a ja vytlačiť 654 00:35:08,000 --> 00:35:11,000 Ospravedlňujem správa pre užívateľa a výstup s 1. 655 00:35:11,000 --> 00:35:13,000 Aj to je trochu iný. 656 00:35:13,000 --> 00:35:16,000  V C čo sme urobili? V jazyku C sme sa vrátili 1. 657 00:35:16,000 --> 00:35:20,000 V PHP môžete ukončiť, 1, ktoré úprimne povedané je myslím trochu viac intuitívne 658 00:35:20,000 --> 00:35:22,000 preto, že ste doslova ukončenia programu. 659 00:35:22,000 --> 00:35:25,000 Dobre, a potom sem otravné pieseň je totožný syntakticky 660 00:35:25,000 --> 00:35:29,000 okrem premenné, takže sa tu v súlade 24 vpred 661 00:35:29,000 --> 00:35:31,000 všimnete moju dušu pre sláčiky je takmer rovnaký, 662 00:35:31,000 --> 00:35:34,000 ale mám $ pred i a n, 663 00:35:34,000 --> 00:35:37,000 a čo je tiež chýba z riadku 26, ktoré sme mali v minulosti 664 00:35:37,000 --> 00:35:39,000 pri deklarovaní premennej i? 665 00:35:39,000 --> 00:35:41,000 Tam je žiadny typ. 666 00:35:41,000 --> 00:35:43,000 Je nesprávne v PHP povedať int. 667 00:35:43,000 --> 00:35:45,000 Vy proste musíte urobiť, že. 668 00:35:45,000 --> 00:35:48,000 Počítač, interpret PHP je dosť šikovný na to, aby si uvedomiť, 669 00:35:48,000 --> 00:35:51,000 že ak vložíte číslo $ I to bude liečiť 670 00:35:51,000 --> 00:35:53,000 ako číslo pre vás. 671 00:35:53,000 --> 00:35:57,000 A potom sa tu pripojiť $ i, $ i, $ i - 1. 672 00:35:57,000 --> 00:36:00,000 To všetko je rovnaké, a potom tu dole budeme robiť "Wow, to je nepríjemné" printf 673 00:36:00,000 --> 00:36:02,000 a potom ukončite (0). 674 00:36:02,000 --> 00:36:05,000 >> Opäť, stánok s jedlom je, že aj keď budeme tráviť pomerne 675 00:36:05,000 --> 00:36:09,000 málo času na PHP, určite versus to, čo sme urobili na C, 676 00:36:09,000 --> 00:36:12,000 je to skoro rovnaké, a tak to, čo budeme dnes robiť a budúci týždeň 677 00:36:12,000 --> 00:36:14,000 a ďalej je zameraná naozaj na niektoré z nových myšlienok. 678 00:36:14,000 --> 00:36:17,000 Len vidieť, že jedna vec sa preložiť cez od C, 679 00:36:17,000 --> 00:36:20,000 to bolo super jednoduchý program, ktorý sme robili v 1. týždňa 680 00:36:20,000 --> 00:36:22,000 alebo 2, ktoré kocky hodnotu. 681 00:36:22,000 --> 00:36:25,000 Ale čo bolo zaujímavé, v čase, keď o tomto programe je to, že 682 00:36:25,000 --> 00:36:28,000 zaviedol aj pojem vlastné písomného funkcie, ktorú sme sami napísali. 683 00:36:28,000 --> 00:36:31,000 Syntax v PHP je takmer rovnaký. 684 00:36:31,000 --> 00:36:33,000 Tu je môj program do hornej. 685 00:36:33,000 --> 00:36:35,000 Všimnite si opäť chýba, je nejaké poňatie o hlavné. 686 00:36:35,000 --> 00:36:39,000 Aj začať písať kód, a to je to, čo sa deje, aby si vykonaný tlmočníka. 687 00:36:39,000 --> 00:36:42,000 Aj vytlačiť x je teraz 2, pravdepodobne. 688 00:36:42,000 --> 00:36:44,000 Potom som tvrdiť, Cubing ... 689 00:36:44,000 --> 00:36:47,000 Potom som volať kocky funkcie a odovzdať $ x 690 00:36:47,000 --> 00:36:50,000 a priradiť návratovú hodnotu $ x. 691 00:36:50,000 --> 00:36:53,000 Potom som tvrdiť, že je to kocky, a potom som povedal to, ktoré snáď 692 00:36:53,000 --> 00:36:55,000 bude hovoriť x je teraz 8. 693 00:36:55,000 --> 00:36:59,000 Syntax pre funkciu v PHP je niekedy tak trochu inak. 694 00:36:59,000 --> 00:37:01,000 Opäť chýba, je návratový typ. 695 00:37:01,000 --> 00:37:05,000 Opäť chýba, je návratový typ a tiež chýba, je to, čo iný typ? 696 00:37:05,000 --> 00:37:07,000 [Nepočuteľné Študent odpoveď] 697 00:37:07,000 --> 00:37:10,000 No, jo, to je dobrý. Vráťme sa k tomu v druhom. 698 00:37:10,000 --> 00:37:12,000 >> Nemáme napríklad int tu. 699 00:37:12,000 --> 00:37:15,000 Nechceme, napríklad, že int tu preto, opäť v PHP 700 00:37:15,000 --> 00:37:18,000 jednoducho nemusíte, a to nemal robiť, že, 701 00:37:18,000 --> 00:37:20,000 ale tam je to nové kľúčové slovo volané funkcie. 702 00:37:20,000 --> 00:37:23,000 V PHP je to skoro trochu jasnejšie, pretože ak chcete funkciu 703 00:37:23,000 --> 00:37:26,000 ste doslova povedal funkciu, dáte mu meno a potom čiarkami oddelený zoznam 704 00:37:26,000 --> 00:37:28,000 ak niektorý z jej argumentov. 705 00:37:28,000 --> 00:37:32,000 Nie je potrebné hovoriť, neplatné alebo niečo podobné, že, a potom návrat je rovnaký, 706 00:37:32,000 --> 00:37:35,000 $ * $ * $. 707 00:37:35,000 --> 00:37:38,000 Čo je tiež chýba? Sammy upozornil tento tu. 708 00:37:38,000 --> 00:37:43,000 V hornej časti súboru úplne chýba v PHP je tiež prototyp. 709 00:37:43,000 --> 00:37:45,000 Aj to je zámerné. 710 00:37:45,000 --> 00:37:48,000 Jazyky a tlmočníci, ako PHP sú múdrejší ako C kedy bol 711 00:37:48,000 --> 00:37:50,000 v kompilátory ako Clang. 712 00:37:50,000 --> 00:37:53,000 >> Pripomeňme, že zvoniť, ak ste nepovedal to, že kocku existuje, 713 00:37:53,000 --> 00:37:56,000 ak ste si povedať, že printf existuje ako s prototypom 714 00:37:56,000 --> 00:38:00,000 alebo # include, dobre, to bude revať na vás a ani kompiláciu kódu. 715 00:38:00,000 --> 00:38:03,000 PHP a ďalšie moderné jazyky sú oveľa múdrejší, keď príde na toto. 716 00:38:03,000 --> 00:38:07,000 Budú mať to na sebe prečítať všetky vaše kódu 717 00:38:07,000 --> 00:38:11,000 a potom kričať na vás iba vtedy, ak zistí, že kocky nikde. 718 00:38:11,000 --> 00:38:15,000 Nezáleží na tom, či je kocka na dne alebo hornej, alebo dokonca v niektorých samostatnom súbore. 719 00:38:15,000 --> 00:38:18,000 PHP a podobné jazyky sú teraz dosť bystrí na to dívať dopredu 720 00:38:18,000 --> 00:38:26,000 na všetko, čo pred považovali vás ako mať urobil chybu. 721 00:38:26,000 --> 00:38:28,000 Ak nám teda zostáva? 722 00:38:28,000 --> 00:38:32,000 >> Poďme urobiť posledný príklad tu v podmienkach, 723 00:38:32,000 --> 00:38:35,000 a keď som otvoriť conditions2.php oznámenia príliš 724 00:38:35,000 --> 00:38:37,000 Syntax je tu takmer rovnaký. 725 00:38:37,000 --> 00:38:40,000 Ja používam readline miesto GetString, ale že linka je rovnaká ako predtým, 726 00:38:40,000 --> 00:38:42,000 "Rád by som číslo prosím." 727 00:38:42,000 --> 00:38:45,000 Potom som mať, ak podmienku, else if, a potom iný, 728 00:38:45,000 --> 00:38:48,000 ale funkčne je tento program tiež totožné s tým, čo sme robili pred niekoľkými týždňami, 729 00:38:48,000 --> 00:38:51,000 takže keď som spustiť túto vec, PHP conditions2, 730 00:38:51,000 --> 00:38:54,000 a dám mu číslo ako 23 - 731 00:38:54,000 --> 00:38:57,000 Vybral som si kladné číslo. Ak dám, že -1 Vybral som si záporné číslo. 732 00:38:57,000 --> 00:39:00,000 Ak dám, že som naozaj vybral 0 0. 733 00:39:00,000 --> 00:39:02,000 Takže kto sa zaujíma o všetko? 734 00:39:02,000 --> 00:39:06,000 No, jeden z legrace druhu cvičenia tu 735 00:39:06,000 --> 00:39:10,000 aspoň pre mňa bolo vrátiť sa späť a uvidíte, ako rýchlo by som mohol implementovať PSet 5, 736 00:39:10,000 --> 00:39:12,000 pravopisné chyby Pset. 737 00:39:12,000 --> 00:39:15,000 Pripomeňme si, že tam bol tento súbor s názvom speller.c, 738 00:39:15,000 --> 00:39:17,000 a tam bol súbor s názvom dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Čo som urobil, bolo mi trochu strávil niekoľko minút a ja som konvertoval kód C 740 00:39:20,000 --> 00:39:23,000 ku kódu PHP, a nebudeme tráviť toľko času na Speller 741 00:39:23,000 --> 00:39:26,000 pretože rovnako ako v PSet 5 ste naozaj potrebujete 742 00:39:26,000 --> 00:39:29,000 trávia veľa času na Speller sám, pretože vaša pozornosť bola na slovníku. 743 00:39:29,000 --> 00:39:32,000 >> Postačí, keď poviem, že ak budete čítať cez Speller, 744 00:39:32,000 --> 00:39:35,000 tento súbor tu, je to celkom veľa zodpovedá kódu C 745 00:39:35,000 --> 00:39:37,000 sme vám dali za PSet 5. 746 00:39:37,000 --> 00:39:39,000 Práve som pridal nejaké $ miestach. 747 00:39:39,000 --> 00:39:43,000 Zmenil som niektoré názvy funkcií v prípade, že neexistovala v PHP. 748 00:39:43,000 --> 00:39:45,000 Je tu ešte jedna ďalšia vec tu, preg_match, 749 00:39:45,000 --> 00:39:48,000 čo je trochu obsiahlejší spôsob, ako robiť niečo, ale vrátime k tomu nakoniec. 750 00:39:48,000 --> 00:39:51,000 Ale v skratke, pravopisu je takmer totožné, a keď sa pozriete na samom dne 751 00:39:51,000 --> 00:39:54,000 to, čo sa nakoniec vypľuje je to tu, 752 00:39:54,000 --> 00:39:57,000 slová nesprávne, slová v slovách slovníka, v texte. 753 00:39:57,000 --> 00:40:00,000 Dobre, takže to, čo je zaujímavé, teraz je nasledujúci. 754 00:40:00,000 --> 00:40:05,000 V hornej časti môjho súboru som vyžadujúce dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Rovnako ako C je # include PHP má špeciálnu funkciu nazvanú vyžadujú 756 00:40:09,000 --> 00:40:14,000 že skoro robí to isté, vyžadujú súbor s názvom dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Ako môžem ísť o implementácii PSet 5? 758 00:40:18,000 --> 00:40:21,000 Nechaj ma ísť ďalej a otvoriť súbor tu. 759 00:40:21,000 --> 00:40:24,000 Dovoľte mi, aby som trochu odkaz tu. 760 00:40:24,000 --> 00:40:29,000 A dovoľte mi vytvoriť nový súbor a spustite volaním tejto dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Dovoľte mi, aby som dal ho do inej zložky, takže môžeme urobiť žiť. 762 00:40:31,000 --> 00:40:33,000 A teraz budem Zoom 763 00:40:33,000 --> 00:40:37,000 Chystám sa začať môj PHP súbor s otvoreným držiakom php uzavretý držiak. 764 00:40:37,000 --> 00:40:40,000 A potom tu bolo niekoľko funkcií, ktoré som potreboval na vykonanie pre PSet 5, 765 00:40:40,000 --> 00:40:42,000 tak mi dovoľte začať vykonávať niektoré z tých, 766 00:40:42,000 --> 00:40:47,000 tak kontrola funkcie, ktorý mal vziať slovo ako argument. 767 00:40:47,000 --> 00:40:49,000 Urobíme to a vrátiť sa k nemu za chvíľu. 768 00:40:49,000 --> 00:40:53,000 >> Tam bol zaťaženia pre funkciu, ktorá sa v čom ako argument? 769 00:40:53,000 --> 00:40:56,000 Slovník, takže súbor, ktorý som vlastne chcel načítať. 770 00:40:56,000 --> 00:41:00,000 Tam bol funkcia veľkosti, ktorá neprijala žiadne argumenty 771 00:41:00,000 --> 00:41:04,000 a tam bol na funkciu, čo bola tá druhá? 772 00:41:04,000 --> 00:41:06,000 Uvoľniť, ktorá neprijala žiadne argumenty ani. 773 00:41:06,000 --> 00:41:10,000 Jedná sa o 4 funkcie, ktoré by som napríklad teraz realizovať v PHP, 774 00:41:10,000 --> 00:41:13,000 a to, čo budem robiť, je pokračovať a urobiť to. 775 00:41:13,000 --> 00:41:16,000 Mnoho z vás používa hash tabuľku v PSet 5, 776 00:41:16,000 --> 00:41:21,000 tak nechajte ma ísť dopredu a vytvoriť hash tabuľku v PHP. 777 00:41:21,000 --> 00:41:23,000 Hotovo. 778 00:41:23,000 --> 00:41:25,000 To mi dáva hash tabuľky. No, prečo? 779 00:41:25,000 --> 00:41:30,000 Jeden je premenná s názvom $ table, len vykúzliť predstavu hash tabuľky. 780 00:41:30,000 --> 00:41:34,000 Hranaté zátvorky, aj keď, spomínam, predstavujú čo? 781 00:41:34,000 --> 00:41:37,000 Pole, ale v poliach PHP nemusí byť číselne indexované. 782 00:41:37,000 --> 00:41:41,000 Oni môžu tiež byť asociatívne pole, 783 00:41:41,000 --> 00:41:44,000 čo znamená, že môžete mať ľubovoľné kľúče a hodnoty. 784 00:41:44,000 --> 00:41:49,000 >> Rovnako ako v PSet 5, tí z vás, kto to urobil hash tabuľky implementácie 785 00:41:49,000 --> 00:41:53,000 pravdepodobne znie slovo a potom ju vložil do reťazca prepojených zoznamov, 786 00:41:53,000 --> 00:41:56,000 alebo ste uložili hodnotu pravého kdesi niečo v tom zmysle. 787 00:41:56,000 --> 00:41:59,000 Môžete nejako spomenul na skutočnosť, že slovo tam bol. 788 00:41:59,000 --> 00:42:01,000 Pre túto chvíľu, že to bude môj hash tabuľka, 789 00:42:01,000 --> 00:42:06,000 a tak teraz ísť o vykonávaní kontrolnej funkcii 790 00:42:06,000 --> 00:42:09,000 Aj stačí sa pozrieť dovnútra tohto hash tabuľky 791 00:42:09,000 --> 00:42:11,000 a uvidíme, či slovo je tam. 792 00:42:11,000 --> 00:42:15,000 Čo budem robiť, je, že poviem ak, 793 00:42:15,000 --> 00:42:20,000 povedzme isset, čo je PHP funkcia, ktorá doslova znamená, kľúčov, 794 00:42:20,000 --> 00:42:24,000 tak isset ($ tabuľka [$ slovo], 795 00:42:24,000 --> 00:42:29,000 a ak áno, vráti hodnotu true. 796 00:42:29,000 --> 00:42:32,000 To je všetko. To je Pset 5 v PHP. 797 00:42:32,000 --> 00:42:34,000 No, v spravodlivosť, v poriadku. 798 00:42:34,000 --> 00:42:37,000 Else vráti false, tak to tam nie je. 799 00:42:37,000 --> 00:42:39,000 Čo sa naozaj deje? 800 00:42:39,000 --> 00:42:42,000 No, ak tabuľka alebo hash table tu všeobecne- 801 00:42:42,000 --> 00:42:46,000 je asociatívne pole, ktoré znamená, že môžete index do neho 802 00:42:46,000 --> 00:42:50,000 so slovom ako "slovo", a budete musieť vrátiť nejakú hodnotu. 803 00:42:50,000 --> 00:42:52,000 >> Sme trochu dostať o krok napred pred seba. 804 00:42:52,000 --> 00:42:56,000 To by bolo celkom pekné, keby sme skutočne načítaný súbor najprv, 805 00:42:56,000 --> 00:42:58,000 takže zaťaženie nie je tak jednoduché, ale nechajte ma ísť dopredu a vybičovať 806 00:42:58,000 --> 00:43:00,000  Naozaj rýchla implementácia zaťaženie. 807 00:43:00,000 --> 00:43:07,000 Nechaj ma ísť ďalej a povedať, slová, dostane súbor slovník. 808 00:43:07,000 --> 00:43:10,000 Súbor funkcie v PHP otvorí súbor 809 00:43:10,000 --> 00:43:12,000 a vráti sa do teba poľa všetkých slov v tomto súbore, 810 00:43:12,000 --> 00:43:14,000 Len podá je na vás. 811 00:43:14,000 --> 00:43:16,000 To bola veľká bolesť taky, nie? 812 00:43:16,000 --> 00:43:21,000 Teraz foreach, toto je náš nový konštrukt, foreach ($ slová ako $ slovo). 813 00:43:21,000 --> 00:43:25,000 Táto slučka sa začnú iterácie sa pole slová 814 00:43:25,000 --> 00:43:30,000 a priradiť k $ slovo premenné každé slovo v súbore 815 00:43:30,000 --> 00:43:32,000 od prvého do druhého na tretie až štvrté celú cestu 816 00:43:32,000 --> 00:43:35,000 takže nemám robiť nepríjemné [i] notáciu a podobne. 817 00:43:35,000 --> 00:43:38,000 A to, čo som jednoducho robiť pre každú z týchto slov 818 00:43:38,000 --> 00:43:43,000 je uložte ho vo svojom tabuľke indexovanie do tabuľky 819 00:43:43,000 --> 00:43:47,000 a potom robí pravda, pretože si pamätať 820 00:43:47,000 --> 00:43:50,000 že slovo je v mojom slovníku, všetko čo naozaj musíte urobiť, 821 00:43:50,000 --> 00:43:55,000 je druh otočiť a trochu hovoria, že toto slovo v mojom hašovacia tabuľke je tam, pravda. 822 00:43:55,000 --> 00:43:58,000 A pokiaľ to tam nie je, nemám explicitne dať false, 823 00:43:58,000 --> 00:44:01,000 inak by som musel dať false vo všetkých možných slov vo vesmíre. 824 00:44:01,000 --> 00:44:05,000 >> To stačí, ma len nastaviť hodnoty indexu 825 00:44:05,000 --> 00:44:09,000 ako pravdivé, ak slovo je vlastne v mojom tabuľky hash. 826 00:44:09,000 --> 00:44:12,000 Teraz som rezanie pár zákrut sem, že budem mávať rukami na teraz, 827 00:44:12,000 --> 00:44:15,000 ale teraz zaťaženie funkcia je hotovo. 828 00:44:15,000 --> 00:44:18,000 Aj načítať všetky slová zo súboru do poľa. 829 00:44:18,000 --> 00:44:21,000 Aj iterácii tohto poľa, a pre každé slovo v poli 830 00:44:21,000 --> 00:44:24,000 Aj zapojte ho do hash tabuľky s 1 riadok kódu. 831 00:44:24,000 --> 00:44:26,000 To je legrace. Viete, ako môžeme realizovať veľkosť teraz? 832 00:44:26,000 --> 00:44:28,000 No, veľkosť je vždy celkom jednoduché, v spravodlivosť. 833 00:44:28,000 --> 00:44:32,000 Tu sa môžeme jednoducho vrátiť počet tabuľky. 834 00:44:32,000 --> 00:44:34,000 To je celkom jednoduché aj spočítať počet vecí v tabuľke. 835 00:44:34,000 --> 00:44:36,000 To je vlastne celkom nie je najúčinnejší. 836 00:44:36,000 --> 00:44:39,000 Asi by som mala mať premennú s názvom veľkosti, takže môžeme urobiť 837 00:44:39,000 --> 00:44:41,000 v konštantnom čase, ale to je celkom jednoduché. 838 00:44:41,000 --> 00:44:45,000 Oh, a potom uvoľnite, ak skutočne chceme byť análny tu 839 00:44:45,000 --> 00:44:47,000 môžeme povedať, že to, ako sa uvoľniť niečo. 840 00:44:47,000 --> 00:44:49,000 Stačí nastaviť premennú rovnajúca sa prázdne pole, 841 00:44:49,000 --> 00:44:51,000 a zbaví všetkého, čo tam bol. 842 00:44:51,000 --> 00:44:53,000 Nie je potrebné volať zadarmo. 843 00:44:53,000 --> 00:44:56,000 >> Opäť, som odrezala niektoré rohy, a ospravedlňujeme sa za sadu problém prideľovanie 5 844 00:44:56,000 --> 00:45:00,000 snáď v C, ale ak teraz pokračovať a spustiť to, 845 00:45:00,000 --> 00:45:02,000 Chystám sa skutočne spustiť verziu, ktorá som napísal v predstihu 846 00:45:02,000 --> 00:45:05,000 len preto, že som nemal žiadne syntaktické chyby vôbec. 847 00:45:05,000 --> 00:45:08,000 Nechaj ma ísť napred a spustiť pravopisu. Použitie je rovnaké. 848 00:45:08,000 --> 00:45:12,000 Tu je slovník súbor, ktorý nájdete len slovo foo. 849 00:45:12,000 --> 00:45:15,000 Tu je textový súbor, ktorý nájdete len foo bar. 850 00:45:15,000 --> 00:45:19,000 Poďme kontrolu pravopisu tento, tak pravopisu, pomocou tohto slovníka súbor na tomto textovom súbore. 851 00:45:19,000 --> 00:45:21,000 Je tu ešte jedna chybne napísané slovo, bar, a voila. 852 00:45:21,000 --> 00:45:23,000 Hotovo s PSet 5. 853 00:45:23,000 --> 00:45:30,000 Poďme sa 5-minút prestávku tu, a vrátime sa a viac na PHP. 854 00:45:30,000 --> 00:45:32,000 Dobre, sme späť. 855 00:45:32,000 --> 00:45:34,000 Poďme si-ma nenávidia za chvíľu. 856 00:45:34,000 --> 00:45:37,000 Poďme sa teraz skutočne uvidíme, či to nie je pozitívny 857 00:45:37,000 --> 00:45:39,000 skutočne vykonáva túto vec v PHP. 858 00:45:39,000 --> 00:45:43,000 Dajme tomu, že trvalo 45 sekúnd na prevedenie. 859 00:45:43,000 --> 00:45:45,000 >> Ale poďme pokračovať teraz beží veci. 860 00:45:45,000 --> 00:45:49,000 Nechaj ma ísť napred a spustiť verzii C 861 00:45:49,000 --> 00:45:52,000 z Speller, a budeme ho spustiť na jednom z najväčších súborov, 862 00:45:52,000 --> 00:45:54,000 ktorý je King James Biblie. 863 00:45:54,000 --> 00:45:57,000 A to je tu v-poďme do nášho adresára C, 864 00:45:57,000 --> 00:46:01,000 Speller na kráľa Jakuba 5th. 865 00:46:01,000 --> 00:46:03,000 Mnoho slovami s chybným. 866 00:46:03,000 --> 00:46:06,000 Dobre, tak to je výstup, ktorý pravdepodobne dostal, aj keď časy sa trochu líši, 867 00:46:06,000 --> 00:46:09,000 ak máš všetko funguje správne, a tak čas v celkovej kontrolu pravopisu 868 00:46:09,000 --> 00:46:13,000 Kráľ James Biblie bol 0,38 sekundy, takže celkom dobrá použitie tejto implementácie. 869 00:46:13,000 --> 00:46:16,000 Teraz ma nechaj ísť do verzie PHP, ktoré sme práve napísali. 870 00:46:16,000 --> 00:46:18,000 Dovoľte mi, aby som spustiť pravopisu na kráľa Jakuba. 871 00:46:18,000 --> 00:46:21,000 Jejda, ignorovať túto chybu. Som v zlom adresári. 872 00:46:21,000 --> 00:46:24,000 Speller na kráľa Jakuba 5th. 873 00:46:46,000 --> 00:46:48,000 Takmer hotovo. 874 00:46:48,000 --> 00:46:51,000 >> Dobre, bude prešibaný pozorovateľ si uvedomiť, že je viac ako 3 sekundy tam. 875 00:46:51,000 --> 00:46:54,000 To je pravda, doba chodu. 876 00:46:54,000 --> 00:46:58,000 Ukazuje sa, že to chvíľu trvá, pľuvať veľa textu z 877 00:46:58,000 --> 00:47:00,000 pretože ukladanie do vyrovnávacej pamäte problémy, ale dlhý príbeh krátky, 878 00:47:00,000 --> 00:47:04,000 to bolo 3,15 sekúnd strojového času, CPU času, 879 00:47:04,000 --> 00:47:07,000 versus to, čo bolo pred chvíľou? 880 00:47:07,000 --> 00:47:09,000 Ako 0.3. 881 00:47:09,000 --> 00:47:11,000 Myslím, že je to o poriadok pomalší, tak kde je to 882 00:47:11,000 --> 00:47:14,000 smiešne spomalenie prichádza? 883 00:47:14,000 --> 00:47:17,000 No, ako to bolo v prípade s väčšinou všetkých konštrukčné rozhodnutí, ktoré sme urobili 884 00:47:17,000 --> 00:47:21,000 v triede počas posledných 9 týždňov je to takmer vždy to kompromis. 885 00:47:21,000 --> 00:47:24,000 Niekedy medzi len priestorom, niekedy medzi priestorom a časom, 886 00:47:24,000 --> 00:47:27,000 priestor, čas a vývoj úsilie, a naozaj tu, aj keď 887 00:47:27,000 --> 00:47:31,000 sme uložili obrovské množstvo času, možno potenciálne 10-20-30 hodín 888 00:47:31,000 --> 00:47:34,000 rozvojovej času vykonáva kontrolu pravopisu 889 00:47:34,000 --> 00:47:36,000 od bičovanie ju v pouhých 45 sekúnd s týmto jazykom 890 00:47:36,000 --> 00:47:40,000 cenou, ktorú platíme, je, že je to o poriadok pomalší v dôsledku, 891 00:47:40,000 --> 00:47:43,000 a to je zvyčajne prípad s väčšinou všetkých interpretovaný jazyk, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Pearl alebo iné rámci ktorého 893 00:47:46,000 --> 00:47:49,000 ak sa chystáte spustiť prostredníctvom tlmočníka a mať to čítať kód 894 00:47:49,000 --> 00:47:52,000 riadok po riadku, zhora nadol, zľava doprava, 895 00:47:52,000 --> 00:47:55,000 že sprostredkovateľ bude nejaký čas trvať jeho vlastné, 896 00:47:55,000 --> 00:47:59,000 a to, čo ste cítili tú v 3 sekundách, na rozdiel od 0,3 sekundy 897 00:47:59,000 --> 00:48:02,000 je skutočnosť, že je tento prostredníka, ktorý má na doslova interpretovať náš kód 898 00:48:02,000 --> 00:48:05,000 riadok po riadku, a nedaj bože, ak ste vo vnútri slučky 899 00:48:05,000 --> 00:48:08,000 s veľkým súborom obsahujúcim stovky tisíc slov. 900 00:48:08,000 --> 00:48:11,000 >> To réžia sa chystá sčítať a sčítajú a sčítajú a sčítajú. 901 00:48:11,000 --> 00:48:16,000 Pre nástroj, ako je tento, že to asi nie je najlepší jazyk použiť pre realizáciu 902 00:48:16,000 --> 00:48:20,000 spell checker, ak bezprostrednosti je v záujme užívateľov a pre vás. 903 00:48:20,000 --> 00:48:23,000 Ale luxus máme za chvíľu je, ak 904 00:48:23,000 --> 00:48:27,000 používať jazyk ako PHP alebo veľa interpretovaných jazykov 905 00:48:27,000 --> 00:48:30,000 v súvislosti s Web, v tomto prípade, máte výhodu 906 00:48:30,000 --> 00:48:34,000 že internet je oveľa pomalší ako väčšina počítačov. 907 00:48:34,000 --> 00:48:38,000 Máte GHz CPU v počítači, 2 GHz, možno dokonca viac v týchto dňoch. 908 00:48:38,000 --> 00:48:41,000 Ale realita je na internete je vysoká čiastka latencie 909 00:48:41,000 --> 00:48:45,000 pričom pre prehliadač hovoriť na serveri, aj keď sme to videli minulý týždeň 910 00:48:45,000 --> 00:48:47,000 , Že je to celkom rýchlo, polovica milisekundu alebo tak, 911 00:48:47,000 --> 00:48:51,000 to taky pridáva do, a ak ste sťahovanie veci ako obraz 912 00:48:51,000 --> 00:48:54,000 alebo fotografie Facebook alebo získanie okamžitých správ cez klábosení Facebook, 913 00:48:54,000 --> 00:48:57,000 Gchat alebo podobne, všetky tieto spiatočné časy 914 00:48:57,000 --> 00:49:00,000 medzi prehliadačom a serverom začiatkom pridať až, 915 00:49:00,000 --> 00:49:03,000 ktorý robí vaše konkrétne výber jazyka v mnohých prípadoch 916 00:49:03,000 --> 00:49:07,000 nie všetci, že relevantné, tak si v pohode pomocou mierne pomalší jazyk 917 00:49:07,000 --> 00:49:10,000 ako PHP alebo Python alebo Ruby 918 00:49:10,000 --> 00:49:13,000 ale pre ktoré existujú obrovské upsides pre vás a vaše kolegami 919 00:49:13,000 --> 00:49:17,000 a vaši priatelia, pretože môžete realizovať veci tak, tak oveľa rýchlejšie. 920 00:49:17,000 --> 00:49:20,000 A navyše, máte oveľa menšie riziko určitých bezpečnostných nedostatkov. 921 00:49:20,000 --> 00:49:22,000 Je tu žiadne ukazovatele v PHP. 922 00:49:22,000 --> 00:49:25,000 Nie sú tu žiadne SEG poruchy, ktoré možno ľahko vyvolať 923 00:49:25,000 --> 00:49:27,000 rovnakým spôsobom by ste mohli v C. 924 00:49:27,000 --> 00:49:29,000 S C si veľmi blízko k hardvéru. 925 00:49:29,000 --> 00:49:33,000 S PHP a podobných jazykoch ste trochu vyššej úrovni, aby som tak povedal, 926 00:49:33,000 --> 00:49:37,000 s mnohými obrany medzi vami a tým, čo sa vlastne deje 927 00:49:37,000 --> 00:49:39,000 vnútri stroja, a je to len kompromis. 928 00:49:39,000 --> 00:49:42,000 >> Sme sa dostali do bodu, mať tieto modernejšie, jazyky vysokej úrovne 929 00:49:42,000 --> 00:49:47,000 ako PHP, pretože z poučenie v jazykoch, ako je PHP v C. 930 00:49:47,000 --> 00:49:50,000 Ale ak nechcete pochopiť, čo sa deje na pod pokrievku celú dobu 931 00:49:50,000 --> 00:49:53,000 určite nemôže robiť správne rozhodnutia dizajnu, 932 00:49:53,000 --> 00:49:56,000 a určite, ak ide o prácu v mieste, ako je Facebook alebo Google 933 00:49:56,000 --> 00:49:59,000 alebo niektoré z týchto miest, ktoré sú stále hrá s veľkými dát 934 00:49:59,000 --> 00:50:01,000 aj keď idete späť a to medik a pracuje s nejakou MD 935 00:50:01,000 --> 00:50:04,000 na niektorých veľkých súboru dát, ktorá zahŕňala pacientov a lekárov 936 00:50:04,000 --> 00:50:08,000 a ako tie správne nástroje je veľmi presvedčivý 937 00:50:08,000 --> 00:50:11,000 pretože inak vaše analýza nejakého dátového súboru môže trvať sekúnd, 938 00:50:11,000 --> 00:50:14,000 alebo to môže doslova trvať hodiny. 939 00:50:14,000 --> 00:50:17,000 To je len jeden príklad, nie brániť vás s tým, ako oveľa viac úsilia 940 00:50:17,000 --> 00:50:21,000 to bolo v C, ale ktoré vám pomôžu uvedomiť, že keď sa implementovať niečo v C 941 00:50:21,000 --> 00:50:24,000 naozaj rozumiete, alebo teoreticky, naozaj pochopiť, 942 00:50:24,000 --> 00:50:28,000 ako všetko je alebo by malo byť pracovať, a máte takmer plnú kontrolu 943 00:50:28,000 --> 00:50:31,000 nad tým, čo sa deje pod kapotou, a s týmito jazykoch vyššej úrovne 944 00:50:31,000 --> 00:50:34,000 budete musieť vzdať väčšiu kontrolu k ľuďom, ktorí vymysleli je 945 00:50:34,000 --> 00:50:37,000 a sú predmetom viac ich konštrukčných rozhodnutie ako tá vaša. 946 00:50:37,000 --> 00:50:41,000 Ale ak berieme za samozrejmé, že výkon 947 00:50:41,000 --> 00:50:44,000 nie je tak dôležité, na webe, pretože z týchto ďalších otázok, 948 00:50:44,000 --> 00:50:47,000 len sieťové rýchlosti sú trochu pomalšie, ako CPU rýchlosti tak, 949 00:50:47,000 --> 00:50:50,000 takže môžeme nejako dovoliť, mierne pomalší jazyk 950 00:50:50,000 --> 00:50:55,000 ak upsides sme sa môže vyvinúť veci 10 krát rýchlejší, alebo dokonca viac. 951 00:50:55,000 --> 00:50:57,000 >> Poďme sa pozrieť, ako sa môžeme začať používať to. 952 00:50:57,000 --> 00:51:00,000 Nechaj ma ísť do priečinka 953 00:51:00,000 --> 00:51:03,000 medzi dnešnými príklady tzv frosh.ims, 954 00:51:03,000 --> 00:51:06,000 a to bolo skutočne osobne motivovaní tým, že prvá vec 955 00:51:06,000 --> 00:51:10,000 Som napísal pre web rokmi po nástupe CS50 CS51 a 956 00:51:10,000 --> 00:51:14,000 bol web pre program Frosh Chatu, prvák sálový šport, 957 00:51:14,000 --> 00:51:16,000 ktorý v tej dobe to bolo dosť rokmi, že v tej dobe 958 00:51:16,000 --> 00:51:19,000 tam bol žiadne webové stránky pre program, aj keď tam bol Web, 959 00:51:19,000 --> 00:51:22,000 a namiesto toho tam bol proctor v Wigglesworth pričom ak by ste chceli 960 00:51:22,000 --> 00:51:26,000 k registrácii pre volejbal alebo futbal alebo čo by ste vyplniť kus papiera. 961 00:51:26,000 --> 00:51:28,000 Tie by potom pešo cez dvor. 962 00:51:28,000 --> 00:51:31,000 Tie by potom zaklopať na dvere a šmykľavka v ich dverách alebo ručne do Proctor 963 00:51:31,000 --> 00:51:34,000 kus papiera s vaším menom na to, či chcete alebo nechcete, aby sa kapitán tímu, 964 00:51:34,000 --> 00:51:37,000 Aký šport ste chcel robiť, a čo koľaji si bol palcov 965 00:51:37,000 --> 00:51:39,000 Bolo to trochu starej školy spôsobom, ako robiť veci, a to bolo hlavným 966 00:51:39,000 --> 00:51:41,000 možnosť automatizovať mnoho tohto procesu. 967 00:51:41,000 --> 00:51:43,000 Stačí prejsť na webových stránkach. Tie niečo písať a 968 00:51:43,000 --> 00:51:46,000 Tu získate e-mailom potvrdenie, a bum, máte hotovo. 969 00:51:46,000 --> 00:51:49,000 >> To bol úplne prvá vec, ktorú som urobil, keď v jazyku s názvom Pearl, 970 00:51:49,000 --> 00:51:52,000 ale je to relatívne jednoduché urobiť v PHP, a to je trochu zástupca 971 00:51:52,000 --> 00:51:55,000 z problémov, môžete začať riešiť, keď sa môžete vyjadriť 972 00:51:55,000 --> 00:51:58,000 programovo a nemusí spoliehať na veci, ako stránkach Google 973 00:51:58,000 --> 00:52:01,000 alebo Excel alebo nástroje, ktoré budú odovzdané na vás. 974 00:52:01,000 --> 00:52:03,000 Vy teraz máte možnosť robiť veci, ako je tento. 975 00:52:03,000 --> 00:52:06,000 To je super škaredý verzia forme, 976 00:52:06,000 --> 00:52:09,000 ale poďme použite ho na začiatku rozhovoru, kedy je to 977 00:52:09,000 --> 00:52:12,000 zhruba to, čo vyzeralo ako forma rokmi pre nás 978 00:52:12,000 --> 00:52:14,000 k tomu, aby ľudia na webe sa prihlásiť k Frosh PI. 979 00:52:14,000 --> 00:52:18,000 Opýtali sme sa na meno, zaškrtávacie políčko za to, či alebo nie oni chceli byť kapitánom, 980 00:52:18,000 --> 00:52:21,000 muž alebo žena, a potom to, čo koľaji boli v, 981 00:52:21,000 --> 00:52:23,000 a potom by odoslať tento formulár. 982 00:52:23,000 --> 00:52:27,000 Pozrime sa najprv pozrieť pod kapotu na kóde HTML, ktorý reprezentuje túto webovú stránku. 983 00:52:27,000 --> 00:52:31,000 Nechaj ma ísť do froshims0, 984 00:52:31,000 --> 00:52:35,000 a ako stranou, pre PSet 7 beriem ako samozrejmosť 985 00:52:35,000 --> 00:52:37,000 adresáre a zložky, ktoré dávam veci dovnútra 986 00:52:37,000 --> 00:52:40,000 Budeme vás prevedie presne tam, kde veci musia ísť do spotrebiča, 987 00:52:40,000 --> 00:52:43,000 ktorý mod príkazy budete musieť spustiť, takže sa nemusíte starať o všetky 988 00:52:43,000 --> 00:52:46,000 hlúpe detaily synchronizácia od samého začiatku tu. 989 00:52:46,000 --> 00:52:49,000 >> Dobre, tu je froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Dovoľte mi, aby som prejdite nadol, a to, čo je zvedavý tu, 991 00:52:52,000 --> 00:52:56,000 to je PHP súbor, ale to, čo je vo vnútri nej, jasne? 992 00:52:56,000 --> 00:52:59,000 Je to oveľa HTML, a naozaj, pôvod PHP 993 00:52:59,000 --> 00:53:02,000 boli naozaj za to, že Web-centric jazyk. 994 00:53:02,000 --> 00:53:04,000 Pred chvíľou sme ju k implementácii pivo príklad, 995 00:53:04,000 --> 00:53:07,000 podmienky príklad, ahoj príklad, a to je v poriadku. 996 00:53:07,000 --> 00:53:11,000 Môžete použiť PHP ako skriptovací jazyk 997 00:53:11,000 --> 00:53:15,000 kde je skript naozaj len nomenklatúru k rýchlemu a špinavé programu 998 00:53:15,000 --> 00:53:19,000 alebo niečo, čo píšete v napísanom alebo všeobecnejšie interpretovaný jazyk. 999 00:53:19,000 --> 00:53:22,000 PHP je super užitočná pre, pretože ste videli, ako rýchlo 1000 00:53:22,000 --> 00:53:24,000 pomerne môžeme vybičovať programy v PHP. 1001 00:53:24,000 --> 00:53:27,000 Ale to bolo skutočne určené na použitie pre web, 1002 00:53:27,000 --> 00:53:31,000 a určené pre Web v tom zmysle, že sa tu všimnúť v hornej časti súboru 1003 00:53:31,000 --> 00:53:34,000 Ja začať s 00:53:38,000 Potom mám veľa zbytočných komentárov, udelených, ale potom som blízko PHP režim. 1005 00:53:38,000 --> 00:53:41,000 Ale potom som spadnúť do režimu HTML. 1006 00:53:41,000 --> 00:53:45,000 >> Čo je na tom zaujímavé PHP je, aj keď súbor končí. Php 1007 00:53:45,000 --> 00:53:48,000 to je všeobecne určený pre zmiešaných s HTML, 1008 00:53:48,000 --> 00:53:50,000 nejaký kód PHP, niektoré HTML. 1009 00:53:50,000 --> 00:53:53,000 A uvidíme, nakoniec, že ​​môžeme začať dráždiť tie od seba 1010 00:53:53,000 --> 00:53:56,000 a aby naše HTML oddelené od nášho PHP úplne, 1011 00:53:56,000 --> 00:53:59,000 ale počiatky PHP boli naozaj dať vám tento flexibilitu, 1012 00:53:59,000 --> 00:54:02,000 že ak chcete nejaké HTML stačí napísať, a že bude 1013 00:54:02,000 --> 00:54:04,000 vypľuť zhodne prehliadači. 1014 00:54:04,000 --> 00:54:07,000 Ale ak budete potrebovať nejaký programovací techniku, 1015 00:54:07,000 --> 00:54:12,000 niektoré programovací kód, môžete si tiež dať do rovnakého súboru presné, ako skoro uvidíte. 1016 00:54:12,000 --> 00:54:14,000 Tu je môj HTML. 1017 00:54:14,000 --> 00:54:16,000 Mám titul tohto pre Frosh PI. 1018 00:54:16,000 --> 00:54:20,000 Mám tag body, ktorý má nejakú CSS na to, aby centrum všetko uprostred, 1019 00:54:20,000 --> 00:54:23,000 a potom sa sem mám formu, ktorá zrejme bude predložená 1020 00:54:23,000 --> 00:54:27,000 do nového súboru s názvom register0.php, tak uvidíme, že za chvíľu. 1021 00:54:27,000 --> 00:54:31,000 Je to za použitia metódy nazývanej príspevok, ktorý sa vrátime k rovnako. 1022 00:54:31,000 --> 00:54:34,000 Potom som nejaké formuláre vstupy, jeden tzv meno, ktorého typ je text, 1023 00:54:34,000 --> 00:54:37,000 ten, ktorého meno je kapitán, ktorého typ je checkbox, 1024 00:54:37,000 --> 00:54:40,000 a to sme nevideli to predtým, ale to robí presne to, čo hovorí. 1025 00:54:40,000 --> 00:54:42,000 Získate políčka namiesto textového poľa. 1026 00:54:42,000 --> 00:54:46,000 Tu dole máte prepínač, ktorý je jedným z tých kruhových tlačidiel 1027 00:54:46,000 --> 00:54:48,000 , Ktoré si môžete vybrať buď tento alebo že jeden. 1028 00:54:48,000 --> 00:54:52,000 >> Všimnite si, že je to úmyselné, že som dal obom prepínacích tlačidiel meno pohlavia. 1029 00:54:52,000 --> 00:54:55,000 To je, ako sa dostať vzájomné vylúčenie, kedy musíte kliknúť 1030 00:54:55,000 --> 00:54:58,000 buď tento, alebo, že jeden, a kliknutím druhej 1031 00:54:58,000 --> 00:55:01,000 to unchecks druhej, takže budete musieť dať im rovnaký názov 1032 00:55:01,000 --> 00:55:03,000 ak chcete, aby sa vzájomne vylučujú takhle. 1033 00:55:03,000 --> 00:55:07,000 A potom na koľaji, nemyslím si, že sme videli, to ešte, ale je to select menu, drop-down menu. 1034 00:55:07,000 --> 00:55:09,000 Tag pre ktoré je select. 1035 00:55:09,000 --> 00:55:11,000 Tie potom dávajú drop-down menu názov, 1036 00:55:11,000 --> 00:55:13,000 a potom máte veľa možností. 1037 00:55:13,000 --> 00:55:16,000 Prvý z nich, len pre estetiku, je prázdny reťazec. 1038 00:55:16,000 --> 00:55:20,000 Len som chcel, aby rozbaľovací byť v predvolenom nastavení prázdne, 1039 00:55:20,000 --> 00:55:22,000 a potom je tu Apley, Canaday, Grays, a tak ďalej. 1040 00:55:22,000 --> 00:55:24,000 A všimnite si dichotómiu tu. 1041 00:55:24,000 --> 00:55:27,000 Možnosť v rozbaľovacom má hodnotu, 1042 00:55:27,000 --> 00:55:30,000 ale musí človek-popisný názov, ktorý je v tomto príklade 1043 00:55:30,000 --> 00:55:33,000 je totožný, ale ak by sme naozaj chceli byť análny by sme mohli mať 1044 00:55:33,000 --> 00:55:36,000 hodnota tohto rozbaľovacieho byť len krátka verzia, 1045 00:55:36,000 --> 00:55:39,000 Grays, ale my sme mohli naozaj povedať, Grays Hall, že človek skutočne vidí, 1046 00:55:39,000 --> 00:55:43,000 ale to nie je všetko, že zaujímavé, tak som stále len jednoduché a urobil z nich totožné. 1047 00:55:43,000 --> 00:55:46,000 Potom sa v dolnej časti máme tlačidlo predložiť 1048 00:55:46,000 --> 00:55:49,000 ktoré sme videli predtým, ale nevšimol som dal iné slovo. 1049 00:55:49,000 --> 00:55:53,000 Miesto CS50 hľadanie som dal nálepku "Zaregistrovať". 1050 00:55:53,000 --> 00:55:56,000 >> Konečným výsledkom je táto stránka tu, a znova, 1051 00:55:56,000 --> 00:56:00,000 ak to dostať predložené? 1052 00:56:00,000 --> 00:56:04,000 To dostane predložený do istej súboru, hodnota atribútu action, 1053 00:56:04,000 --> 00:56:07,000 ktorý bol register0.php. 1054 00:56:07,000 --> 00:56:09,000 Poďme sa pozrieť, čo sa vlastne deje tu. 1055 00:56:09,000 --> 00:56:13,000 Nechaj ma ísť napred a vyplniť tento formulár, hovoria David, 1056 00:56:13,000 --> 00:56:16,000 samec, Matthews, a potom poviem zaregistrovať. 1057 00:56:16,000 --> 00:56:18,000 Dovoľte mi, aby som oddialiť a kliknite na tlačidlo registrovať. 1058 00:56:18,000 --> 00:56:22,000 Dobre, tak trochu k ničomu, ale poďme sa pozrieť, čo sa vlastne deje. 1059 00:56:22,000 --> 00:56:26,000 Všimnite si, že URL sa zmení tak, aby register0.php. 1060 00:56:26,000 --> 00:56:34,000 Čo je zvedavo chýba z URL, ale, aj keď sme len nám formulár? 1061 00:56:34,000 --> 00:56:37,000 [Nepočuteľné Študent odpoveď] 1062 00:56:37,000 --> 00:56:39,000 Dobre, to je len Chrome je užívateľsky príjemný týchto dňoch. 1063 00:56:39,000 --> 00:56:42,000 To je v skutočnosti neexistujú. Proste skryť, aby sa ušetrilo miesto. 1064 00:56:42,000 --> 00:56:44,000 Ale dobrá myšlienka, dobrá myšlienka. 1065 00:56:44,000 --> 00:56:46,000 O druhom konci adresy URL, hoci, čo chýba? Jo. 1066 00:56:46,000 --> 00:56:48,000 [Študent] Reťazec dotazu. 1067 00:56:48,000 --> 00:56:51,000 Reťazec dotazu, tak spomínam z našich jednoduchých príkladoch vyhľadávania Google. 1068 00:56:51,000 --> 00:56:54,000 Akonáhle som kliknite na tlačidlo Odoslať URL 1069 00:56:54,000 --> 00:57:00,000 ma vzal do Google, ale potom tam bol? q = computer science alebo čo som napísal dovnútra 1070 00:57:00,000 --> 00:57:04,000 To je preto, že sme použili metódu GET s vyhľadávacím príklade. 1071 00:57:04,000 --> 00:57:06,000 >> Tentokrát sme použili, akú metódu miesto? 1072 00:57:06,000 --> 00:57:10,000 Príspevok, a jeden z bezprostredných rozdiely 1073 00:57:10,000 --> 00:57:14,000 medzi get a post je, že príspevok nekladie vstup používateľa v adrese URL. 1074 00:57:14,000 --> 00:57:16,000 Skrýva to. To ešte pošle. 1075 00:57:16,000 --> 00:57:19,000 V skutočnosti, čo vidíme v prehliadači tu, ako budeme odhaliť v okamihu 1076 00:57:19,000 --> 00:57:22,000 pri pohľade na register0, je, že som len vidieť obsah 1077 00:57:22,000 --> 00:57:25,000 z poľa, ktoré boli predložené z prehliadača na server. 1078 00:57:25,000 --> 00:57:29,000 Ale URL nemá?, Nemá žiadne kľúčové slová 1079 00:57:29,000 --> 00:57:31,000 alebo hodnoty v ňom, a prečo je to? 1080 00:57:31,000 --> 00:57:35,000 No, po umožňuje podať aj dáta z formulára na server, 1081 00:57:35,000 --> 00:57:38,000 ale to nie je dať do URL, takže, aké informácie je príspevok 1082 00:57:38,000 --> 00:57:41,000 vhodné najmä pre možné, keď sa pýtate užívateľovi 1083 00:57:41,000 --> 00:57:44,000 zadajte na vstupe do formy? 1084 00:57:44,000 --> 00:57:48,000 Niečo ako heslá, niečo ako to, čo iné? 1085 00:57:48,000 --> 00:57:50,000 Čísla kreditných kariet. 1086 00:57:50,000 --> 00:57:53,000 Čokoľvek, čo je mierne citlivá pravdepodobne nebudete chcieť končí v URL 1087 00:57:53,000 --> 00:57:56,000 aj keby len preto, že znamená, že vaše spolubývajúci alebo jeho rodinný príslušník môže len troll prostredníctvom 1088 00:57:56,000 --> 00:57:59,000 vaše internetové histórie a potom doslova vidieť vaše heslá, 1089 00:57:59,000 --> 00:58:02,000 doslova vidieť vaše čísla kreditných kariet, pretože väčšina prehliadačov 1090 00:58:02,000 --> 00:58:05,000 pamätať v histórii, čo URL, ktoré ste boli na, 1091 00:58:05,000 --> 00:58:09,000 takže už len preto, že by to bol zlý nápad. 1092 00:58:09,000 --> 00:58:11,000 Použitie poštové kože, ktoré detailov od užívateľa. 1093 00:58:11,000 --> 00:58:14,000 >> Tiež, ako si nahrať fotografie do Facebooku? 1094 00:58:14,000 --> 00:58:17,000 No, len 2 mechanizmy si môžete naozaj použiť, 1095 00:58:17,000 --> 00:58:21,000 aj keď je tu pár ďalších viac tajomné ty, je získať a zverejniť. 1096 00:58:21,000 --> 00:58:26,000 Ako sa vám možno nahrať fotografiu cez adresu URL? 1097 00:58:26,000 --> 00:58:28,000 Môžete skutočne urobiť. 1098 00:58:28,000 --> 00:58:30,000 Môžete si vziať JPEG alebo bitmapy alebo GIF a môžete ju zastupujú v šestnástkovej sústave 1099 00:58:30,000 --> 00:58:32,000 alebo niečo, čo nazýva base 64. 1100 00:58:32,000 --> 00:58:35,000 Miesto základu 16 môžete použiť základné 64, čo v podstate vyzerá ako 1101 00:58:35,000 --> 00:58:38,000 ASCII znaky, a môžete skutočne nahrať fotografiu cez adresu URL 1102 00:58:38,000 --> 00:58:41,000 po otáznikom, ale tam sú všeobecne obmedzenia veľkosti. 1103 00:58:41,000 --> 00:58:44,000 Väčšina prehliadačov núti URL nesmie byť vyšší ako 1000 znakov, 1104 00:58:44,000 --> 00:58:47,000 možná 2000 znakov alebo podobné, takže nie je možné nahrať 1105 00:58:47,000 --> 00:58:50,000 10 MB Facebook fotografie. 1106 00:58:50,000 --> 00:58:54,000 Za to môžete použiť miesto rovnako, takže pre túto chvíľu si dá parametre v URL, 1107 00:58:54,000 --> 00:58:57,000 čo je pekné a užitočné, niekedy, ale pre čokoľvek citlivú alebo veľký 1108 00:58:57,000 --> 00:58:59,000 Príspevok je spôsob, ako ísť. 1109 00:58:59,000 --> 00:59:02,000 Čo je register0 vlastne robíš? 1110 00:59:02,000 --> 00:59:05,000 No, keď som otvoriť register0 vedomie, že toto je super jednoduchá stránka, 1111 00:59:05,000 --> 00:59:09,000 ale je to ukazuje na skutočnosť, že môžem spoločne miešajú, pre lepšie alebo pre horšie, 1112 00:59:09,000 --> 00:59:12,000 HTML s PHP. 1113 00:59:12,000 --> 00:59:15,000 Tento celý súbor, s výnimkou pripomienky na vrchole, sú HTML 1114 00:59:15,000 --> 00:59:19,000 s výnimkou toho chlapa tu. 1115 00:59:19,000 --> 00:59:22,000 >> Všimnite si uprostred svojho PHP kódu, 1116 00:59:22,000 --> 00:59:26,000 v polovici môjho HTML, mám akúsi dočasne 1117 00:59:26,000 --> 00:59:28,000 vstúpil PHP režimu. 1118 00:59:28,000 --> 00:59:31,000 Volám špeciálnu funkciu nazvanú tlač r. 1119 00:59:31,000 --> 00:59:34,000 To znamená tlač rekurzívne, a to, čo robí, je, že rekurzívne vytlačí 1120 00:59:34,000 --> 00:59:38,000 bez ohľadu na premennú, ktorú odovzdajte ho, bodkočiarku, exit PHP režim. 1121 00:59:38,000 --> 00:59:40,000 A pre tag vám pre-formátovaný text, 1122 00:59:40,000 --> 00:59:43,000 mono priestor textu tak, aby každý priestor, ktorý skutočne vidieť. 1123 00:59:43,000 --> 00:59:46,000 To nezmizne. Čo je to príspevok? 1124 00:59:46,000 --> 00:59:48,000 No, čo je zaujímavé a presvedčivé o PHP 1125 00:59:48,000 --> 00:59:52,000 je to, že vždy, keď odošlite formulár pomocou GET alebo POST 1126 00:59:52,000 --> 00:59:56,000 niečo, čo je nám pre Vás prehliadači 1127 00:59:56,000 --> 01:00:00,000 PHP samo o sebe vyrieši, čo tieto kľúčové hodnotové páry sú, 1128 01:00:00,000 --> 01:00:02,000 Údaje, či je rovná, postavy, či je otáznik. 1129 01:00:02,000 --> 01:00:07,000 To robí všetku ťažkú ​​prácu za vás, a potom to podá vám asociatívne pole 1130 01:00:07,000 --> 01:00:10,000 obsahujúci všetko, užívateľ zadaný do formy. 1131 01:00:10,000 --> 01:00:12,000 No, čo pole to táto forma má? 1132 01:00:12,000 --> 01:00:14,000 >> Mal 4 polia. 1133 01:00:14,000 --> 01:00:16,000 Jeden z nich bol textovom poli Názov. 1134 01:00:16,000 --> 01:00:18,000 Jeden z nich bol checkbox volal kapitán. 1135 01:00:18,000 --> 01:00:22,000 Jeden z nich bol prepínač názvom pohlavia, 1136 01:00:22,000 --> 01:00:24,000 a jeden bol drop-down menu tzv koľaji, 1137 01:00:24,000 --> 01:00:27,000 tak nevšimol, keď som tlače rekurzívne 1138 01:00:27,000 --> 01:00:29,000 Obsah tohto špeciálneho premenné. 1139 01:00:29,000 --> 01:00:34,000 Jedná sa o špeciálnu globálne premenná nazýva doslova $ _POST, vo všetkých veľkých písmenách. 1140 01:00:34,000 --> 01:00:39,000 Jedná sa o špeciálnu globálne premenná, ktorá PHP práve pre vás vytvorí 1141 01:00:39,000 --> 01:00:42,000 a ruky na vás, takže môžete prístup ku všetkému 1142 01:00:42,000 --> 01:00:45,000 ktorý bol predložený prostredníctvom formulára užívateľom. 1143 01:00:45,000 --> 01:00:48,000 A tým, že volá tlače r na to, by ste sa to v bežnej aplikácie. 1144 01:00:48,000 --> 01:00:50,000 Robíme to vidieť vo vnútri tejto premennej, 1145 01:00:50,000 --> 01:00:53,000 a čo je vo vnútri nej, dobre, 4 tlačidlá, 1146 01:00:53,000 --> 01:00:56,000 4 http parametre, aby som tak povedal, 1147 01:00:56,000 --> 01:00:59,000 meno, kapitán, pohlavie, koľaji, a potom hodnoty, ktoré užívateľ 1148 01:00:59,000 --> 01:01:01,000 zadali s jednou výnimkou. 1149 01:01:01,000 --> 01:01:03,000 Ja som typ D - V-I-D. 1150 01:01:03,000 --> 01:01:05,000 Overil som si krabicu, aj keď, pre muža, ktorý zrejme predložila hodnotu 1151 01:01:05,000 --> 01:01:07,000 púheho m byť stručné. 1152 01:01:07,000 --> 01:01:10,000 >> Keď som si vybral Matthews, že je to hodnota, ktorá dostala vybrané, 1153 01:01:10,000 --> 01:01:12,000 a toto je trochu hlúpe, ale je to konvencie. 1154 01:01:12,000 --> 01:01:17,000 Keď som zaškrtli políčko, hodnota na, "na," dostal predložený na zaškrtávacieho poľa. 1155 01:01:17,000 --> 01:01:21,000 Keby som to čítal, tak by žiadna hodnota bola odoslaná vôbec. 1156 01:01:21,000 --> 01:01:26,000 To je len, že nám pohľad na to, čo je vo vnútri tejto osobitnej globálne premenné, 1157 01:01:26,000 --> 01:01:29,000 a je to tak zvláštne, že je to tzv super globálne premennú. 1158 01:01:29,000 --> 01:01:33,000 To existuje všade na vás v kóde, takže sa môžete skutočne prístup. 1159 01:01:33,000 --> 01:01:36,000 To nie je, že presvedčivý, takže sa poďme vlastne používať super Global 1160 01:01:36,000 --> 01:01:38,000 a v skutočnosti sa snaží zaregistrovať niekoho. 1161 01:01:38,000 --> 01:01:41,000 V froshims1 Idem urobiť jednu zmenu. 1162 01:01:41,000 --> 01:01:44,000 Mením žalobu za register1.php, 1163 01:01:44,000 --> 01:01:46,000 a ja robím jednu vec. 1164 01:01:46,000 --> 01:01:48,000 Bol som trochu v rozpakoch o kvalite mojej stránky tam. 1165 01:01:48,000 --> 01:01:52,000 Je to celkom odporné, úprimne, tak to dopadá 1166 01:01:52,000 --> 01:01:56,000 ktoré môžete použiť veľmi ľahko na webe 1167 01:01:56,000 --> 01:01:59,000 JavaScript iných ľudí code, CSS iných ľudí 1168 01:01:59,000 --> 01:02:02,000 , Že som napísal a otvorené zdrojov a k dispozícii ako knižnica, 1169 01:02:02,000 --> 01:02:06,000 aby som tak povedal, a napríklad, tu som pomocou voľne dostupných knižnicu, 1170 01:02:06,000 --> 01:02:08,000 banda kódu, ktorý niekto iný napísal. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter sa stalo písať tento kód, a to len Bootstrap knižnica, 1172 01:02:11,000 --> 01:02:15,000 a je to len banda CSS štýlov, partiu. css súbory 1173 01:02:15,000 --> 01:02:19,000 že niekto iný napísal, a prišiel na to, ako sa dostať všetko pekné a pekná 1174 01:02:19,000 --> 01:02:22,000 tak, že ľudia ako my môže starať o niečo menej o estetike a oveľa viac sústrediť 1175 01:02:22,000 --> 01:02:24,000 o logike a skutočné programovanie. 1176 01:02:24,000 --> 01:02:30,000 Tým, spájajúcej ho s týmto tag, ktorý je rovnaký tag som pamätať styles3.css skôr, 1177 01:02:30,000 --> 01:02:34,000 Teraz mám prístup k súboru s názvom bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Min. len znamená, že som minified, a že som sa zbavila všetkých bieleho priestoru a tak ďalej 1179 01:02:37,000 --> 01:02:40,000 len aby sa ubezpečil, že nie ste mi poslal viac bajtov, než som skutočne potrebujú. 1180 01:02:40,000 --> 01:02:45,000 Ale tam je celá partia CSS, takže keď som sa tak otvára verzii 1 Frosh PI 1181 01:02:45,000 --> 01:02:49,000 Všimnite si, že môj súbor je rozhodne krajší. 1182 01:02:49,000 --> 01:02:54,000 Teraz je to stále len čierne a biele, ale všimnite si, že tým, že len pomocou ich štýlov 1183 01:02:54,000 --> 01:02:58,000 a používania niektorých funkcií z nej na mojej forme, že to nie je úžasné, 1184 01:02:58,000 --> 01:03:01,000 ale je to rozhodne čistejšie, než tomu bolo predtým, a projektor nie je robiť to spravodlivosť. 1185 01:03:01,000 --> 01:03:05,000 Tam je malé sivé čiary okolo tlačidiel a okolo textového poľa tu, 1186 01:03:05,000 --> 01:03:07,000 ale je to rozhodne čistejšie, než tomu bolo predtým. 1187 01:03:07,000 --> 01:03:09,000 >> Teraz, v spravodlivosť, ja som musel zmeniť môj značkovací trochu. 1188 01:03:09,000 --> 01:03:12,000 Toto je verzia 1, a všimnite si, že som použil niekoľko nových značiek, 1189 01:03:12,000 --> 01:03:17,000 a úprimne, nemal som potuchy, ako to urobiť, kým som si neprečítal dokumentáciu 1190 01:03:17,000 --> 01:03:20,000 pre Bootstrap knižnice Twitteri, a povedali mi, že ak chcete použiť našu knižnicu 1191 01:03:20,000 --> 01:03:23,000 použiť fieldset element vo vnútri formulára, 1192 01:03:23,000 --> 01:03:27,000 dal slovo, ktoré chcete zobraziť vedľa poľa vnútri so štítkom značky, 1193 01:03:27,000 --> 01:03:30,000 potom dať vaše vstupné meno, rovnako ako predtým, 1194 01:03:30,000 --> 01:03:34,000 a potom pre políčko, nielen že ju zabaľte do štítkov prvku, 1195 01:03:34,000 --> 01:03:36,000 môžete použiť niečo ako trieda, takže sme nevideli skôr, 1196 01:03:36,000 --> 01:03:39,000 ale uvidíte to v jednom z šortiek PSet 7 je. 1197 01:03:39,000 --> 01:03:43,000 Trieda v CSS umožňuje urobiť niečo veľmi podobného ID, 1198 01:03:43,000 --> 01:03:46,000 ale predtým, keď sme mali ID sa symbolom # 1199 01:03:46,000 --> 01:03:48,000 to bolo pre jednu a iba jeden prvok. 1200 01:03:48,000 --> 01:03:51,000 Čo je pekné o triedy je, že viac prvky môžu mať rovnaké triedy 1201 01:03:51,000 --> 01:03:54,000 alebo rovnaké CSS veci aplikovaný na to. 1202 01:03:54,000 --> 01:03:57,000 >> Ale opäť, viac na tie krátke, a zvyšok je to len skopírovať a vložiť 1203 01:03:57,000 --> 01:04:00,000 z ich dokumentácie, kde som pridal štítok sem a tam. 1204 01:04:00,000 --> 01:04:03,000 A na konci, pretože som patrila link tag v hornej časti, 1205 01:04:03,000 --> 01:04:06,000 všetko vyzerá krajšie automaticky 1206 01:04:06,000 --> 01:04:10,000 jednoducho označíte sa mojej stránky takým spôsobom, ktorý 1207 01:04:10,000 --> 01:04:12,000 Twitter očakáva, a tam je tak veľa rôznych spôsobov 1208 01:04:12,000 --> 01:04:14,000 , Ako to dosiahnuť, a to je naozaj veľmi vhodné. 1209 01:04:14,000 --> 01:04:17,000 V tomto bode v semestri, ako uvidíte v špec PSet 7 je, 1210 01:04:17,000 --> 01:04:20,000 Googling okolo, čítanie až o knižniciach, pomocou CSS iných ľudí 1211 01:04:20,000 --> 01:04:23,000 a JavaScript riešiť pomocné problémy 1212 01:04:23,000 --> 01:04:26,000 na problém sade sám je určite podporovaná a je tak 1213 01:04:26,000 --> 01:04:29,000 Web je postavený v týchto dňoch, že stála na pleciach iných ľudí 1214 01:04:29,000 --> 01:04:32,000 takže si môžete naozaj sústrediť na nové a zaujímavé problémy. 1215 01:04:32,000 --> 01:04:34,000 Ale poďme sa teraz zameriavajú na, opäť logiku. 1216 01:04:34,000 --> 01:04:38,000 >> To bolo rýchle obchádzka na estetiku len ukázať vám smer, v ktorom sa môžete vydať. 1217 01:04:38,000 --> 01:04:40,000 Chystám sa vrátiť k škaredšie jeden pre teraz len preto, že 1218 01:04:40,000 --> 01:04:44,000 tam žiadne rozptýlenie s vecí Twitter, a nechaj ma ísť dopredu a otvoriť 1219 01:04:44,000 --> 01:04:51,000 froshims2, ktoré opäť líšia iba v akčnom, register2.php, 1220 01:04:51,000 --> 01:04:55,000 a poďme sa pozrieť na to, čo účinok je tu. 1221 01:04:55,000 --> 01:04:57,000 Nechaj ma ísť napred a zadajte Davida. 1222 01:04:57,000 --> 01:04:59,000 Nebudem kapitán tentoraz. 1223 01:04:59,000 --> 01:05:01,000 Poviem muž, Matthews, zaregistrujte sa. 1224 01:05:01,000 --> 01:05:05,000 Sakra. Dobre, že je skrutka až na mojej strane. 1225 01:05:05,000 --> 01:05:07,000 Stand by. 1226 01:05:07,000 --> 01:05:17,000 Register2, riadok 22, ak prázdny, alebo-ľúto. 1227 01:05:17,000 --> 01:05:19,000 Poďme znova. 1228 01:05:19,000 --> 01:05:22,000 Dobre, po odoslaní tohto formulára, čo sa práve stalo? 1229 01:05:22,000 --> 01:05:25,000 Som napísal v Dávidovi, kontrolované samec, klikol Matthews, zaregistrujte sa. 1230 01:05:25,000 --> 01:05:27,000 Tie sú registrované. (No, vlastne nie.) 1231 01:05:27,000 --> 01:05:32,000 To je jasne krok za len vytlačiť obsah niektoré premenné, 1232 01:05:32,000 --> 01:05:34,000 ale čo je tento súbor vlastne robí? 1233 01:05:34,000 --> 01:05:37,000 V register2.php 1234 01:05:37,000 --> 01:05:40,000 Všimnite si, že mám nejaký nový kód. 1235 01:05:40,000 --> 01:05:44,000 Vnútri môjho tela tagu mám v podstate, ak else, 1236 01:05:44,000 --> 01:05:47,000 ale pretože som čo-miešať sa to s nejakým HTML 1237 01:05:47,000 --> 01:05:51,000 Mám pre vstup a výstup PHP režim tam a späť, tak sa poďme pozrieť, čo robím. 1238 01:05:51,000 --> 01:05:55,000 >> V prvom riadku tu hovorím, ak je to 1239 01:05:55,000 --> 01:06:00,000 že po Super globálnej je prázdny kľúč mená, 1240 01:06:00,000 --> 01:06:04,000 takže inými slovami, v prípade, že používateľ nemá mi hodnotu názve vo forme, 1241 01:06:04,000 --> 01:06:07,000 potom vyprázdnite bude vrátiť true, pretože hodnota je prázdna. 1242 01:06:07,000 --> 01:06:11,000 Alebo-Všimnite si, že zvislé pruhy Ak pohlavia je prázdny 1243 01:06:11,000 --> 01:06:15,000 vnútri tohto špeciálneho extra globálne, čo opäť predstavuje obsah forme, 1244 01:06:15,000 --> 01:06:19,000 alebo spálne je prázdna, potom budem pokračovať a revať na užívateľa. 1245 01:06:19,000 --> 01:06:22,000 Ako? No, nevšimol som chcel povedať, vám musí poskytnúť svoje meno, pohlavie, a koľaji. 1246 01:06:22,000 --> 01:06:24,000 Poďme dokonca vyvolať takú chybu. 1247 01:06:24,000 --> 01:06:27,000 Nechajte ma ísť späť do môjho formulára. Dovoľte mi, aby som znovu pre vymazanie. 1248 01:06:27,000 --> 01:06:30,000 A ja idem dať im Dávida, a nemusí vedieť, kde bývam. 1249 01:06:30,000 --> 01:06:33,000 Registrácia. Zrejme som sa treba im povedať, kde bývam. 1250 01:06:33,000 --> 01:06:35,000 Musíte poskytnúť svoje meno, pohlavie a koľaji. Prejsť späť. 1251 01:06:35,000 --> 01:06:39,000 >> A mohol by som kliknúť a prejsť späť do tej podobe, ale prečo je to? 1252 01:06:39,000 --> 01:06:43,000 No, v tom prípade skôr nebol prázdny, ale rod bol a koľaji bol, 1253 01:06:43,000 --> 01:06:47,000 takže celý tento výraz vyhodnotený ako true, a to aj napriek tomu, že syntax je len málo nových, 1254 01:06:47,000 --> 01:06:51,000 Znovu sme sa vstúpiť do PHP režimu, známe, ak vyhlásenie, 1255 01:06:51,000 --> 01:06:54,000 ale nová časť je tu práve táto dvojbodka, a ja som to podelal tým vynechaním zátvorku 1256 01:06:54,000 --> 01:06:57,000 náhodou, ale všimnite si do hrubého čreva, a to znamená, že 1257 01:06:57,000 --> 01:07:00,000 aj keď sme opustenie PHP režime všetko 1258 01:07:00,000 --> 01:07:03,000 ktorý nasleduje treba vypľuť doslovne do prehliadača 1259 01:07:03,000 --> 01:07:07,000 , Kým sa nezobrazí iného blok, ako to robíme my, 1260 01:07:07,000 --> 01:07:10,000 V takom prípade by ste mali miesto pľuvať na tohle 1261 01:07:10,000 --> 01:07:13,000 , Kým sa nezobrazí endif, takže niektoré mierne nová syntaxe 1262 01:07:13,000 --> 01:07:16,000 , Ktorá mi umožňuje prepínať medzi HTML a PHP. 1263 01:07:16,000 --> 01:07:19,000 Môžeme vyčistiť doplnila nakoniec, ale teraz, 1264 01:07:19,000 --> 01:07:22,000 je to trochu pôsobivého spôsobu kontroly chýb formulár. 1265 01:07:22,000 --> 01:07:25,000 >> Teraz hovorím, že nie ste naozaj registrované, pretože samozrejme sme nič neurobili, ale dáta, 1266 01:07:25,000 --> 01:07:28,000 takže sa poďme sa skutočne snažia robiť niečo zaujímavé. 1267 01:07:28,000 --> 01:07:33,000 V froshims3 Jediný rozdiel je, že budem predkladať register3, 1268 01:07:33,000 --> 01:07:35,000 takže HTML je rovnaký. 1269 01:07:35,000 --> 01:07:38,000 V register3 nevšimol. 1270 01:07:38,000 --> 01:07:40,000 Toto je celkom sexy. 1271 01:07:40,000 --> 01:07:44,000 Na vrchole som pomocou vyžadujú vyhlásenie, takže to je ako # include. 1272 01:07:44,000 --> 01:07:46,000 Tentoraz to nie je stdio.h alebo niečo podobné. 1273 01:07:46,000 --> 01:07:50,000 Je to knižnica PHP, a ten sa nazýva PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Ako som vedel, zahrnúť práve túto citovaný reťazec? 1275 01:07:53,000 --> 01:07:56,000 Čítal som to v dokumentácii, takže keď mi povedali, nech si toto v hornej časti súboru 1276 01:07:56,000 --> 01:08:00,000 Ak chcete použiť špeciálne knižnicu s názvom PHPMailer, že robí to, čo hovorí. 1277 01:08:00,000 --> 01:08:03,000 To vám umožní odosielať e-maily cez PHP. 1278 01:08:03,000 --> 01:08:05,000 Teraz sa poďme posunúť ešte hlbšie. 1279 01:08:05,000 --> 01:08:08,000 >> Oznámenie začať Som v PHP mód celú tú dobu, 1280 01:08:08,000 --> 01:08:11,000 tak teraz všimnete sem po importe túto knižnicu, 1281 01:08:11,000 --> 01:08:13,000  aby som tak povedal, robím nejaké Sanity kontroly. 1282 01:08:13,000 --> 01:08:16,000 Ak je to pravda, že názov nie je prázdny 1283 01:08:16,000 --> 01:08:19,000 a pohlavie nie je prázdny, nevšimol výkričníky- 1284 01:08:19,000 --> 01:08:24,000 a koľaji nie je prázdny, potom užívateľ logicky vyplnený formulár, aspoň dosť. 1285 01:08:24,000 --> 01:08:28,000 Je mi jedno, či sú kapitán alebo nie. Potrebujem len svoje meno, pohlavie, a koľaji. 1286 01:08:28,000 --> 01:08:31,000 Ak sa naplnili tie von tak, že žiadny z týchto oblastí sú prázdne 1287 01:08:31,000 --> 01:08:33,000 To je trochu nová syntaxe. 1288 01:08:33,000 --> 01:08:36,000 PHP, as stranou, je objektovo orientovaný programovací jazyk 1289 01:08:36,000 --> 01:08:39,000 ktorý niektorí z vás si možno spomenú z obrnených transportérov alebo ako. 1290 01:08:39,000 --> 01:08:42,000 Pre túto chvíľu, keď neznáme, len viem, že používať túto knižnicu 1291 01:08:42,000 --> 01:08:45,000 musíte napísať jediný riadok kódu, ako je tento s použitím novej kľúčové slovo, 1292 01:08:45,000 --> 01:08:47,000 doslova nové kľúčové slovo názvom nové. 1293 01:08:47,000 --> 01:08:50,000 Ale okrem toho, máme nejaké známe syntax. 1294 01:08:50,000 --> 01:08:54,000 Je to šípka operátor, ktorý je podobný tomu, čo sa používa pre structs v kontexte ukazovateľov. 1295 01:08:54,000 --> 01:08:57,000 Pre dnešok PHP nemá ukazovatele, 1296 01:08:57,000 --> 01:09:01,000 ale viem, že teraz vo vnútri pošty premenné 1297 01:09:01,000 --> 01:09:05,000 je v podstate druh ukazovateľ na špeciálne knižnice 1298 01:09:05,000 --> 01:09:08,000 že niekto iný napísal, a ak chcem, aby prístup k špecifické funkcie 1299 01:09:08,000 --> 01:09:12,000 vnútri tejto knižnici som sa, rovnako ako v C, použite šípky operátor, 1300 01:09:12,000 --> 01:09:14,000 aj keď títo nie sú v skutočnosti ukazovatele. 1301 01:09:14,000 --> 01:09:16,000 Je to niečo vlastnú verziu PHP zmluvy. 1302 01:09:16,000 --> 01:09:20,000 To znamená, že ísť do knižnice a volať IsSMTP funkciu. 1303 01:09:20,000 --> 01:09:23,000 SMTP, stiahnutie, z našich bojovníkov Net odkazuje na email, 1304 01:09:23,000 --> 01:09:28,000 a to len znamená používať e-mailový server pre túto Frosh Chatu registráciu. 1305 01:09:28,000 --> 01:09:30,000 >> Čo hostiteľ chcem používať? 1306 01:09:30,000 --> 01:09:34,000 No, Harvard, keď Google okolo, má e-mailový server s názvom smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Ak hráte spolu doma, alebo žijete v Comcast sieti 1308 01:09:37,000 --> 01:09:40,000 to by mohlo byť niečo ako smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 To úplne závisí na tom, kde žijete, a kto je tvoj ISP je. 1310 01:09:43,000 --> 01:09:47,000 Potom budem Moja z adresy, aby svojvoľne byť jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Ja potom ísť do nastavenia riešiť za jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Jediný spôsob, ako vedel, že tieto funkcie boli volány SetFrom a AddAddress 1313 01:09:55,000 --> 01:09:57,000 je, opäť som čítal dokumentáciu. 1314 01:09:57,000 --> 01:09:59,000 To nie je druh magicky známe všetkým programátorov. 1315 01:09:59,000 --> 01:10:02,000 Potom som nastaviť predmet na "registráciu". 1316 01:10:02,000 --> 01:10:07,000 A teraz tento riadok je trochu škaredá, pretože to, čo sa dot prevádzkovateľ znamená v PHP? 1317 01:10:07,000 --> 01:10:09,000 Každý, kto vie? 1318 01:10:09,000 --> 01:10:11,000 Zreťaziť. 1319 01:10:11,000 --> 01:10:14,000 V C je bolesť v krku pre spojenie 2 reťazca dohromady. 1320 01:10:14,000 --> 01:10:17,000 Musíte sa vysporiadať s malloc alebo realloc alebo celej veci 1321 01:10:17,000 --> 01:10:20,000 len predĺžiť dĺžku reťazca. 1322 01:10:20,000 --> 01:10:22,000 V PHP, v JavaScripte a ďalších jazykoch 1323 01:10:22,000 --> 01:10:24,000 zvyčajne môžete urobiť s jedným znakom. 1324 01:10:24,000 --> 01:10:28,000 V tomto prípade, bodka znamená vziať tento reťazec tu 1325 01:10:28,000 --> 01:10:30,000 a pripojiť k nemu tento reťazec. 1326 01:10:30,000 --> 01:10:32,000 >> Jo, a mimochodom, pripojiť k nej tento reťazec, 1327 01:10:32,000 --> 01:10:34,000 ktorý sa stane byť variabilný vnútri to super Global. 1328 01:10:34,000 --> 01:10:37,000 Potom pripojiť k nej nový riadok, takže všetky tieto body len povedať, 1329 01:10:37,000 --> 01:10:39,000 majte robiť väčšie a väčšie a väčšie reťazec, 1330 01:10:39,000 --> 01:10:43,000 a nemusíte sa starať vôbec o malloc alebo ako v jazyku, ako je táto, 1331 01:10:43,000 --> 01:10:46,000 a je tu ďalšie spôsoby, ako to urobiť, ale je to jeden z najrýchlejších 1332 01:10:46,000 --> 01:10:48,000 spôsoby, ako položiť ju. 1333 01:10:48,000 --> 01:10:50,000 Čo je to robíš? 1334 01:10:50,000 --> 01:10:55,000 Je to vytvorenie e-mailovej telo, ktoré sa deje teda Názov: Captain: Pohlavie: koľaj: 1335 01:10:55,000 --> 01:10:58,000 všetko na samostatných riadkoch, a potom konečne, 1336 01:10:58,000 --> 01:11:00,000 jeden riadok kódu, a budem ignorovať to pre teraz. 1337 01:11:00,000 --> 01:11:02,000 Ak == false znamená len keby sa niečo pokazilo, 1338 01:11:02,000 --> 01:11:04,000 ale kúzlo sa tu deje. 1339 01:11:04,000 --> 01:11:08,000 Mail Napísať znamená poslať tento e-mail. 1340 01:11:08,000 --> 01:11:10,000 Pozrime sa, čo Výsledkom je. 1341 01:11:10,000 --> 01:11:13,000 V dolnej časti súboru, všimnite si, že to bude sa povedať, že sú registrované naozaj 1342 01:11:13,000 --> 01:11:15,000 keď som si, že ďaleko. 1343 01:11:15,000 --> 01:11:18,000 Ak však užívateľ skrutky hore, zistíte, že sme začali tento 1344 01:11:18,000 --> 01:11:21,000 ak podmienka sa tu, ak to nie je prázdny a nie je prázdna 1345 01:11:21,000 --> 01:11:24,000 a nie vyprázdniť zašleme e-mailu. 1346 01:11:24,000 --> 01:11:27,000 Inak budeme posielať tento riadok kódu, 1347 01:11:27,000 --> 01:11:30,000 ktorá bude mať za následok, ako uvidíte v PSet 7, z presmerovanie užívateľa 1348 01:11:30,000 --> 01:11:35,000 tam, kde oni prišli, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Palce, inak to bude najviac sklamaním demo dnes. 1350 01:11:38,000 --> 01:11:40,000 Ideme na to. 1351 01:11:40,000 --> 01:11:42,000 Dovoľte mi, aby som otvoriť svoju e-mailovú schránku na jharvard v Gmail. 1352 01:11:42,000 --> 01:11:44,000 Žiadny e-mail hneď. Dobrá. 1353 01:11:44,000 --> 01:11:53,000 Teraz mi dovoľte otvoriť froshims3, ktorý je tretí a posledný príklad sa pozrieme na tu. 1354 01:11:53,000 --> 01:11:55,000 Dobre, ideme na to. 1355 01:11:55,000 --> 01:12:00,000 Nate, on bude kapitánom, male, od, povedzme, Apley. 1356 01:12:00,000 --> 01:12:04,000 Registrácia. Dobre, ste zaregistrovaný naozaj. 1357 01:12:04,000 --> 01:12:07,000 Teraz, keď som Najeďte na môj e-mail, oh, môj bože. 1358 01:12:07,000 --> 01:12:09,000 Práve som dynamicky zaslali e-mail na webe. 1359 01:12:09,000 --> 01:12:11,000 >> Ponechajme na tomto liste. 1360 01:12:11,000 --> 01:12:16,000 Video je nadchádzajúce k prednáške sme chýbať. Uvidíme sa budúci týždeň. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]