1 00:00:00,000 --> 00:00:04,410 >> [Přehrávání hudby] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> Reproduktor 1: Toto je CS50 a to je konec týdne sedm. 4 00:00:15,770 --> 00:00:20,240 Dnes je možná, kde jsme Opravdu vám výuku jazyků. 5 00:00:20,240 --> 00:00:24,100 Zavedli jsme v minulosti pár týdny HTML a CSS, z nichž ani jedna 6 00:00:24,100 --> 00:00:25,240 jsou programovací jazyky. 7 00:00:25,240 --> 00:00:28,600 A skutečně, i když jsme ne podívat se na téměř všechny značky 8 00:00:28,600 --> 00:00:33,410 že přichází s HTML a téměř všechny vlastností, které CSS je dodáván s, 9 00:00:33,410 --> 00:00:35,007 že je trochu to pro HTML a CSS. 10 00:00:35,007 --> 00:00:36,840 My si jen obecně začít za předpokladu, že vás 11 00:00:36,840 --> 00:00:39,545 pochopit obecné myšlenky tagů a atributů, 12 00:00:39,545 --> 00:00:41,850 a stránky odesílána z klienta na server. 13 00:00:41,850 --> 00:00:45,280 >> Protože dnes začneme dívat na další programovací jazyk, PHP. 14 00:00:45,280 --> 00:00:47,110 Chystáme se udělat super rychlý. 15 00:00:47,110 --> 00:00:50,910 Nebudeme vás naučí, PHP samo o sobě, stejně jako jsme se snažit, aby vás učili 16 00:00:50,910 --> 00:00:52,670 C, sám o sobě, ale spíše programování. 17 00:00:52,670 --> 00:00:55,088 A skutečně, jeden z cíle pro tento kurz 18 00:00:55,088 --> 00:00:57,820 není naučit vás C, nebo HTML, nebo CSS, nebo PHP, 19 00:00:57,820 --> 00:01:00,370 nebo libovolný počet jiné buzz slova nebo zkratky, 20 00:01:00,370 --> 00:01:03,097 ale spíše informatice a jak programovat zásadně. 21 00:01:03,097 --> 00:01:05,930 A skutečně, dnes začneme brát tato školení kola off všechny 22 00:01:05,930 --> 00:01:10,600 dále tím, že letí prostřednictvím jazyk volal PHP, a to následovně. 23 00:01:10,600 --> 00:01:13,640 >> Tady je to, co tento jazyk vypadá. 24 00:01:13,640 --> 00:01:17,790 Ukazuje se, že není potřeba hlavní funkcí v programu písemné 25 00:01:17,790 --> 00:01:19,470 v jazyce PHP s názvem. 26 00:01:19,470 --> 00:01:22,585 Takže už zní trochu jednodušší než C, s nimiž jsme obeznámeni. 27 00:01:22,585 --> 00:01:25,370 Ukazuje se, že pokud jste chtějí deklarovat proměnnou, 28 00:01:25,370 --> 00:01:29,470 to budete dělat téměř identicky C. Ale tam je jasně jeden rozdíl tu 29 00:01:29,470 --> 00:01:31,850 když Prohlašuji řetězec, nebo možná dva rozdíly. 30 00:01:31,850 --> 00:01:32,725 Co vypadá jinak? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> Diváků: Znak dolaru. 33 00:01:37,160 --> 00:01:39,951 >> Reproduktor 1: Ano, je to dolar podepisovat, který jsme nikdy neviděli. 34 00:01:39,951 --> 00:01:41,451 A co chybí? 35 00:01:41,451 --> 00:01:41,950 To jo? 36 00:01:41,950 --> 00:01:42,820 >> Diváků: [Neslyšitelné] 37 00:01:42,820 --> 00:01:44,403 >> Reproduktor 1: Jo, není typ dat. 38 00:01:44,403 --> 00:01:48,410 Tak to dopadá, že PHP je to, co zavolejte volně typový jazyk, kde 39 00:01:48,410 --> 00:01:49,959 C je silně napsaný. 40 00:01:49,959 --> 00:01:52,500 Volně napsal prostě znamená, že existují různé typy dat, 41 00:01:52,500 --> 00:01:54,470 tam jsou řetězce a ints a plave. 42 00:01:54,470 --> 00:01:56,330 Ale počítač čísla, která mimo. 43 00:01:56,330 --> 00:01:58,664 Ty lidský programátor Nemusíte na to přijít. 44 00:01:58,664 --> 00:02:00,580 Takže vše, co musíte udělat, prohlásit je proměnná 45 00:02:00,580 --> 00:02:03,220 znak dolaru, název vaší variabilní, a pak se, například, 46 00:02:03,220 --> 00:02:04,760 quote konec citátu, hello world. 47 00:02:04,760 --> 00:02:07,662 >> No to je to, co podmínka vypadá v PHP. 48 00:02:07,662 --> 00:02:08,328 Jakékoli rozdíly? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Ne. 51 00:02:11,150 --> 00:02:12,540 Tak se ukazuje, jsou shodné. 52 00:02:12,540 --> 00:02:14,665 A můžete mít méně poboček nebo více poboček, 53 00:02:14,665 --> 00:02:16,557 ale syntaxe zatáčky přesně totéž. 54 00:02:16,557 --> 00:02:18,390 Boolean výrazy mohou nutno objednat dohromady. 55 00:02:18,390 --> 00:02:20,400 Boolean výrazy může být spojkou A.. 56 00:02:20,400 --> 00:02:21,430 Stále máte přepínače. 57 00:02:21,430 --> 00:02:23,790 Dokonce i když jste nepoužili tyto, tyto existují v C 58 00:02:23,790 --> 00:02:26,020 a oni jsou funkčně ekvivalent v PHP. 59 00:02:26,020 --> 00:02:28,260 >> A ve skutečnosti, v PHP jsou trochu silnější. 60 00:02:28,260 --> 00:02:32,540 V jazyce C, můžete porovnat pouze určité datové typy, jako ints a znaků, 61 00:02:32,540 --> 00:02:36,320 zatímco v PHP můžete skutečně porovnávat plné opeřit struny bez nutnosti 62 00:02:36,320 --> 00:02:38,460 se starat o ukazatele a podobně. 63 00:02:38,460 --> 00:02:39,430 Tak tady je to pro smyčku. 64 00:02:39,430 --> 00:02:41,270 To je jen pseudokód kód, chcete-li. 65 00:02:41,270 --> 00:02:43,400 Ale strukturně je identická s C 66 00:02:43,400 --> 00:02:47,520 >> Zde je while, pseudokód therefore-- identický s C. 67 00:02:47,520 --> 00:02:49,390 Zde je dělat, když loop-- identické. 68 00:02:49,390 --> 00:02:51,390 A tak je tu druh tento vzor zde, přičemž 69 00:02:51,390 --> 00:02:54,400 tam je několik dalších syntaktický Funkce budeme skutečně uvidí. 70 00:02:54,400 --> 00:02:57,340 Ve skutečnosti, zde je pěkná způsob, jak v PHP přičemž 71 00:02:57,340 --> 00:02:59,350 Chcete-li iterovat přes pole, a vy 72 00:02:59,350 --> 00:03:02,309 nechtějí skákat přes duševní a syntaktické obruče vlastnění 73 00:03:02,309 --> 00:03:05,178 int i = 0, i méně než N, I a plus-- který 74 00:03:05,178 --> 00:03:07,040 je jen hodně otravné syntaxe. 75 00:03:07,040 --> 00:03:10,654 Můžete říct, že trochu více plynule pro každou čísla 76 00:03:10,654 --> 00:03:13,320 jako číslo, kde se v tomto případě dolar čísla znamení, já jsem za předpokladu, 77 00:03:13,320 --> 00:03:15,400 je jako čísla pole s názvem. 78 00:03:15,400 --> 00:03:18,810 A pak já jsem za předpokladu, že číslo, singulární, bude proměnná. 79 00:03:18,810 --> 00:03:22,940 >> A co PHP udělá za mě, když jsem opakovat v průběhu této smyčky je, v každém opakování, 80 00:03:22,940 --> 00:03:28,450 to bude aktualizovat proměnné číslo být i-tý prvek v číslech, množném čísle. 81 00:03:28,450 --> 00:03:30,060 Tak to prostě zvládá všechno pro mě. 82 00:03:30,060 --> 00:03:32,750 Žádné hranaté závorky, no znak dolaru, žádné středníky. 83 00:03:32,750 --> 00:03:34,117 Je to jen trochu jednodušší. 84 00:03:34,117 --> 00:03:35,950 No, pokud chcete, aby pole, se ukazuje, že jste 85 00:03:35,950 --> 00:03:38,908 Můžete udělat něco docela podobného C. Syntaxe je trochu jiný. 86 00:03:38,908 --> 00:03:41,000 Ale tady je pole s názvem Dolar znaménkem. 87 00:03:41,000 --> 00:03:44,261 A já používám, v PHP, náměstí konzoly, to dopadá. 88 00:03:44,261 --> 00:03:47,260 A budeme vidět tyto znovu přesto v JavaScript-- jiný jazyk. 89 00:03:47,260 --> 00:03:49,968 Jen jsem použít hranatou závorku notaci mít seznam oddělený čárkami 90 00:03:49,968 --> 00:03:51,530 celých čísel, v tomto případě. 91 00:03:51,530 --> 00:03:53,010 Ale to mi dává pole. 92 00:03:53,010 --> 00:03:56,270 >> Ale ještě silnější v PHP, máme také, jaké jsou obecně 93 00:03:56,270 --> 00:03:57,640 volal asociativní pole. 94 00:03:57,640 --> 00:03:59,540 A spousta jazyků mají tyto stejně. 95 00:03:59,540 --> 00:04:03,810 Věc, o C polích je to, že indexy 96 00:04:03,810 --> 00:04:06,940 pro pole, věc, která vás používat v hranatých závorkách, prostřednictvím kterého 97 00:04:06,940 --> 00:04:08,600 máte přístup k prvkům, musí být co? 98 00:04:08,600 --> 00:04:10,620 >> Diváků: [Neslyšitelné] 99 00:04:10,620 --> 00:04:14,220 >> Reproduktor 1: Musí být čísla nebo celá čísla, konkrétně z nuly na nahoru. 100 00:04:14,220 --> 00:04:17,140 No, v PHP, a to dopadá out, v jiných jazycích, 101 00:04:17,140 --> 00:04:20,820 můžete začít mít indexy, které nejsou číselný. 102 00:04:20,820 --> 00:04:23,880 Ale jsou ve skutečnosti slova nebo fráze, tak, že spíše než 103 00:04:23,880 --> 00:04:27,070 zkuste si vzpomenout, kde něco je, nebo uložené v proměnné i, 104 00:04:27,070 --> 00:04:31,720 můžete skutečně použít slovo a řekl that-- můžete říct ani slovo, jako je tento. 105 00:04:31,720 --> 00:04:34,730 >> Takže znak dolaru citace je jméno proměnné zde. 106 00:04:34,730 --> 00:04:39,360 To je poněkud funky syntax to je sdružuje dvě klíčové hodnoty 107 00:04:39,360 --> 00:04:41,250 párů pro tuto proměnnou. 108 00:04:41,250 --> 00:04:45,490 Konkrétně se to dává mi matice, která má délku 2. 109 00:04:45,490 --> 00:04:47,660 Ale indexy nejsou 0 a 1. 110 00:04:47,660 --> 00:04:51,250 Indexy jsou citace konec citátu symbol a citovat cena konec citátu. 111 00:04:51,250 --> 00:04:55,990 A hodnoty těchto indexů, v tomto pořadí, je FB na Facebooku 112 00:04:55,990 --> 00:05:00,360 a $ 79,53, když jsem se naposledy kontroluje cenu za to. 113 00:05:00,360 --> 00:05:01,210 >> Co to znamená? 114 00:05:01,210 --> 00:05:04,136 No, to znamená, že namísto psaní kódu 115 00:05:04,136 --> 00:05:09,612 takhle, kde jsem něco udělat jako je dolar sign-- nebo spíše, v C 116 00:05:09,612 --> 00:05:11,070 Ani bych mít znak dolaru. 117 00:05:11,070 --> 00:05:13,490 Já bych něco jako je citace a poté 118 00:05:13,490 --> 00:05:18,410 Já bych si držák jsem se dostat na některé libovolně číselně indexované hodnoty. 119 00:05:18,410 --> 00:05:21,430 Začíná dnes v PHP, pokud jste se chtějí dostat na nějaké hodnoty, 120 00:05:21,430 --> 00:05:24,742 máme nějak více sémantický výmluvnost. 121 00:05:24,742 --> 00:05:27,450 Jen ozdobný způsob, jak říkat můžeme stačí zavolat věci, jaké jsou. 122 00:05:27,450 --> 00:05:29,800 >> A pokud chcete získat na něco symbol, 123 00:05:29,800 --> 00:05:32,180 nyní si doslova dělat citovat konec citátu symbol 124 00:05:32,180 --> 00:05:34,910 v hranatých závorkách namísto pouhého čísla. 125 00:05:34,910 --> 00:05:36,450 Takže je to pěkný pohodlí. 126 00:05:36,450 --> 00:05:38,140 A to je tak nějak to teď. 127 00:05:38,140 --> 00:05:40,240 Je tu svazky Další funkce v PHP. 128 00:05:40,240 --> 00:05:43,180 A skutečně, PHP přichází s příslovečná kuchyňský dřez. 129 00:05:43,180 --> 00:05:48,640 Desítky, stovky funkcí přijít s PHP-- tak mnoho více než přišel s C. 130 00:05:48,640 --> 00:05:51,360 >> A to není primárně určeno k přemoci, ale spíše pomoci 131 00:05:51,360 --> 00:05:53,900 si uvědomit, že my ne Už nemusíte psát kód 132 00:05:53,900 --> 00:05:55,590 to je druh tady dole koncepčně. 133 00:05:55,590 --> 00:05:58,465 Nyní můžeme jen začít využívat mnohem více pokročilých funkcí, 134 00:05:58,465 --> 00:05:59,920 že jazyky jako PHP mají. 135 00:05:59,920 --> 00:06:02,630 Takže nemusíme se starat o pohybující se věci kolem v paměti. 136 00:06:02,630 --> 00:06:05,338 Nemusíme se starat o malloc a všechny tyto nižší úrovni, 137 00:06:05,338 --> 00:06:09,390 výkonné podrobnosti, které budete zápasit s, ne-li boj s, pset5, 138 00:06:09,390 --> 00:06:13,380 ale můžete začít brzy vzít za samozřejmost. 139 00:06:13,380 --> 00:06:17,770 >> Ve skutečnosti, pojďme napsat super jednoduchý program v PHP, a to následovně. 140 00:06:17,770 --> 00:06:21,550 Chystám se jít hlava do CS50 IDE tady, a to, co budu dělat 141 00:06:21,550 --> 00:06:29,370 je vytvořit nový soubor, který velmi jednoduše se bude jmenovat ahoj dot PHP. 142 00:06:29,370 --> 00:06:31,860 Takže místo toho, dot c, to je bude nazýván dot PHP. 143 00:06:31,860 --> 00:06:34,260 A pak se v tomto souboru, Můžu začít psát. 144 00:06:34,260 --> 00:06:36,960 Ale ukazuje se, že jedna věc, kterou musím vědět 145 00:06:36,960 --> 00:06:41,470 je, že každý soubor PHP obecně, potřebuje začít s nějakou speciální syntaxi. 146 00:06:41,470 --> 00:06:44,570 Podobně v duchu do HTML, ale opět, PHP je programovací jazyk, ne 147 00:06:44,570 --> 00:06:45,590 značkovací jazyk. 148 00:06:45,590 --> 00:06:48,700 >> Takže každý soubor, a je to něco hloupý hledá Připouštím. 149 00:06:48,700 --> 00:06:50,480 Otevřený držák, otazník, PHP. 150 00:06:50,480 --> 00:06:53,060 A to je jen způsob, jak jazyk je říct, 151 00:06:53,060 --> 00:06:58,400 hej, počítač přichází nějaký kód napsaný v jazyce PHP s názvem. 152 00:06:58,400 --> 00:07:01,900 A pak se na samém konci svého souboru, děláte druh druhu opaku. 153 00:07:01,900 --> 00:07:04,860 Nemusíte psát PHP znovu, stačí dělat otazník, úhelník. 154 00:07:04,860 --> 00:07:08,500 A pak něco, co dát dovnitř z těchto dvou značek, abych tak řekl, 155 00:07:08,500 --> 00:07:11,490 bude, nebo by měl být, PHP kód. 156 00:07:11,490 --> 00:07:13,180 >> Takže pojďme něco udělat super jednoduché. 157 00:07:13,180 --> 00:07:19,370 Chystám se jít dál a dělat tisk def, hello world, zpětné lomítko n, zachránit. 158 00:07:19,370 --> 00:07:27,310 A teď na mou výzvu, budu dělat, aby hello-- ne, budu dělat, 159 00:07:27,310 --> 00:07:28,726 dot lomítko ahoj. 160 00:07:28,726 --> 00:07:31,250 Ne, tečka lomítko, hm. 161 00:07:31,250 --> 00:07:32,990 Takže něco je něco jiného. 162 00:07:32,990 --> 00:07:36,920 A skutečně, to je hlavní rozdíl Mezi PHP a jazyky, jako je C C. 163 00:07:36,920 --> 00:07:38,730 byl tzv sestavují jazyk. 164 00:07:38,730 --> 00:07:40,929 Co to znamená pro C je třeba sestavit? 165 00:07:40,929 --> 00:07:41,970 Jaký byl důsledek? 166 00:07:41,970 --> 00:07:42,898 To jo. 167 00:07:42,898 --> 00:07:45,220 >> Diváků: Napsal ji do strojového kódu tak to mohlo být spuštěn v počítači. 168 00:07:45,220 --> 00:07:46,011 >> Reproduktor 1: Přesně tak. 169 00:07:46,011 --> 00:07:49,075 Musíme nejprve převést do takzvaný kód přístroje, nuly a jedničky, 170 00:07:49,075 --> 00:07:51,950 před tím, než bude skutečně spustitelný a rozuměl v počítači. 171 00:07:51,950 --> 00:07:52,840 Tím, Intel Inside. 172 00:07:52,840 --> 00:07:54,530 CPU uvnitř počítače. 173 00:07:54,530 --> 00:07:58,170 PHP, naopak, je to, co se nazývá interpretovaný jazyk, který 174 00:07:58,170 --> 00:08:02,230 Znamená to, že nemusíte zkompilovat do nul a jedniček, strojového kódu, 175 00:08:02,230 --> 00:08:04,360 místo toho jej ponechat, jak zdrojový kód. 176 00:08:04,360 --> 00:08:08,130 A místo toho předat jako vstup na program, tlumočník 177 00:08:08,130 --> 00:08:11,960 že někdo jiný psal Před lety, že to chápe 178 00:08:11,960 --> 00:08:14,310 řádek po řádku, znak pro znak. 179 00:08:14,310 --> 00:08:16,120 Takže jinými slovy, Lidé tam napsal 180 00:08:16,120 --> 00:08:19,670 program, který bude vypadat ve Vašem kódu řádek po řádku, 181 00:08:19,670 --> 00:08:21,680 a zjistit, co počítač by měl dělat, 182 00:08:21,680 --> 00:08:25,960 bez převedením přímo do nul a jedniček. 183 00:08:25,960 --> 00:08:28,370 >> Takže pokud to vidí pro smyčce, Tento takzvaný interpret 184 00:08:28,370 --> 00:08:30,630 se bude jako, v pořádku, měl bych něco udělat znovu a znovu a znovu. 185 00:08:30,630 --> 00:08:31,150 Co bych měl dělat? 186 00:08:31,150 --> 00:08:32,159 Dovolte mi, abych se na dalším řádku. 187 00:08:32,159 --> 00:08:33,367 Dovolte mi, abych se na dalším řádku. 188 00:08:33,367 --> 00:08:35,350 A to opravdu interpretuje ji řádek po řádku. 189 00:08:35,350 --> 00:08:37,220 Tak jej vykonat, nemám používat značku. 190 00:08:37,220 --> 00:08:39,409 Nechci používat dot lomítko v tomto případě. 191 00:08:39,409 --> 00:08:43,530 Místo toho jsem dělat PHP, což je název programu, také známý jako 192 00:08:43,530 --> 00:08:46,562 Interpret, to je předinstalovaný CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 a teď musím složit linka argument, příkaz, který 194 00:08:48,770 --> 00:08:52,290 je jednoduše jméno z soubor, který chci interpretovat. 195 00:08:52,290 --> 00:08:54,740 Nebo přesněji mimochodem, že chci utéct. 196 00:08:54,740 --> 00:08:57,000 A když jsem stiskněte klávesu Enter, tady to máme. 197 00:08:57,000 --> 00:08:57,825 Ahoj světe. 198 00:08:57,825 --> 00:08:59,950 Nyní se ukazuje, že jsem použitou tiskovou def úmyslně 199 00:08:59,950 --> 00:09:01,600 aby nás most z C na PHP. 200 00:09:01,600 --> 00:09:05,150 Většina programátorů PHP, jak uvidíte, ani neobtěžujte použití tiskového def. 201 00:09:05,150 --> 00:09:08,290 Prostě použít funkci nazvanou tisk, který C neměl. 202 00:09:08,290 --> 00:09:11,390 A tak když jsem znovu spustit to teď, to vlastně chová funkčně stejné. 203 00:09:11,390 --> 00:09:13,730 Nemohu použít procento ů a procenta i, a tak dále, 204 00:09:13,730 --> 00:09:16,250 ale existují i ​​jiné způsoby, v PHP dělat to. 205 00:09:16,250 --> 00:09:18,100 To je ale pouze říkají, že syntakticky, 206 00:09:18,100 --> 00:09:21,850 jiné než některé podivné věci nahoru top, a některé podivné znaky dolů 207 00:09:21,850 --> 00:09:25,960 na dně, pojetí má nyní programování v tomto jiném jazyce 208 00:09:25,960 --> 00:09:27,860 se bude přesně stejné. 209 00:09:27,860 --> 00:09:30,120 >> Ve skutečnosti, pojďme udělat jednu další příklad. 210 00:09:30,120 --> 00:09:32,520 Takže budu pokračovat a zavřete tento soubor. 211 00:09:32,520 --> 00:09:37,740 Dovolte mi, abych vytvořit další, které Zavolám podmínky 1 tečka PHP. 212 00:09:37,740 --> 00:09:40,770 Takže bez nulové, protože to, co jsem udělal Byl Ohlédl jsem se před několika týdny, 213 00:09:40,770 --> 00:09:43,490 jsme měli soubor nazvaný Podmínky 1 bod C. A co 214 00:09:43,490 --> 00:09:47,590 Já jsem byl přeměněn v mém hlava, a tady na papíře, 215 00:09:47,590 --> 00:09:51,290 a brzy na kurz je webové stránky, řádek po řádku do PHP. 216 00:09:51,290 --> 00:09:55,520 >> Takže ve verzi C, jsme udělali něco jako řetězec s dostane dostat řetězec. 217 00:09:55,520 --> 00:09:58,200 Takže je to trochu jinak k tomu, že v PHP. 218 00:09:58,200 --> 00:10:01,390 Místo toho jsem jsem prostě jít dělat, nebo spíš, já 219 00:10:01,390 --> 00:10:05,870 mohl udělat int n dostane dostat int, v tomto případě dříve. 220 00:10:05,870 --> 00:10:12,600 Takže místo toho, budu dělat n dostane číst řádek, rád bych celé číslo, 221 00:10:12,600 --> 00:10:13,670 prosím. 222 00:10:13,670 --> 00:10:15,110 Takže je to jen můj výzva. 223 00:10:15,110 --> 00:10:17,260 A tak to dopadá, a Já bych jen vědět 224 00:10:17,260 --> 00:10:20,480 od mít číst nebo vidět funkce předtím, číst řádky funkce v PHP 225 00:10:20,480 --> 00:10:23,810 přebírá argument, který je výzva pro člověka, a jeho účel v životě 226 00:10:23,810 --> 00:10:26,220 je přečíst řádek textu že on nebo ona druhy uvedené v. 227 00:10:26,220 --> 00:10:29,160 A pak to, že ukládá Text do proměnné n. 228 00:10:29,160 --> 00:10:32,200 >> A teď bych mohl udělat něco jako jsem to udělal před několika týdny, stejným týden 229 00:10:32,200 --> 00:10:33,290 jeden z třídy. 230 00:10:33,290 --> 00:10:36,600 Je-li n větší než nula, pak jdu 231 00:10:36,600 --> 00:10:42,930 půjčovat si, že syntaxe jsme právě viděli, print def, sis vybrala kladné číslo, 232 00:10:42,930 --> 00:10:44,360 zpětné lomítko n. 233 00:10:44,360 --> 00:10:49,990 Else-li n rovno rovná nule, já jsem bude pokračovat a říct, tisk def, 234 00:10:49,990 --> 00:10:54,090 sis vybrala nulové zpětné lomítko n. 235 00:10:54,090 --> 00:10:56,830 Else, tady by měl případ Samozřejmě se, tisk def, 236 00:10:56,830 --> 00:10:58,620 sis vybrala záporné číslo. 237 00:10:58,620 --> 00:11:00,970 >> A můžeme zcela jistě realizovat logika této věci 238 00:11:00,970 --> 00:11:03,390 v spoustu různých způsoby, ale bod zde 239 00:11:03,390 --> 00:11:07,210 je to syntakticky, sotva něco je nové. 240 00:11:07,210 --> 00:11:09,830 Je to jen znak dolaru a Nová funkce a číst online. 241 00:11:09,830 --> 00:11:12,090 Ale v podstatě to, co je nového teď je mi to tlumočení. 242 00:11:12,090 --> 00:11:13,910 Já jsem průchodem jako vstup na jiný program. 243 00:11:13,910 --> 00:11:16,620 Takže pokud chci spustit to, je-li Neudělal jsem žádné chyby, 244 00:11:16,620 --> 00:11:20,140 Chystám se spustit PHP, z Podmínky 1 bod PHP, Enter, 245 00:11:20,140 --> 00:11:23,440 Budu psát v počtu 50, a předpokládejme, že teď to funguje. 246 00:11:23,440 --> 00:11:25,940 Vzhledem k tomu, logika je samé jako jeden týden. 247 00:11:25,940 --> 00:11:28,020 >> Dobře, takže to je docela nezaujatý, že jo? 248 00:11:28,020 --> 00:11:30,240 Mohli bychom to udělat v jakémkoli počet jazyků. 249 00:11:30,240 --> 00:11:33,200 Udělejme něco způsob silnější. 250 00:11:33,200 --> 00:11:35,610 Pojďme problém vrchní sada pět. 251 00:11:35,610 --> 00:11:37,370 Takže budu pokračovat, a to udělat. 252 00:11:37,370 --> 00:11:42,920 Jdu k vytvoření souboru volal slovník dot PHP, 253 00:11:42,920 --> 00:11:45,424 a nakloněný jak byste mohli být k zakódování dolů spoustu poznámek, 254 00:11:45,424 --> 00:11:47,340 poznámky pomohou pouze vy, pokud jste povolen 255 00:11:47,340 --> 00:11:48,923 implementovat problémy nastavit pět v PHP. 256 00:11:48,923 --> 00:11:52,706 Ale uvidíme, jak rychle jsme se teď mohou implementovat, že stejný problém set. 257 00:11:52,706 --> 00:11:56,830 >> Takže ve slovníku dot PHP, budu předpokládat, že zde již 258 00:11:56,830 --> 00:11:58,514 soubor ve světě s názvem pravopisu. 259 00:11:58,514 --> 00:12:01,430 A skutečně, Udělal jsem to v předstihu, a nebudeme projít této linii 260 00:12:01,430 --> 00:12:03,596 po řádku, ale pokud jste zvědavý později a opravdu chcete 261 00:12:03,596 --> 00:12:06,250 zabalit svou mysl kolem Rozdíly mezi C a PHP, 262 00:12:06,250 --> 00:12:09,030 doslova porovnat tento soubor, pravopisu, z dnešního zdrojového kódu 263 00:12:09,030 --> 00:12:11,190 že budeme psát později dnes, proti p set 264 00:12:11,190 --> 00:12:15,309 Pět speller tečka c, že ​​dáváme vám, a to je skoro stejný řádek po řádku. 265 00:12:15,309 --> 00:12:16,600 Je tu několik dalších dolaru. 266 00:12:16,600 --> 00:12:18,330 Pár funkce trochu jinak. 267 00:12:18,330 --> 00:12:20,038 Ale je to příjemný způsob, ze nějak viděl, jak 268 00:12:20,038 --> 00:12:22,740 přeložit jednoho jazyka do druhého. 269 00:12:22,740 --> 00:12:24,812 A to je téměř totožné linka pro linku. 270 00:12:24,812 --> 00:12:27,770 Ale budu předpokládat, že se existuje, a to, co budu dělat zde 271 00:12:27,770 --> 00:12:31,310 je pokusit se vyhodit váš mysl reimplementing 272 00:12:31,310 --> 00:12:36,210 celistvost problém dal pět cestu rychleji, než jsi dělal tak daleko. 273 00:12:36,210 --> 00:12:39,330 Tak například, budu první, deklarovat globální proměnnou s názvem velikost, 274 00:12:39,330 --> 00:12:40,444 a nastavit tak, rovná nule. 275 00:12:40,444 --> 00:12:41,610 Teď to není moc úspory. 276 00:12:41,610 --> 00:12:44,170 Kurzy jsou jste zavedli velikost skoro stejné, 277 00:12:44,170 --> 00:12:48,440 nebo náznak náznak, bude dnes večer nebo zítra, jen pomocí globální proměnnou s názvem 278 00:12:48,440 --> 00:12:49,900 velikost, a nastavení rovna nule. 279 00:12:49,900 --> 00:12:52,660 To není zvlášť úžasný spoiler. 280 00:12:52,660 --> 00:12:57,180 >> Takže jaké byly vaše údaje struktury výběr, ty z vás, kteří utíkají 281 00:12:57,180 --> 00:13:02,170 a přečtěte si, co spec datové struktury se většina z vás používáte? 282 00:13:02,170 --> 00:13:06,840 Hash tabulky nebo vyzkoušet, možná Někteří jejich varianty. 283 00:13:06,840 --> 00:13:10,490 Takže provádění hash tabulky alespoň, je trochu mnoho řádků kódu, 284 00:13:10,490 --> 00:13:10,990 v pořádku? 285 00:13:10,990 --> 00:13:13,700 A ne všechny z nich by mohl být funkční v tomto bodě v týdnu, 286 00:13:13,700 --> 00:13:14,366 ale to je v pořádku. 287 00:13:14,366 --> 00:13:19,300 Protože v PHP, kdybych Chcete-hash tabulky, hotovo. 288 00:13:19,300 --> 00:13:20,260 Je to tak? 289 00:13:20,260 --> 00:13:22,610 Takže této proměnné, které jsem jen prohlásil, je samozřejmě 290 00:13:22,610 --> 00:13:26,180 volal znak dolaru stůl, na zavedení předtím. 291 00:13:26,180 --> 00:13:28,902 >> Ale já opravdu chci, na konec dne, pole. 292 00:13:28,902 --> 00:13:31,610 Ale ne numericky indexován pole, protože to je jako dva týden 293 00:13:31,610 --> 00:13:33,440 věci, když jsme mluvili o polích. 294 00:13:33,440 --> 00:13:34,850 Chci hash tabulky. 295 00:13:34,850 --> 00:13:38,070 Ale hash tabulka je opravdu jen konkrétní způsob, jak říct, 296 00:13:38,070 --> 00:13:40,190 Chcete-asociativní pole. 297 00:13:40,190 --> 00:13:43,270 Chcete-li být schopni přidružených klíčů s hodnotami. 298 00:13:43,270 --> 00:13:44,200 Klíče s hodnotami. 299 00:13:44,200 --> 00:13:45,640 Co je to slovník, opravdu? 300 00:13:45,640 --> 00:13:47,080 No je to úplně svazek klíčů. 301 00:13:47,080 --> 00:13:50,320 Slova jako jablka, hrušky, a banán, a všechny tyto anglických slov 302 00:13:50,320 --> 00:13:51,490 že vám ruku. 303 00:13:51,490 --> 00:13:54,820 >> A hodnoty, které jste efektivně vložení do slovníku 304 00:13:54,820 --> 00:13:57,790 jsou buď pravdivé, nebo nepřítomnost, false. 305 00:13:57,790 --> 00:14:00,540 Jinými slovy, vkládáte celá parta klíče a hodnoty, 306 00:14:00,540 --> 00:14:03,720 jablko, to je pravda, hruška, pravda, banán, pravda. 307 00:14:03,720 --> 00:14:07,446 Tak, že při načtení nebo hledat up těmito údaji ve vašem hash tabulky 308 00:14:07,446 --> 00:14:10,070 s vaší funkci kontroly, ty jsi buď vrátit odpověď, 309 00:14:10,070 --> 00:14:13,260 Ano, našel jsem to v mém komplexu hash tabulky, nebo ne, není to tam, 310 00:14:13,260 --> 00:14:14,540 takže se return false. 311 00:14:14,540 --> 00:14:19,440 >> Takže k tomu, že všechno, co potřebujete, je datový struktura, jako jsem navrhl před. 312 00:14:19,440 --> 00:14:22,050 Já jen musí být schopni sdružovat slova 313 00:14:22,050 --> 00:14:25,570 jako, cituji konec citátu, symbol, s hodnotou, jako je, pravého. 314 00:14:25,570 --> 00:14:27,090 Takže tady je moje hash tabulky. 315 00:14:27,090 --> 00:14:28,180 Pojďme skutečně používat to. 316 00:14:28,180 --> 00:14:30,310 Takže tam je několik funkcí Potřebuji implementovat. 317 00:14:30,310 --> 00:14:33,300 Chystám se jít dopředu a kousat off funkce nazvaná velikosti. 318 00:14:33,300 --> 00:14:34,390 To trvá žádné argumenty. 319 00:14:34,390 --> 00:14:36,660 Já nemusím obtěžovat s Slovo, neplatné, v PHP. 320 00:14:36,660 --> 00:14:38,770 Já jsem prostě jít k návratu velikost. 321 00:14:38,770 --> 00:14:41,287 >> A jako stranou, PHP má tento minorly nepříjemné detail, 322 00:14:41,287 --> 00:14:44,620 kde když se něco je globální, musíte řekněte funkci, ve které, kterou používáte 323 00:14:44,620 --> 00:14:46,220 to, hej, to je globální proměnná. 324 00:14:46,220 --> 00:14:49,330 Takže, menší hloupost, ale vám muset udělat to přesto. 325 00:14:49,330 --> 00:14:50,920 >> A co zatížení? 326 00:14:50,920 --> 00:14:52,990 Jdu k provedení funkce nazvaná zatížení 327 00:14:52,990 --> 00:14:56,790 že se ve jménu slovníku, stejně jako v problém nastavit pět. 328 00:14:56,790 --> 00:14:59,554 A než budu pokračovat, Všimněte si, že nemám 329 00:14:59,554 --> 00:15:00,970 bylo psaní docela stejný věci. 330 00:15:00,970 --> 00:15:06,060 Co je to se pochopitelně liší v PHP o jak deklarovat funkci oproti C? 331 00:15:06,060 --> 00:15:06,616 To jo. 332 00:15:06,616 --> 00:15:07,490 Diváků: [Neslyšitelné] 333 00:15:07,490 --> 00:15:08,573 Reproduktor 1: žádný typ návratu. 334 00:15:08,573 --> 00:15:12,350 A opravdu, je to tak, PHP pokud je to volně napsaný, 335 00:15:12,350 --> 00:15:14,190 je také v tomto smyslu trochu nedbalý. 336 00:15:14,190 --> 00:15:17,680 Nemusíte specifikovat jako programátor to, co tato funkce vrací. 337 00:15:17,680 --> 00:15:20,490 Budete muset skutečně vypadat v kódu postava, která se. 338 00:15:20,490 --> 00:15:22,670 Nebo číst komentáře nebo dokumentaci. 339 00:15:22,670 --> 00:15:24,870 Takže výhody a nevýhody tyto druhy rozhodnutí. 340 00:15:24,870 --> 00:15:26,750 Ale musím říct, klíčové slovo, funkce. 341 00:15:26,750 --> 00:15:28,360 A když jsme se dozvěděli JavaScript za pár týdnů 342 00:15:28,360 --> 00:15:31,026 budeme vidět totéž znovu, ale je to stejný nápad. 343 00:15:31,026 --> 00:15:34,220 Jméno funkce, její argument nebo argumenty nebo jeho nedostatek, a nyní 344 00:15:34,220 --> 00:15:35,630 Zde je implementace. 345 00:15:35,630 --> 00:15:38,860 >> Takže budu řezat zatáčky jen některé být dramatický jen na chvíli. 346 00:15:38,860 --> 00:15:40,485 Ale budu pokračovat a říct. 347 00:15:40,485 --> 00:15:44,890 To je, jak mohu nahrát soubor do pole. 348 00:15:44,890 --> 00:15:47,580 K dispozici je funkce v PHP s názvem souboru. 349 00:15:47,580 --> 00:15:49,300 Podáte to je název souboru. 350 00:15:49,300 --> 00:15:53,950 To podá zpátky pole, uvnitř z nichž je každý řádek ze souboru. 351 00:15:53,950 --> 00:15:56,480 Z nula, jedna, na up se n minus 1 linek. 352 00:15:56,480 --> 00:15:57,210 To je to, že jo? 353 00:15:57,210 --> 00:15:57,990 Není f čtení. 354 00:15:57,990 --> 00:15:58,826 Není f get s. 355 00:15:58,826 --> 00:15:59,700 Není procent s. 356 00:15:59,700 --> 00:16:00,420 Neexistuje žádné bolesti hlavy. 357 00:16:00,420 --> 00:16:01,220 Není feof. 358 00:16:01,220 --> 00:16:03,950 Všechny ty věci, s nimiž jste zápasí snad, 359 00:16:03,950 --> 00:16:06,550 s p set čtyři a pět, zmizí. 360 00:16:06,550 --> 00:16:09,450 >> Tak jsem jen četl tyto řádky do soubor, a pak víte, co? 361 00:16:09,450 --> 00:16:15,510 Pokud chci iteraci nad těmito slovy, Mohu udělat, pro každý linek jako linky. 362 00:16:15,510 --> 00:16:19,992 Pamatujte si, že to byl druh chytrý způsob iterace nad pole, index 363 00:16:19,992 --> 00:16:25,090 indexem, a na každém opakování volání aktuální řádek, znak dolaru řádek. 364 00:16:25,090 --> 00:16:31,560 A právě tady budu jít a říkat stůl, držák, řádek, dostane pravdivé. 365 00:16:31,560 --> 00:16:35,880 >> Jinými slovy, je to, jak jsem se vložit do mého tabulky hash v PHP. 366 00:16:35,880 --> 00:16:38,740 Říkám znak dolaru tabulku, která je můj asociativní pole, která byla 367 00:16:38,740 --> 00:16:40,690 prázdný na řádek kódu nahoře. 368 00:16:40,690 --> 00:16:42,790 Pak jsem index do ní ne, pomocí celé řady, 369 00:16:42,790 --> 00:16:45,300 ale doslova použití klíčové slovo, které mi záleží. 370 00:16:45,300 --> 00:16:47,730 Možná je to jablko nebo hruška nebo banán nebo cokoliv, 371 00:16:47,730 --> 00:16:51,645 ale konkrétně jsem indexování do něj rád navrhl jsem již dříve. 372 00:16:51,645 --> 00:16:53,770 Beru jménu mého asociativní pole, a pak jsem 373 00:16:53,770 --> 00:16:56,450 používat citace unquote v hranaté závorky s řetězci, 374 00:16:56,450 --> 00:16:58,490 namísto skutečného počtu. 375 00:16:58,490 --> 00:17:00,250 >> A tak to je. 376 00:17:00,250 --> 00:17:01,720 Funkce zatížení je hotovo. 377 00:17:01,720 --> 00:17:05,119 Jakmile se tato smyčka iteruje, já jsem dal vše do tabulky hash. 378 00:17:05,119 --> 00:17:07,810 Nyní malý disclaimer, je tu pár věcí, které jsem si třeba opravit. 379 00:17:07,810 --> 00:17:10,030 A verze uvidíme po on-line budou mít všechny nuance, 380 00:17:10,030 --> 00:17:12,670 ale je to většinou jen bude nějaký kontrola chyb a některé drobné vychytávky. 381 00:17:12,670 --> 00:17:14,044 Ale to je opravdu podstata toho. 382 00:17:14,044 --> 00:17:16,750 Pokud se teď chci realizovat funkce zavolána 383 00:17:16,750 --> 00:17:19,869 zjistit, který očekává slovo jako argument, 384 00:17:19,869 --> 00:17:22,099 Jak bych mohl jít o tom, že? 385 00:17:22,099 --> 00:17:30,020 No, já prostě chtěl říct, je-li uvnitř mého stolu, na umístění slova, 386 00:17:30,020 --> 00:17:30,652 , pokud je nastaven. 387 00:17:30,652 --> 00:17:32,360 Takže pokud tam je-- ve skutečnosti, víte co? 388 00:17:32,360 --> 00:17:34,830 Budu dělat to v trochu pseudokódu. 389 00:17:34,830 --> 00:17:36,020 Ale myšlenka je stejná. 390 00:17:36,020 --> 00:17:41,640 Pokud to se rovná pravda, vrátí true. 391 00:17:41,640 --> 00:17:43,890 Dobře. 392 00:17:43,890 --> 00:17:46,851 Else-- můžete trochu vidět, kde toto je going-- vrátit false. 393 00:17:46,851 --> 00:17:47,350 Hotovo. 394 00:17:47,350 --> 00:17:49,640 Kontrola se provádí. 395 00:17:49,640 --> 00:17:50,940 >> Docela pěkný, že jo? 396 00:17:50,940 --> 00:17:52,560 A tak to, co je to opravdu dostat na? 397 00:17:52,560 --> 00:17:53,680 A to taky, řezat jsem nějaké rohy. 398 00:17:53,680 --> 00:17:56,020 Podívejte se na on-line verzi pro všechny nepatrných nuance. 399 00:17:56,020 --> 00:17:57,103 Ale to je podstata toho. 400 00:17:57,103 --> 00:17:59,080 Index do vašeho asociativní pole, také známý jako 401 00:17:59,080 --> 00:18:02,910 Hash stůl, jestli tam je hodnota tam, pokud je nastavena na hodnotu true, a pokud ano, 402 00:18:02,910 --> 00:18:03,930 return true. 403 00:18:03,930 --> 00:18:05,819 Takže jsme se smrskl všechny složitosti. 404 00:18:05,819 --> 00:18:07,110 Takže druh mysli vyfukování, že jo? 405 00:18:07,110 --> 00:18:09,680 Nebudu se obtěžovat s dokončením vyložit, protože v fact-- oh, víte co? 406 00:18:09,680 --> 00:18:11,620 Jo, pojďme dokončit jej vyložit. 407 00:18:11,620 --> 00:18:18,940 >> Uvolnit se v hash tabulky by mohl vypadat stejně jako funkce vyložit, vrátí. 408 00:18:18,940 --> 00:18:19,930 OK, takže to je vyložit. 409 00:18:19,930 --> 00:18:21,350 Protože není nic vyložit, že jo? 410 00:18:21,350 --> 00:18:22,170 Není malloc. 411 00:18:22,170 --> 00:18:24,280 Nechtěl jsem výslovně požádat operační systém pro cokoliv. 412 00:18:24,280 --> 00:18:25,571 Jen jsem začal používat proměnné. 413 00:18:25,571 --> 00:18:30,510 A tak to také je projevem rysy vyšších jazyků úrovni. 414 00:18:30,510 --> 00:18:32,940 Takže znovu, většina tohoto termínu jsme se zabývali zde dole 415 00:18:32,940 --> 00:18:34,280 s C. Super nízké úrovni. 416 00:18:34,280 --> 00:18:35,980 Můžete vidět paměti počítače. 417 00:18:35,980 --> 00:18:38,440 Můžete dotknout něco, co chtějí v paměti RAM počítače, 418 00:18:38,440 --> 00:18:39,440 k lepšímu nebo k horšímu. 419 00:18:39,440 --> 00:18:41,760 >> Tady nahoře, jdeme vzdát tuto moc. 420 00:18:41,760 --> 00:18:44,730 Ale můj bože, podívejte se, jak mnohem méně kódu jsem napsal. 421 00:18:44,730 --> 00:18:47,660 Ve skutečnosti, kdybych byl nemluvíme a mluví o mém psaní, 422 00:18:47,660 --> 00:18:50,190 bychom byly provedeny s Tento příklad před pěti minutami. 423 00:18:50,190 --> 00:18:52,150 Takže co je cena zaplaceno? 424 00:18:52,150 --> 00:18:54,100 Tak pojďme se podívat. 425 00:18:54,100 --> 00:18:55,340 Pojďme se podívat. 426 00:18:55,340 --> 00:18:59,340 Chystám se jít dopředu a spusťte CS50. 427 00:18:59,340 --> 00:19:02,160 Dovolte mi, abych nejprve jít do dnešní Příklady, kdy 428 00:19:02,160 --> 00:19:03,970 Mám adresář textů jako předtím. 429 00:19:03,970 --> 00:19:08,520 Chystám se spustit řešení, které Dodává se s problémem nastavit pět nazvaný 430 00:19:08,520 --> 00:19:11,190 pravopisu, která je v účtu CS50 je. 431 00:19:11,190 --> 00:19:14,040 >> A budu spustit na něčem velký jako Bible Kinga Jamese, 432 00:19:14,040 --> 00:19:16,547 jen proto, že jsme opravdu dát zaměstnanců řešení k testu. 433 00:19:16,547 --> 00:19:19,130 Teď někdy internet je něco pomaleji, o něco rychleji, 434 00:19:19,130 --> 00:19:20,338 Chvíli může trvat posouvat. 435 00:19:20,338 --> 00:19:23,730 Ale trvalo celkem .56 sekund kontrolu pravopisu Kinga Jamese 436 00:19:23,730 --> 00:19:25,150 Bible pomocí řešení zaměstnanců. 437 00:19:25,150 --> 00:19:25,620 Takže docela dobře. 438 00:19:25,620 --> 00:19:27,786 Yours by mohl být mnohem pomalejší, a to je naprosto v pořádku. 439 00:19:27,786 --> 00:19:30,090 Ale to je tady správně. 440 00:19:30,090 --> 00:19:32,440 Tak to je řešení personál. 441 00:19:32,440 --> 00:19:34,785 Pokud bych jít a vyčistit verzi PHP. 442 00:19:34,785 --> 00:19:36,990 A já budu dělat něco jako pečení výstavy věc. 443 00:19:36,990 --> 00:19:39,720 Chystáme se vzít kód, který jsem napsal dříve, takže je to naprosto správné. 444 00:19:39,720 --> 00:19:42,678 Protože kód jsem napsal nebude být naprosto správné právě teď. 445 00:19:42,678 --> 00:19:47,310 Ale když jsem spustit verzi PHP, co musím vzdát dnes? 446 00:19:47,310 --> 00:19:49,980 Trvalo mi pět minut, implementovat p set pět, já tvrdí. 447 00:19:49,980 --> 00:19:51,770 Jakou cenu jsem zaplatil? 448 00:19:51,770 --> 00:19:52,270 To jo. 449 00:19:52,270 --> 00:19:52,937 >> Diváků: Speed. 450 00:19:52,937 --> 00:19:53,645 Reproduktor 1: Speed. 451 00:19:53,645 --> 00:19:54,380 Co myslíš? 452 00:19:54,380 --> 00:19:55,230 >> Diváků: Bude to trvat déle. 453 00:19:55,230 --> 00:19:55,660 >> Reproduktor 1: Dobře. 454 00:19:55,660 --> 00:19:56,160 Uvidíme. 455 00:19:56,160 --> 00:19:59,590 Bude to trvat déle, ne psát, ale k jeho spuštění. 456 00:19:59,590 --> 00:20:00,090 To jo. 457 00:20:00,090 --> 00:20:00,960 Tak pojďme zkusit. 458 00:20:00,960 --> 00:20:05,720 Tak tady budu pokračovat a dělat PHP z pravopisu, a protože soubor je 459 00:20:05,720 --> 00:20:06,360 volal speller. 460 00:20:06,360 --> 00:20:07,580 Takže jsem neběží slovník, odvolání, 461 00:20:07,580 --> 00:20:09,204 Běžím program s názvem Kontrola pravopisu. 462 00:20:09,204 --> 00:20:12,450 Jdu se pak v tomtéž Soubor, King James pátý. 463 00:20:12,450 --> 00:20:14,377 Je to létání. 464 00:20:14,377 --> 00:20:17,210 To by mohlo být jen vysokorychlostní internet, takže se nemusíte číst příliš do toho. 465 00:20:17,210 --> 00:20:21,680 Ale to cítí déle jistý. 466 00:20:21,680 --> 00:20:23,280 1.26 sekund. 467 00:20:23,280 --> 00:20:25,150 >> Tak to je ještě docela zatraceně rychle, že jo? 468 00:20:25,150 --> 00:20:28,140 A jediný důvod, proč se cítil jako více jako tři, nebo čtyři, nebo pět 469 00:20:28,140 --> 00:20:30,515 sekundy, že je to jen proto, byl internet je pomalý. 470 00:20:30,515 --> 00:20:33,980 Čas strávený Počítač byl 1,26 sekund, myslím, že ve srovnání s 0,56. 471 00:20:33,980 --> 00:20:35,880 Takže více než dvakrát tak pomalý. 472 00:20:35,880 --> 00:20:39,170 Teď, když je to pořád zatraceně rychle, ale je to projev 473 00:20:39,170 --> 00:20:40,860 z, opravdu, že přesná cena. 474 00:20:40,860 --> 00:20:43,460 >> Vzhledem k tomu, že jsme tlumočení v kódu řádek po řádku, 475 00:20:43,460 --> 00:20:46,740 a tento program PHP je čtení mého Kód shora dolů, zleva doprava, 476 00:20:46,740 --> 00:20:47,940 to musí udělat více myšlení. 477 00:20:47,940 --> 00:20:50,430 To má na druh převést to uvnitř sebe sama 478 00:20:50,430 --> 00:20:53,464 na odpovídající stroji kód za běhu, abych tak řekl, 479 00:20:53,464 --> 00:20:55,380 i když mechaniky jsou trochu odlišné. 480 00:20:55,380 --> 00:20:59,430 Místo toho, aby právě krmení k Intel CPU surové nuly a jedničky 481 00:20:59,430 --> 00:21:00,930 že nativně chápe. 482 00:21:00,930 --> 00:21:04,110 >> Takže naprosto, ruce dolů, jsme zaplatili cenu. 483 00:21:04,110 --> 00:21:09,120 A kód napsaný v jazyce, jako PHP má tendenci být pomalejší. 484 00:21:09,120 --> 00:21:10,050 Ale můj bůh. 485 00:21:10,050 --> 00:21:12,740 Takže teď, když jsem kontrolu pravopisu my soubor, trávím navíc 0,7 486 00:21:12,740 --> 00:21:17,280 nebo tak sekund vs 20 hodin k provádění rychlejší kontrola pravopisu, že jo? 487 00:21:17,280 --> 00:21:18,397 Je to tak trochu kompromis. 488 00:21:18,397 --> 00:21:20,980 A pokud jste právě začíná p set pět, nemusí být 20 hodin. 489 00:21:20,980 --> 00:21:22,188 Může být mnohem méně než to. 490 00:21:22,188 --> 00:21:23,600 Ale je to kompromis, doopravdy. 491 00:21:23,600 --> 00:21:27,820 A pokud jste spuštění kódu na opravdu velké datové sady, nebo na ještě starší hardware, 492 00:21:27,820 --> 00:21:32,650 tyto druhy rozdílů určitě se sčítají. 493 00:21:32,650 --> 00:21:34,880 >> Nějaké otázky tak daleko? 494 00:21:34,880 --> 00:21:35,617 To jo. 495 00:21:35,617 --> 00:21:36,492 >> Diváků: [Neslyšitelné] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 Reproduktor 1: Je nám líto, to říkáš ještě jednou? 498 00:21:39,978 --> 00:21:40,853 Diváků: [Neslyšitelné] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 Reproduktor 1: Jste vzdát čas. 501 00:21:44,700 --> 00:21:45,283 No, tak jo. 502 00:21:45,283 --> 00:21:47,322 Ty se šetří čas tím, nemají na kompilaci, 503 00:21:47,322 --> 00:21:48,530 jestli to je to, co se ptáte. 504 00:21:48,530 --> 00:21:50,710 A skutečně, v CS50, většinu programů, 505 00:21:50,710 --> 00:21:53,668 i když může chvíli trvat psát, že jsou relativně krátké. 506 00:21:53,668 --> 00:21:56,860 Několik desítek, pár set řádků kódu, a tak sestavit docela rychle. 507 00:21:56,860 --> 00:21:58,470 Ale když začnete psaní větších programů, 508 00:21:58,470 --> 00:22:01,511 jako když jste Microsoft nebo jste Google a psaní opravdu velké programy 509 00:22:01,511 --> 00:22:05,360 v C nebo C ++, nebo podobně zkompilovaný jazyky, by mohlo trvat mnoho sekund, 510 00:22:05,360 --> 00:22:08,577 nebo dokonce minuty nebo déle, sestavit miliony řádků kódu. 511 00:22:08,577 --> 00:22:10,660 A tam taky, že Rozdíl bude sčítat. 512 00:22:10,660 --> 00:22:12,840 >> A ve skutečnosti, jakmile jsme Přechod dnes, ve stejný den 513 00:22:12,840 --> 00:22:15,910 Dnes, na webové programování pomocí PHP, že jste 514 00:22:15,910 --> 00:22:18,460 jít na to najít jen tolik příjemnějším psát kód 515 00:22:18,460 --> 00:22:21,501 když nemusíte dělat tyto hloupý Kroky, jako je změna k vašemu terminálu 516 00:22:21,501 --> 00:22:24,202 okna, typ make ahoj, re spusťte jej, znovu okno. 517 00:22:24,202 --> 00:22:25,910 Jen tolik hloupý mechanické kroky, které 518 00:22:25,910 --> 00:22:28,480 jen dostat v cestě dělat zajímavé, zábava práce. 519 00:22:28,480 --> 00:22:31,450 A skutečně jsme hodit to pryč s PHP. 520 00:22:31,450 --> 00:22:34,960 A můžeme komunikovat s tím rychleji. 521 00:22:34,960 --> 00:22:35,495 To jo. 522 00:22:35,495 --> 00:22:36,370 Diváků: [Neslyšitelné] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 Reproduktor 1: Jistě. 525 00:22:40,960 --> 00:22:42,876 Mohu objasnit, co to znamená být vykládány? 526 00:22:42,876 --> 00:22:45,870 Při kompilaci jazyk jako je C, to jde dolů 527 00:22:45,870 --> 00:22:48,140 jak jsme řekli na stroji kód, nul a jedniček. 528 00:22:48,140 --> 00:22:51,860 A Intel se rozhodl před lety, že Některé vzory nul a jedniček 529 00:22:51,860 --> 00:22:56,220 představují sčítání, odčítání nebo, nebo vytisknout, nebo jiné základní operace. 530 00:22:56,220 --> 00:23:00,250 Ve světě interpretovaný jazyka jako je PHP nebo JavaScript, nebo Python, 531 00:23:00,250 --> 00:23:03,120 nebo Ruby, nebo kytice jiní, místo toho někdo 532 00:23:03,120 --> 00:23:05,120 napsal interpreter-- v tomto případě, 533 00:23:05,120 --> 00:23:09,770 to je také nazýván PHP, totožná s jméno právního language-- že v podstatě 534 00:23:09,770 --> 00:23:13,840 má velkou smyčku v tom, že provádí iteraci přes všechny řádky kódu 535 00:23:13,840 --> 00:23:18,170 že jsem krmit jako vstup, stejně jako ahoj dot PHP, nebo slovník tečka PHP. 536 00:23:18,170 --> 00:23:21,760 >> A pak si můžete myslet na jejich velká smyčka jak mít spoustu podmínek. 537 00:23:21,760 --> 00:23:26,340 A tyto podmínky říci, je-li člověk napsal klíčové slovo pro, 538 00:23:26,340 --> 00:23:28,470 začít dělat jeho nebo její kód znovu a znovu. 539 00:23:28,470 --> 00:23:31,360 Nebo v případě, že člověk má písemný řádek kódu, 540 00:23:31,360 --> 00:23:34,880 pokud jen provést jejich další řádek podmíněně. 541 00:23:34,880 --> 00:23:37,740 Takže je to opravdu jako tlumočení že v lidském smyslu, řádek 542 00:23:37,740 --> 00:23:39,660 linkou, a to jen nějakou dobu trvá. 543 00:23:39,660 --> 00:23:41,340 Trvá nad hlavou. 544 00:23:41,340 --> 00:23:44,189 A tak to je price-- dobrý question-- platíme. 545 00:23:44,189 --> 00:23:46,480 Takže pojďme udělat další demo to je trochu dramatičtější. 546 00:23:46,480 --> 00:23:51,160 Tam je, řekl bych, že, přibližný to na 90% pravděpodobnost selhání hrozně, 547 00:23:51,160 --> 00:23:53,869 ale budete se divit, s 10% pravděpodobností. 548 00:23:53,869 --> 00:23:55,660 Takže každý rok se snažíme to udělat, čímž jsme 549 00:23:55,660 --> 00:23:59,061 pokusit se napsat program, který prochází problém nastavit nulu, pro kterou jsem 550 00:23:59,061 --> 00:24:02,060 předložené vaše telefonní čísla a Mnoho jiných demografických informací, 551 00:24:02,060 --> 00:24:06,030 a my jsme programově poslat textovou zprávu. 552 00:24:06,030 --> 00:24:08,540 A pak telefon každého z nás začne pípat nebo vibrační, 553 00:24:08,540 --> 00:24:11,460 a je to prostě úžasné, protože dobře, podívejte se na to, co počítače mohou dělat. 554 00:24:11,460 --> 00:24:13,840 >> To jen zřídka funguje správně Zdá se, že z velké části 555 00:24:13,840 --> 00:24:16,800 proto, že jsem si na černou listinu typicky Gmail nebo jinou službu 556 00:24:16,800 --> 00:24:19,630 Pro skutečně snaží udělat na stupnici toto. 557 00:24:19,630 --> 00:24:24,940 Ale legrační věc je příliš, protože jsme dnes nemají všichni tady, 558 00:24:24,940 --> 00:24:27,690 zábava fakt v poslední době jsme se Snažil to před dvěma lety, 559 00:24:27,690 --> 00:24:30,870 Myslím, že jsem napsal program že seděl ve smyčce iteraci 560 00:24:30,870 --> 00:24:34,040 přes všechny studenty ve třídě, a každý z nich textovou zprávu, 561 00:24:34,040 --> 00:24:37,534 a řekl něco jako, proč nejsi v přednášce? 562 00:24:37,534 --> 00:24:39,170 Láska, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Nemáš představu, kolik omluvný a druh bolestivé e-maily 564 00:24:42,580 --> 00:24:46,970 Dostal jsem odpověď podaná n minus 100 lidí, kteří nebyli zde 565 00:24:46,970 --> 00:24:47,960 ten den. 566 00:24:47,960 --> 00:24:52,116 A ještě zábavnější, více ostudné story-- Víte, pojďme dát to tam. 567 00:24:52,116 --> 00:24:53,740 Už je na videu před pár lety. 568 00:24:53,740 --> 00:24:56,810 Takže budete mě brzy vidět napsat pro smyčce, přičemž 569 00:24:56,810 --> 00:25:00,640 je to velmi snadné psát chybu v tom, že pro smyčku, tak, že první doba 570 00:25:00,640 --> 00:25:02,800 přes smyčku, budete odeslání jedné textové zprávy. 571 00:25:02,800 --> 00:25:06,190 >> Podruhé přes smyčky I by jste odeslali ještě jednu textovou zprávu, 572 00:25:06,190 --> 00:25:08,250 a pak ještě jeden textu zprávy, a ještě jedna. 573 00:25:08,250 --> 00:25:11,490 Ale ukazuje se, pokud uděláte překlep při programování, někdy 574 00:25:11,490 --> 00:25:14,460 mohou psát programy, které odesílají jeden textové zprávy, pak o dva textové zprávy, 575 00:25:14,460 --> 00:25:18,742 pak tři textové zprávy všem, kdo již obdrželi textovou zprávu. 576 00:25:18,742 --> 00:25:21,450 A jak víte, dělat něco, a něco, a něco, 577 00:25:21,450 --> 00:25:25,910 a něco, je velký O šarže textových zpráv, nebo n čtvercový, 578 00:25:25,910 --> 00:25:29,830 nebo $ 0,10 na textovou zprávu, $ 20,000. 579 00:25:29,830 --> 00:25:33,700 >> Naštěstí jsem narazila Control-C před tím se stalo, ale já jsem dlužím alespoň jednu 580 00:25:33,700 --> 00:25:37,550 z vašich předchůdců 20 dolarů za 200 některé podivné textové zprávy, které, 581 00:25:37,550 --> 00:25:40,450 ne jen šel do svého telefonu, ale Také to bylo jako starší Flip telefon 582 00:25:40,450 --> 00:25:43,520 tak to líbí vytlačeni ze svých Paměť každý druhý osobní textu 583 00:25:43,520 --> 00:25:45,930 Zpráva on měl vlastně dostal. 584 00:25:45,930 --> 00:25:49,250 Takže máme jeden cíl dnes, ne k tomu, že. 585 00:25:49,250 --> 00:25:50,620 Možná Zapnutí režimu V letadle. 586 00:25:50,620 --> 00:25:51,120 Dobře. 587 00:25:51,120 --> 00:25:56,590 Tak pojďme na A Program zde callled-- 588 00:25:56,590 --> 00:25:59,060 že budu říkat text, tečka PHP. 589 00:25:59,060 --> 00:26:01,074 A v předstihu, mám dva soubory zde. 590 00:26:01,074 --> 00:26:06,030 Udělal jsem soubor jen pro zaměstnance, který má všichni z personálu info, všechna jména 591 00:26:06,030 --> 00:26:07,260 z webových stránek Course. 592 00:26:07,260 --> 00:26:09,756 A pak teď jsem jen dát Některé falešné čísla 555-1212. 593 00:26:09,756 --> 00:26:11,380 Tak to by se ve skutečnosti nikam. 594 00:26:11,380 --> 00:26:15,140 Ale všimněte si vnitřek tohoto souboru CSV, který jsme mluvili o krátce před 595 00:26:15,140 --> 00:26:16,540 v kontextu souboru IO. 596 00:26:16,540 --> 00:26:18,730 >> Co je to CSV soubor? 597 00:26:18,730 --> 00:26:19,970 Oddělené čárkami proměnné. 598 00:26:19,970 --> 00:26:24,400 A to je něco jako velmi lehký databáze, chcete-li. 599 00:26:24,400 --> 00:26:28,650 Tam je druh jakési čtyři sloupce v tomto souboru, a tam zubaté, 600 00:26:28,650 --> 00:26:32,400 ale čárky podstatě představují sloupce v souboru. 601 00:26:32,400 --> 00:26:35,400 V prvním sloupci je TF nebo název CA. 602 00:26:35,400 --> 00:26:37,800 Druhý sloupec je jejich příjmení. 603 00:26:37,800 --> 00:26:39,820 Třetí sloupec je jejich telefonní číslo. 604 00:26:39,820 --> 00:26:44,760 A čtvrtý sloupec zřejmě je-- Čtvrtý sloupec je zřejmě to, co? 605 00:26:44,760 --> 00:26:45,870 OK, tak je to jejich nosič. 606 00:26:45,870 --> 00:26:47,180 Takže Verizon nebo Sprint, nebo co ne. 607 00:26:47,180 --> 00:26:48,620 A kdybych misspoke dříve, CSV. 608 00:26:48,620 --> 00:26:51,800 Oddělené čárkou hodnot je tady CSV. 609 00:26:51,800 --> 00:26:54,260 >> Tak co mám dělat s tím? 610 00:26:54,260 --> 00:26:56,940 No to je jen velký textový soubor, a je to docela dlouho, ne? 611 00:26:56,940 --> 00:26:58,690 Stejně jako to bude být trochu nepříjemné. 612 00:26:58,690 --> 00:27:03,510 A ukázalo se však, že když jsem chcete poslat textovou zprávu, pojďme 613 00:27:03,510 --> 00:27:05,180 říká Alex zde. 614 00:27:05,180 --> 00:27:09,690 Nech mě jít do svého prohlížeče a ukončit celoobrazovkový režim 615 00:27:09,690 --> 00:27:11,660 Jen tak mohu přepínat tam a zpět. 616 00:27:11,660 --> 00:27:20,280 Ukazuje se, podíváme se, jestli jsem jít tady, a přihlaste se do Gmailu, v pořádku. 617 00:27:20,280 --> 00:27:22,950 Nedívejte se v této části. 618 00:27:22,950 --> 00:27:23,880 Jen jsem se dostat do vidět. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 Samozřejmě, že může livestream stále vidět, co dělám. 621 00:27:28,800 --> 00:27:29,360 Dobře. 622 00:27:29,360 --> 00:27:31,850 >> Takže tady je právě Gmail s Účet John Harvardu. 623 00:27:31,850 --> 00:27:34,000 Takže pokud chci zaslat textová zpráva Alexovi, 624 00:27:34,000 --> 00:27:35,530 Mohu samozřejmě napsat novou zprávu. 625 00:27:35,530 --> 00:27:38,410 A ukázalo se, a já jsem zkouší to s Alexem předtím tady, 626 00:27:38,410 --> 00:27:42,260 takže můžete připojit určitou doménu jméno na telefonní čísla lidí, 627 00:27:42,260 --> 00:27:45,850 proto, že existuje ve světě věci volal SMS na e-mail brány. 628 00:27:45,850 --> 00:27:50,000 Což je ozdobný způsob, jak říkat všechny z nás, kteří mají mobilní telefony, které 629 00:27:50,000 --> 00:27:53,200 mají telefonní čísla, samozřejmě, tam pravděpodobně je pro vašeho operátora, 630 00:27:53,200 --> 00:27:56,840 určitá přípona podobně, při Vtext.com pro Verizon textové zprávy 631 00:27:56,840 --> 00:28:00,320 dot com, které můžete připojit k vašemu vlastní osobní telefonní číslo, a poté 632 00:28:00,320 --> 00:28:03,540 Vy nebo přátelé, nebo vaši rodiče mohou text, který v danou adresu. 633 00:28:03,540 --> 00:28:07,380 >> A Verizon má server, e-mail serverů, že po obdržení tohoto e-mailu, 634 00:28:07,380 --> 00:28:11,180 se dívá na numerické části a poté používá bez ohledu na speciální odvětví kouzlo 635 00:28:11,180 --> 00:28:14,540 mají skutečně poslat přes rozhlasové a televizní vysílání na konkrétní buňku 636 00:28:14,540 --> 00:28:15,040 telefon. 637 00:28:15,040 --> 00:28:18,030 Nyní je to pěkné, protože se mi nelíbí opravdu vědět, jak poslat textovou zprávu 638 00:28:18,030 --> 00:28:20,460 nebo psát kód, ale pro můj mobilní telefon, 639 00:28:20,460 --> 00:28:23,580 a vy byste mohli dělat přesně, že pro konečný projekt, ale teď všichni 640 00:28:23,580 --> 00:28:24,770 Mám, je můj laptop sem. 641 00:28:24,770 --> 00:28:29,830 Takže chci iterovat přes to CSV Soubor, linka, po řádku, po řádku, po řádku, 642 00:28:29,830 --> 00:28:35,160 chytit každý z telefonních čísel štábu, a jejich nosiče a programatically, 643 00:28:35,160 --> 00:28:39,770 zřetězit, to je, připojte telefon číslo s názvem příslušné domény 644 00:28:39,770 --> 00:28:40,820 a pak poslat e-mail. 645 00:28:40,820 --> 00:28:41,940 >> Tak to je hodně schodů. 646 00:28:41,940 --> 00:28:45,530 A hodně štěstí dělat to v C. Je to noční můra o situaci 647 00:28:45,530 --> 00:28:48,350 otevřít soubor, aby si ho přečetli linka, po řádku, po řádku, jak jste 648 00:28:48,350 --> 00:28:51,100 jsou vidět, nebo se může brzy vidět s problémem set pět, ne-li 649 00:28:51,100 --> 00:28:53,560 Problém set čtyři, a pak dynamicky zřetězit 650 00:28:53,560 --> 00:28:57,020 dva řetězce dohromady, protože v C, aby se dva řetězce a kombinovat je, 651 00:28:57,020 --> 00:29:00,900 Co děláte minimálně musíte udělat, s největší pravděpodobností? 652 00:29:00,900 --> 00:29:03,020 Musíte deklarovat více paměti, že jo? 653 00:29:03,020 --> 00:29:04,710 A zeptejte se, malloc, můžu mít více paměti? 654 00:29:04,710 --> 00:29:07,060 Tak jsem si dal polovina z toho tady, polovina tohoto sem. 655 00:29:07,060 --> 00:29:08,150 Je to tak mnoho kroků. 656 00:29:08,150 --> 00:29:10,310 A tím bodem jste ztratili Zájem o stupidní malé demo 657 00:29:10,310 --> 00:29:11,851 kde si telefon pípne každého. 658 00:29:11,851 --> 00:29:14,590 Pojďme udělat tento druh PHP styl, kterým jsme právě 659 00:29:14,590 --> 00:29:16,210 začít používat více, že kuchyňského dřezu. 660 00:29:16,210 --> 00:29:18,050 >> A myšlenky jsou v zásadě stejný, 661 00:29:18,050 --> 00:29:20,710 ale nemusíme se bát příliš hodně o tom nižší úrovni. 662 00:29:20,710 --> 00:29:22,950 Tak uvidíme, jak bych mohl jít asi dělá. 663 00:29:22,950 --> 00:29:26,664 A právě proto, že jsem ne opakovat chyby minulosti, 664 00:29:26,664 --> 00:29:28,330 Napsal jsem nějaké poznámky pro sebe zde. 665 00:29:28,330 --> 00:29:31,070 A uvidíme, jestli bych nás může chodit přes některé ze základních kroků, 666 00:29:31,070 --> 00:29:33,861 a pak pro dobro časům my budeme snad uřezal některé zatáčky na konci. 667 00:29:33,861 --> 00:29:38,007 Chystám se jít dál a dělat otevřený držák PHP začít tento soubor. 668 00:29:38,007 --> 00:29:39,590 A já jdu dál a to udělat. 669 00:29:39,590 --> 00:29:41,490 Popisovač souboru, jak budete brzy vidět, ve skutečnosti 670 00:29:41,490 --> 00:29:44,790 volá funkci nazvanou f otevřené. 671 00:29:44,790 --> 00:29:46,280 A pamatujte si to otevře soubor. 672 00:29:46,280 --> 00:29:48,800 A citát, konec citátu, r znamená co, znovu? 673 00:29:48,800 --> 00:29:49,800 Jen to otevřít pro čtení. 674 00:29:49,800 --> 00:29:51,210 Nyní v p sada pro jste to udělal. 675 00:29:51,210 --> 00:29:54,500 A rukojeť může být cokoliv, fu, bar, bas, jakýkoliv název proměnné. 676 00:29:54,500 --> 00:29:57,470 Ale obecně počítač vědec by zavolat otevřený soubor, 677 00:29:57,470 --> 00:30:00,962 dává vám popisovač souboru, něco, co se držet, abych tak řekl. 678 00:30:00,962 --> 00:30:02,670 Já jsem prostě jít dělat někteří kontrolu chyb. 679 00:30:02,670 --> 00:30:07,260 Takže pokud je rukojeť falešný, stejně jako v C, budu dělat něco podobného, 680 00:30:07,260 --> 00:30:09,545 nelze otevřít soubor, zpětné lomítko n. 681 00:30:09,545 --> 00:30:11,420 A pak jsem jsem prostě jít pokračovat a ukončit. 682 00:30:11,420 --> 00:30:14,340 A ukázalo se, v PHP, Nejsem uvnitř funkce. 683 00:30:14,340 --> 00:30:16,160 Není hlavní funkce zde. 684 00:30:16,160 --> 00:30:17,450 Tak jsem se nevracejí, samo o sobě. 685 00:30:17,450 --> 00:30:18,120 I ukončíte. 686 00:30:18,120 --> 00:30:19,619 Což je v podstatě totéž. 687 00:30:19,619 --> 00:30:22,510 A já jsem s ukončením pravděpodobně jedním y. 688 00:30:22,510 --> 00:30:24,220 Jeden prostě znamená chybu nějakého druhu. 689 00:30:24,220 --> 00:30:25,580 To je non-nula, takže je to chyba. 690 00:30:25,580 --> 00:30:30,220 >> Dobře, takže když jsem se teď tady v mém programu jsem otevřel soubor. 691 00:30:30,220 --> 00:30:34,250 Chystám se jít dopředu a prohlásit pole s názvem adresy, 692 00:30:34,250 --> 00:30:38,610 a C bych vědět Velikost pole předem, že jo? 693 00:30:38,610 --> 00:30:41,910 Nebo budu muset deklarovat to je ukazatel, a pak použít malloc. 694 00:30:41,910 --> 00:30:44,720 A pak pokaždé, když jsem si přečetl přes další řádku v souboru, 695 00:30:44,720 --> 00:30:46,620 Budu muset malloc více paměti, malloc více paměti. 696 00:30:46,620 --> 00:30:47,703 To je bolest v krku. 697 00:30:47,703 --> 00:30:50,950 A naštěstí, PHP a Ruby, a Python a JavaScript, oni 698 00:30:50,950 --> 00:30:53,880 poroste vaše pole automaticky za vás. 699 00:30:53,880 --> 00:30:54,830 Žádné další malloc. 700 00:30:54,830 --> 00:30:56,227 Žádné další správa paměti. 701 00:30:56,227 --> 00:30:57,560 Počítač se stará o to. 702 00:30:57,560 --> 00:31:00,330 Ale cena, kterou zaplatíte. 703 00:31:00,330 --> 00:31:01,350 Je to trochu pomalejší. 704 00:31:01,350 --> 00:31:03,190 A pro program, jako je tato nebudeme všímat. 705 00:31:03,190 --> 00:31:04,720 Budeme posílat 100 textových zpráv. 706 00:31:04,720 --> 00:31:06,136 Například nebude to cítit. 707 00:31:06,136 --> 00:31:08,430 Je to opravdu začne pouze na Ať už je váš jazyk volby 708 00:31:08,430 --> 00:31:11,490 když vaše data nebo vaše programy opravdu, opravdu značný, 709 00:31:11,490 --> 00:31:14,120 jak tomu bude v případě, spíše s naší webové věci bázi. 710 00:31:14,120 --> 00:31:15,450 >> Ale teď pojďme kupředu. 711 00:31:15,450 --> 00:31:20,120 I když se ukáže, je tu Funkce v C nazývá f dostat CSV. 712 00:31:20,120 --> 00:31:24,570 Soubor si CSV, že trvá popisovač souboru jako argument, 713 00:31:24,570 --> 00:31:28,810 a to pokračuje poté, řádek, podle řádek, po řádku, číst v řadě. 714 00:31:28,810 --> 00:31:30,964 Tak to prostě čte řádek textu ze souboru. 715 00:31:30,964 --> 00:31:34,130 Ale co je hezké o této funkci, to není jen mi ruce řádek textu. 716 00:31:34,130 --> 00:31:37,320 Zdá se, že pro tyto čárkami, a analyzuje linku. 717 00:31:37,320 --> 00:31:41,740 A analyzovat linku prostředky rozdělit že na určité hodnoty v tomto kontextu. 718 00:31:41,740 --> 00:31:45,510 >> Jinými slovy, znak dolaru řádek je proměnná, která je 719 00:31:45,510 --> 00:31:47,010 chystá dát mi spoustu indexů. 720 00:31:47,010 --> 00:31:49,635 To se děje, že je První sloupec v mém CSV. 721 00:31:49,635 --> 00:31:52,510 To bude druhý sloupec, toto bude třetí, 722 00:31:52,510 --> 00:31:53,968 a to bude čtvrtý. 723 00:31:53,968 --> 00:31:57,440 Vzhledem k tomu, odvolání, a Excelu ne spolupracovat v poslední době jsme to udělali, 724 00:31:57,440 --> 00:32:03,350 ale když jsem stáhnout personál dot CSV. 725 00:32:03,350 --> 00:32:04,940 Jejda, není možné přejmenovat. 726 00:32:04,940 --> 00:32:09,120 Kdybych stažení pracovníci ministerstva dopravy CSV, a zkuste otevřít ji, 727 00:32:09,120 --> 00:32:12,510 Už jsem registered-- Oh ani aktualizovat Excel od poslední návštěvy. 728 00:32:12,510 --> 00:32:15,880 Uvidíte, že v pracovníci ministerstva dopravy CSV, mám čtyři sloupce. 729 00:32:15,880 --> 00:32:18,720 Takže když jsem si přečetl v První řádek na Abby tady, 730 00:32:18,720 --> 00:32:23,582 znak dolaru řádek 0 Abby, znak dolaru řada z nich je Lyons, 731 00:32:23,582 --> 00:32:27,740 znak dolaru řádek dvou je její číslo, a pak nosič svého telefonu. 732 00:32:27,740 --> 00:32:28,410 >> Tak to je všechno. 733 00:32:28,410 --> 00:32:30,740 A to je hezké, protože já Nemusíte hned přijít na to, 734 00:32:30,740 --> 00:32:32,800 kde ve skutečnosti jsou všechny tyto čárkami. 735 00:32:32,800 --> 00:32:35,300 Takže budu pokračovat a to udělat, vzhledem k tomu, že definice, 736 00:32:35,300 --> 00:32:38,960 Budu říkat, že její jméno je v řádku konzole nula, jak jsem slíbil. 737 00:32:38,960 --> 00:32:41,150 A já jdu na grab-- a ve skutečnosti, víte co? 738 00:32:41,150 --> 00:32:42,780 Nebudu se bát její jméno, v tomto případě. 739 00:32:42,780 --> 00:32:43,988 Budu držet to jednodušší. 740 00:32:43,988 --> 00:32:48,610 Chystám se udělat její číslo je v řádku konzole dva, myslím. 741 00:32:48,610 --> 00:32:50,510 A její nosič byl kde? 742 00:32:50,510 --> 00:32:53,405 Řádek tři, jeden přes. 743 00:32:53,405 --> 00:32:54,280 Takže nic nového tam. 744 00:32:54,280 --> 00:32:56,770 Je to jen nula indexování do pole. 745 00:32:56,770 --> 00:32:58,760 >> A teď, budu dělat následující. 746 00:32:58,760 --> 00:33:03,930 V případě, že dopravce rovná rovná AT & T-- Já jsem prostě jít mít loop-- 747 00:33:03,930 --> 00:33:06,790 Chci vytvořit e-mail adresa, která vypadá takto. 748 00:33:06,790 --> 00:33:12,320 Je to bude 617-555-1212 na to, co se děje, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 je to, co chci dělat. 750 00:33:13,490 --> 00:33:15,260 Tak jak to mám udělat? 751 00:33:15,260 --> 00:33:16,730 Chystám se udělat následující. 752 00:33:16,730 --> 00:33:22,460 Její adresa bude její číslo, a teď, nech mě jít dopředu, a to udělat. 753 00:33:22,460 --> 00:33:23,760 To je nějaký funky syntax. 754 00:33:23,760 --> 00:33:27,250 Nemohl jsem udělat procent y trik, ale já si vlastně jen udělat. 755 00:33:27,250 --> 00:33:29,900 >> Takže tohle je PHP věc, ale uvažujme, co dělám. 756 00:33:29,900 --> 00:33:31,630 Dolarů podepsat adresu na levá, jen variabilní. 757 00:33:31,630 --> 00:33:32,300 Dej mi proměnnou. 758 00:33:32,300 --> 00:33:33,390 Nemám specifikovat typ. 759 00:33:33,390 --> 00:33:34,570 PHP se na to přijít. 760 00:33:34,570 --> 00:33:36,580 Na pravé straně, jaký je typ dat 761 00:33:36,580 --> 00:33:38,399 té celé věci na na pravé straně? 762 00:33:38,399 --> 00:33:40,190 Vypadá to jako řetězec, protože tam je dvojitý 763 00:33:40,190 --> 00:33:42,280 cituje na daleko odešel a krajní pravice. 764 00:33:42,280 --> 00:33:44,210 Teď tam je nějaký funky nová syntaxe zde. 765 00:33:44,210 --> 00:33:47,550 Tam je složené závorky, a číslo znak dolaru. 766 00:33:47,550 --> 00:33:52,860 Ale hádejte, co je to, že syntax Pravděpodobně říká PHP udělat pro mě? 767 00:33:52,860 --> 00:33:53,360 To jo. 768 00:33:53,360 --> 00:33:54,630 Stačí vložit hodnotu tam. 769 00:33:54,630 --> 00:33:55,530 Takže žádné procent s. 770 00:33:55,530 --> 00:33:58,160 Mohli bychom použít tisk f nebo S print f, nebo něco podobného, 771 00:33:58,160 --> 00:34:00,070 ale PHP a mnoho vyšší úrovně jazyky, 772 00:34:00,070 --> 00:34:03,070 budete vidět, že byste mohli dělají to samé funkčně, možná 773 00:34:03,070 --> 00:34:04,019 Šest různých způsobů. 774 00:34:04,019 --> 00:34:06,310 A tak to začíná být otázka designu nebo stylu. 775 00:34:06,310 --> 00:34:09,902 Tak to je jen mystický hledá způsob, říkat, dej mi e-mailovou adresu, 776 00:34:09,902 --> 00:34:12,110 ale plug-in číslem v Mezi těmito složenými závorkami. 777 00:34:12,110 --> 00:34:15,440 A složené závorky nebude skončí v konečném adresu. 778 00:34:15,440 --> 00:34:18,010 >> Nyní můžeme přeskočit některé Tyto linky pro kvůli časům. 779 00:34:18,010 --> 00:34:21,210 Takže v případě, že nosič se rovná rovná verHorizon-- Jejda, 780 00:34:21,210 --> 00:34:24,989 Verizon-- chci dělat něco velmi podobné, pokud adresa dostane, 781 00:34:24,989 --> 00:34:27,569 citát, konec citátu, Číslo na text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 A pak můžu dělat stejný druh věc pro zbytek nosičů. 784 00:34:35,050 --> 00:34:37,090 Ale budu dělat tečka, tečka, tečka nyní. 785 00:34:37,090 --> 00:34:43,050 A teď pojďme předpokládat, že Chci přidat pole, tlačit. 786 00:34:43,050 --> 00:34:45,969 Chci přidat do array, nazvaný adresy. 787 00:34:45,969 --> 00:34:50,409 >> Tato adresa, je to, jak vás přidat něco do pole v PHP. 788 00:34:50,409 --> 00:34:51,610 Nemusíte dělat malloc. 789 00:34:51,610 --> 00:34:53,068 Nemáte-li změnit velikost pole. 790 00:34:53,068 --> 00:34:54,259 Stačí říct pole, tlačit. 791 00:34:54,259 --> 00:34:57,300 Co chcete, aby to, co push-- pole chcete tlačit něco na? 792 00:34:57,300 --> 00:34:58,000 Adresy. 793 00:34:58,000 --> 00:34:59,550 Co chcete, aby se zasadila na adresy? 794 00:34:59,550 --> 00:35:00,350 Adresa. 795 00:35:00,350 --> 00:35:02,430 A ve skutečnosti, pokud jste opravdu chci být chytrý, 796 00:35:02,430 --> 00:35:05,610 některé syntaktický cukr pro to, abych tak řekl, 797 00:35:05,610 --> 00:35:10,230 což znamená jen, jak to můžete udělat v hezčí cesta, by se to udělat. 798 00:35:10,230 --> 00:35:14,060 To má také za následek rostoucí adresy pole podle velikosti jedna, 799 00:35:14,060 --> 00:35:17,130 a pak plop že dodatečné e-mailovou adresu do něj. 800 00:35:17,130 --> 00:35:17,630 To jo. 801 00:35:17,630 --> 00:35:19,730 >> Diváků: [Neslyšitelné] 802 00:35:19,730 --> 00:35:22,520 >> Reproduktor 1: překlep na jinak if-- oh, dopravce. 803 00:35:22,520 --> 00:35:23,070 To je v pohodě. 804 00:35:23,070 --> 00:35:26,971 To bude také neměl rád můj selhání realizovat část tohoto programu 805 00:35:26,971 --> 00:35:27,470 později. 806 00:35:27,470 --> 00:35:28,810 Ale děkuji vám za lov. 807 00:35:28,810 --> 00:35:30,671 Ještě jedna chyba. 808 00:35:30,671 --> 00:35:31,170 Děkuji. 809 00:35:31,170 --> 00:35:33,746 Chceme, aby se to být Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Ano. 811 00:35:34,340 --> 00:35:34,839 Dobře. 812 00:35:34,839 --> 00:35:36,330 Takže tam, kde to pro nás? 813 00:35:36,330 --> 00:35:38,224 Napsali jsme kód k otevření souboru. 814 00:35:38,224 --> 00:35:40,390 Máme smyčky iterovat přes řádky v souboru. 815 00:35:40,390 --> 00:35:43,650 Máme kód, který se přidá k mé pole, jeden po druhém se správně 816 00:35:43,650 --> 00:35:44,790 formátovaný e-mailovou adresu. 817 00:35:44,790 --> 00:35:48,480 Takže všechno, co opravdu zbývá jen poslat e-mail, aby každý z těchto lidí. 818 00:35:48,480 --> 00:35:52,830 >> Tak jsem šel dopředu a připravil jsem takto. 819 00:35:52,830 --> 00:35:59,580 Co budu dělat tady je-- a pojďme jděte do toho a přeskočit do určité skutečném kódu 820 00:35:59,580 --> 00:36:00,620 který vypadá takto. 821 00:36:00,620 --> 00:36:02,950 Takže tady je pre-pečené Verze jsem psal dříve. 822 00:36:02,950 --> 00:36:04,700 A všimněte si jsem dokončil provádění Sprint. 823 00:36:04,700 --> 00:36:06,130 Dokončil jsem se provádí T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Dokončil jsem se provádí Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 A já se předem omluvit. 826 00:36:09,622 --> 00:36:12,080 Je tu několik nosiče, které někteří studenti ve třídě mají 827 00:36:12,080 --> 00:36:14,640 že jsem se neobtěžoval výčtu v IF podmínka zde. 828 00:36:14,640 --> 00:36:16,015 Takže ne všechny texty zhasne. 829 00:36:16,015 --> 00:36:17,556 Ale pojďme se podívat, co ještě musím udělat. 830 00:36:17,556 --> 00:36:19,660 I zavřete soubor, jen jako v p set čtyři. 831 00:36:19,660 --> 00:36:20,835 >> A to je nová syntaxe. 832 00:36:20,835 --> 00:36:22,710 A uvidíme trochu bit z toho v průběhu času, 833 00:36:22,710 --> 00:36:24,450 zejména s p nastavit sedm a osm. 834 00:36:24,450 --> 00:36:28,140 Ale to je syntax pro vytváření speciální typ konstrukce. 835 00:36:28,140 --> 00:36:31,490 Ukazuje se, že je knihovna, která přichází s PHP, volal PHP Mailer. 836 00:36:31,490 --> 00:36:33,840 Jeho smyslem života je programově odesílat e-maily. 837 00:36:33,840 --> 00:36:36,840 Je to kód někdo jiný napsal, že usnadňuje nám posílat e-maily, 838 00:36:36,840 --> 00:36:39,131 takže nemusíte mít na tam a zpět do služby Gmail, 839 00:36:39,131 --> 00:36:41,151 a vložit do e-mailové adresy lidí. 840 00:36:41,151 --> 00:36:44,150 Je tu celá řada linek zde že upřímně, já to prostě zkopírovali 841 00:36:44,150 --> 00:36:45,660 a vložit z dokumentace. 842 00:36:45,660 --> 00:36:47,409 A ve skutečnosti, pokud jste zvědavý, jsem opustil všechny 843 00:36:47,409 --> 00:36:50,550 adresy URL dokumentace v kódu, který budeme psát později. 844 00:36:50,550 --> 00:36:52,360 A všimněte si, že mezi věci, které jsem dělám 845 00:36:52,360 --> 00:36:55,710 je, říkám tuto knihovnu, použití serveru Gmail, že jo? 846 00:36:55,710 --> 00:36:59,360 SMTP jsme hovořili krátce o Když jsme se se na Yale o tom, že Simple Mail 847 00:36:59,360 --> 00:37:00,110 předávací protokol. 848 00:37:00,110 --> 00:37:02,920 Je to protokol, který servery používané k odesílání e-mailů, 849 00:37:02,920 --> 00:37:05,150 a that's-- Gmail má jeden z nich. 850 00:37:05,150 --> 00:37:07,290 Port, to je číslo portu TCP. 851 00:37:07,290 --> 00:37:09,630 To je v pořádku, pokud vás Neviděl 587 předtím. 852 00:37:09,630 --> 00:37:11,420 Jen vím, že z dokumentace. 853 00:37:11,420 --> 00:37:12,250 Tady je moje uživatelské jméno. 854 00:37:12,250 --> 00:37:13,670 Budu používat CF50 bot. 855 00:37:13,670 --> 00:37:16,690 A ve chvíli, já jsem prostě jít zadejte do bota aktuální heslo. 856 00:37:16,690 --> 00:37:18,690 A pak tady dole si všimněte, co zůstane. 857 00:37:18,690 --> 00:37:22,840 >> Set jsem z adresy se BOT na CS50.net. 858 00:37:22,840 --> 00:37:26,240 Myslím, že nebudete litovat zasláním textová zpráva na 800 lidí, že 859 00:37:26,240 --> 00:37:30,590 říká, chybíš mi, lásko CS50 bot, možná pro ty, kteří nemohli dělat to dnes. 860 00:37:30,590 --> 00:37:33,160 A pak se v řádku 76, co mám dělat? 861 00:37:33,160 --> 00:37:39,010 Tento druh vypadá jako C. Takže i rovná 0, n equals-- nyní počítat je nového. 862 00:37:39,010 --> 00:37:42,077 Ukazuje se, že pokud chcete získat počet věcí, v poli, 863 00:37:42,077 --> 00:37:43,660 nemusíte pamatovat si to ještě. 864 00:37:43,660 --> 00:37:45,370 Stačí si jen položte Funkce tzv počet, 865 00:37:45,370 --> 00:37:48,320 a to vám řekne, kolik Adresy jsou v tomto poli. 866 00:37:48,320 --> 00:37:53,210 >> A pak budu přidat adresa, na e-mailu. 867 00:37:53,210 --> 00:37:55,090 A vím, že to od pomocí dokumentace. 868 00:37:55,090 --> 00:37:56,900 Je tu funkci add adresu. 869 00:37:56,900 --> 00:37:58,980 A teď tam všimnete je z jednoho kusu syntaxe. 870 00:37:58,980 --> 00:38:01,470 Viděli jsme to předtím v C. Podobně v duchu. 871 00:38:01,470 --> 00:38:04,100 Můžete myslet na znak dolaru mailem jako proměnná, kterou je. 872 00:38:04,100 --> 00:38:08,100 Ale je to struct uvnitř které jsou nejen vlastnosti, 873 00:38:08,100 --> 00:38:09,400 Proměnné chcete-li. 874 00:38:09,400 --> 00:38:13,480 Ale ukazuje se, že v PHP, což je objektově orientované programování 875 00:38:13,480 --> 00:38:16,520 jazyk, stejně jako Java, pokud jste se APC. 876 00:38:16,520 --> 00:38:21,420 >> Znak dolaru mailu, chcete-li to-- to také má funkci uvnitř ní, 877 00:38:21,420 --> 00:38:22,380 nebo metody. 878 00:38:22,380 --> 00:38:24,720 Takže to znamená, že speciální PHP Mailer 879 00:38:24,720 --> 00:38:29,280 knihovna, pokud mám proměnnou této smlouvy, když chci volat funkci, která 880 00:38:29,280 --> 00:38:31,559 Dodává se s této knihovně, pro dnešní účely, 881 00:38:31,559 --> 00:38:33,100 Jen vím, že jsi použít notaci se šipkou. 882 00:38:33,100 --> 00:38:34,150 Není tečka notace. 883 00:38:34,150 --> 00:38:35,220 Je to jen na šipku. 884 00:38:35,220 --> 00:38:36,380 Ale to není ukazatel. 885 00:38:36,380 --> 00:38:38,680 Je to jen půjčil od syntaxe C je. 886 00:38:38,680 --> 00:38:43,620 Tak zavolej přidat adresy uvnitř objekt nebo variabilní této knihovny. 887 00:38:43,620 --> 00:38:44,440 >> Dobře. 888 00:38:44,440 --> 00:38:45,570 Toto je magický řádek. 889 00:38:45,570 --> 00:38:46,740 Takhle bych poslat e-mail. 890 00:38:46,740 --> 00:38:50,040 To je ekvivalent otevírání Gmail, psát to, a bít odeslat. 891 00:38:50,040 --> 00:38:54,870 Ale bude to místo toho poslat e-mail na tuto adresu, se tohoto orgánu, 892 00:38:54,870 --> 00:38:57,120 od CS50 bot. 893 00:38:57,120 --> 00:38:58,710 A teď klíč řádek. 894 00:38:58,710 --> 00:39:03,130 Tato linka byla chybějící v podobné 2.011 Myslím si, že když jsem naposledy zkusil. 895 00:39:03,130 --> 00:39:05,640 Tam, že linka, samozřejmě, vymaže adresy. 896 00:39:05,640 --> 00:39:07,920 Takže logicky, pokud I nerušte adresu 897 00:39:07,920 --> 00:39:11,740 po každé iteraci, první e-mail nebo textovou zprávu přejde k Alici, 898 00:39:11,740 --> 00:39:14,320 druhý jde do Alice a Bob, třetí 899 00:39:14,320 --> 00:39:17,870 jde do Alice a Bob a Charlie, proto je velmi drahé chybu 900 00:39:17,870 --> 00:39:18,760 Udělal jsem ten rok. 901 00:39:18,760 --> 00:39:21,080 >> Takže pojďme se podívat. 902 00:39:21,080 --> 00:39:24,200 Jsou tam nějaké otázky předtím, než Vám zašleme celý text 903 00:39:24,200 --> 00:39:28,210 Zpráva s 10 procentní pravděpodobnost? 904 00:39:28,210 --> 00:39:28,940 Nějaké otázky? 905 00:39:28,940 --> 00:39:30,330 Dobře. 906 00:39:30,330 --> 00:39:36,100 Pojďme mě jít sem a změna heslo na to, co by měl fungovat, 907 00:39:36,100 --> 00:39:37,780 bude pravděpodobně dostat na černou listinu Gmail. 908 00:39:37,780 --> 00:39:39,821 Takže oni by nemohli jít všichni out, protože se pravděpodobně 909 00:39:39,821 --> 00:39:42,960 nemají rádi nás posílání e-mailů 800 ve smyčce for najednou. 910 00:39:42,960 --> 00:39:45,140 Vzhledem k tomu, že to není zejména lidské chování. 911 00:39:45,140 --> 00:39:47,460 >> Oh, budu měnit ještě jednu věc. 912 00:39:47,460 --> 00:39:50,850 Až na vrcholu, budu sent-- změnit soubor, aby studenti dot CSV. 913 00:39:50,850 --> 00:39:55,420 A já se neotevře, ale to je totožný CSV soubor s ne 100 zaměstnanci, 914 00:39:55,420 --> 00:39:58,970 ale 800 studentů, jen z Harvardu, protože Yale 915 00:39:58,970 --> 00:40:00,207 má vybrání října tento týden. 916 00:40:00,207 --> 00:40:03,290 A vypadá to, že druh trhnout věci udělat na text všechny z nich, proč 917 00:40:03,290 --> 00:40:04,750 že nejsou ve své třídě na dovolenou. 918 00:40:04,750 --> 00:40:05,250 To je v pohodě. 919 00:40:05,250 --> 00:40:08,310 Jen Harvard studenti dnes uvnitř tohoto souboru. 920 00:40:08,310 --> 00:40:12,320 A teď se vraťme k mému okně terminálu. 921 00:40:12,320 --> 00:40:13,710 Jsem trochu nervózní. 922 00:40:13,710 --> 00:40:22,000 >> OK, takže teď budu jít do adresáře, PHP a textu tečka PHP. 923 00:40:22,000 --> 00:40:24,950 Jak se o jednom statečném dobrovolník? 924 00:40:24,950 --> 00:40:26,690 Takže nechci to na mě. 925 00:40:26,690 --> 00:40:28,410 OK, pojď nahoru. 926 00:40:28,410 --> 00:40:29,162 Jak se jmenuješ? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 Reproduktor 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Pojď nahoru, Maya. 930 00:40:31,610 --> 00:40:34,120 Dobře. 931 00:40:34,120 --> 00:40:35,389 Uvidíme, jestli to funguje. 932 00:40:35,389 --> 00:40:38,430 Dal jsem své vlastní e-mailovou adresu v file-- své vlastní telefonní číslo v souboru, 933 00:40:38,430 --> 00:40:40,110 takže doufám, že budu mít jeden stejně. 934 00:40:40,110 --> 00:40:40,819 Rád tě poznávám. 935 00:40:40,819 --> 00:40:41,443 MAYA: Podobně. 936 00:40:41,443 --> 00:40:44,510 Reproduktor 1: Takže vše, co musíte udělat, je stiskněte Enter pro odeslání 800 textových zpráv, 937 00:40:44,510 --> 00:40:45,466 kdybych neměl mhouřit. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Nice. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Chvíli může trvat, statisticky, dokud se k e-mailu address-- 942 00:40:58,430 --> 00:41:00,573 textová zpráva, která je v místnosti právě teď. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Pojďme se lenošení a vidět. 945 00:41:05,390 --> 00:41:06,940 >> Diváků: [Whistling] 946 00:41:06,940 --> 00:41:08,270 >> Reproduktor 1: Oh, ano. 947 00:41:08,270 --> 00:41:09,230 >> Publikum: Oh, mám tě. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> SPEAKER 1: Pro smyčky are-- to není pomalý, protože PHP. 950 00:41:19,180 --> 00:41:21,810 Toto je pomalé, protože Gmail je škrticí nás a nikoli 951 00:41:21,810 --> 00:41:25,170 nechal nás poslat více než jako jeden e-mail za sekundu. 952 00:41:25,170 --> 00:41:26,300 Cokoliv? 953 00:41:26,300 --> 00:41:29,990 To bylo těžké něco pro mě vyzkoušet na domů se jen já a můj jednom telefonu, takže. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Je to snad od bot? 956 00:41:41,111 --> 00:41:41,610 Ano? 957 00:41:41,610 --> 00:41:42,110 Ne? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Říkat ano. 960 00:41:46,620 --> 00:41:47,479 Ne? 961 00:41:47,479 --> 00:41:49,374 Je to od kamaráda? 962 00:41:49,374 --> 00:41:49,874 Trapné. 963 00:41:49,874 --> 00:41:50,374 DOBŘE. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Docela jistý, že to funguje ačkoli. 966 00:42:00,090 --> 00:42:00,910 Uh oh. 967 00:42:00,910 --> 00:42:03,190 Oni black-- oh, počkej. 968 00:42:03,190 --> 00:42:04,280 Oh, víš co? 969 00:42:04,280 --> 00:42:06,100 Okamžik prosím. 970 00:42:06,100 --> 00:42:07,802 Jen to bylo Mayové a já-- Mia,? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 Reproduktor 1: Maya, budou Víš, co jsem udělal špatně. 973 00:42:12,110 --> 00:42:14,890 Oh, počkej chvilku. 974 00:42:14,890 --> 00:42:23,320 Myslím, že jsem poslal 100 textové zprávy do 555-1212. 975 00:42:23,320 --> 00:42:24,346 Připravit. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Nemohu vyhrát některý rok. 978 00:42:29,270 --> 00:42:30,180 DOBŘE. 979 00:42:30,180 --> 00:42:30,680 Maya? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Fix, že v post produkci. 982 00:42:36,219 --> 00:42:36,718 Sakra! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Podle adresu. 985 00:42:40,390 --> 00:42:41,301 OK, čekejte. 986 00:42:41,301 --> 00:42:41,800 Litovat. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Je to bolestivé každý rok. 989 00:42:47,080 --> 00:42:48,640 OK, jeden moment. 990 00:42:48,640 --> 00:42:50,530 To je dobré. 991 00:42:50,530 --> 00:42:54,010 Já místo toho bude, jak to udělat. 992 00:42:54,010 --> 00:42:55,470 Print adresa. 993 00:42:55,470 --> 00:42:56,030 OK, čekejte. 994 00:42:56,030 --> 00:43:01,340 Tisk adresy, držák i. 995 00:43:01,340 --> 00:43:02,710 Jo, líbí se mi to. 996 00:43:02,710 --> 00:43:10,220 Dolar sign-- OK budu vysvětlovat, co jsem si dělat ve chvíli, poté, co jsem běžet tohle. 997 00:43:10,220 --> 00:43:11,670 Každý rok. 998 00:43:11,670 --> 00:43:13,125 OK, jdeme na to. 999 00:43:13,125 --> 00:43:15,750 Mám jen--, a já nechci ukázat, telefonní číslo každého, 1000 00:43:15,750 --> 00:43:17,740 ale Maya může potvrdit s kývnutím hlavy, 1001 00:43:17,740 --> 00:43:20,800 že ona vidí každý je Telefonní číslo ve třídě 1002 00:43:20,800 --> 00:43:26,750 že budu kopírovat do program s názvem Gmail. 1003 00:43:26,750 --> 00:43:30,860 A pokud se v Gmailu, co chceme říct? 1004 00:43:30,860 --> 00:43:32,137 Chybíš mi. 1005 00:43:32,137 --> 00:43:33,220 Love-- to není ode mě. 1006 00:43:33,220 --> 00:43:35,230 Ještě jsem ani hit ještě poslat. 1007 00:43:35,230 --> 00:43:39,450 Tak pojďme do toho a dělat to, jestli můžu přiblížit. 1008 00:43:39,450 --> 00:43:40,300 DOBŘE. 1009 00:43:40,300 --> 00:43:42,480 Takže jsem pomocí program s názvem Gmail nyní. 1010 00:43:42,480 --> 00:43:44,490 Pokud Maya, byste chtěli klepněte na tlačítko Odeslat, 1011 00:43:44,490 --> 00:43:46,970 budeme simulovat, co to Kód by měl udělat. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Cokoliv? 1014 00:43:55,254 --> 00:43:56,062 >> [PÍPNUTÍ] 1015 00:43:56,062 --> 00:43:56,870 >> Diváků: Jo. 1016 00:43:56,870 --> 00:43:58,030 >> Reproduktor 1: Ano? 1017 00:43:58,030 --> 00:43:59,210 Spasení? 1018 00:43:59,210 --> 00:44:00,427 >> Diváků: Jo. 1019 00:44:00,427 --> 00:44:01,260 Reproduktor 1: Chybíš mi. 1020 00:44:01,260 --> 00:44:02,718 A já vyslat zbytek. 1021 00:44:02,718 --> 00:44:06,060 Poslal jsem pryč polovinu, protože jsem si nemyslel, že Gmail by ti, projít. 1022 00:44:06,060 --> 00:44:12,410 Takže stačí vzpomenout, dnes je den, že jste se dozvěděl, že mohu použít Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 To bylo děsivé. 1025 00:44:15,810 --> 00:44:17,140 Velký potlesk pro Maya. 1026 00:44:17,140 --> 00:44:18,980 Děkuji. 1027 00:44:18,980 --> 00:44:21,280 Dobře, takže. 1028 00:44:21,280 --> 00:44:22,210 Cože 1029 00:44:22,210 --> 00:44:23,140 >> [PÍPNUTÍ] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Máme několik pípnutí, ano? 1032 00:44:26,580 --> 00:44:27,080 Dobře. 1033 00:44:27,080 --> 00:44:30,590 Teď budu mít 700 opravdu nešťastné e-maily zpět od spolužáků. 1034 00:44:30,590 --> 00:44:32,400 Tak aspoň uvidíme, jestli to stálo za to. 1035 00:44:32,400 --> 00:44:33,300 Tak co se stalo? 1036 00:44:33,300 --> 00:44:35,300 Budu zjistit, co se po faktu špatně, 1037 00:44:35,300 --> 00:44:38,340 ale stačí se podívat, jak snadné to bylo k tomu, že v PHP. 1038 00:44:38,340 --> 00:44:44,598 Co tedy můžeme vlastně dělat teď, máme tuto expresivitu PHP. 1039 00:44:44,598 --> 00:44:45,970 To was-- to bylo hrozné. 1040 00:44:45,970 --> 00:44:46,480 Dobře. 1041 00:44:46,480 --> 00:44:48,430 Takže to bylo to, co by měla jít ven. 1042 00:44:48,430 --> 00:44:52,770 To bylo mi testování dnes ráno na mém telefon, aktuální obrazovky mého telefonu. 1043 00:44:52,770 --> 00:44:56,180 >> Ale teď pojďme zvážit, proč jsme vlastně zavádějí 1044 00:44:56,180 --> 00:44:57,840 všechny tyto věci na prvním místě. 1045 00:44:57,840 --> 00:45:01,625 Takže cílem není napsat tyto programy, které 1046 00:45:01,625 --> 00:45:03,250 jsou zapsány na příkazovém řádku, je to tak? 1047 00:45:03,250 --> 00:45:05,000 Tak jsem napsal jednoduchý ahoj programu, jsem napsal 1048 00:45:05,000 --> 00:45:09,155 malý program, který dělá podmiňovací, a použity pro čtení linky a tak dále. 1049 00:45:09,155 --> 00:45:11,530 A teoreticky, jen jsem psal program, který rozeslala 1050 00:45:11,530 --> 00:45:14,290 800 textových zpráv, plus mínus 800. 1051 00:45:14,290 --> 00:45:16,830 A tento program bylo všechno ještě běžet na příkazovém řádku. 1052 00:45:16,830 --> 00:45:18,538 A to je samozřejmě ne na internetu, že jo? 1053 00:45:18,538 --> 00:45:22,160 Cílem je nyní začít používat to, co tvrdím, je jednodušší použít 1054 00:45:22,160 --> 00:45:24,720 jazyk, Troufám si tvrdit více mocný jazyk, pokud jde 1055 00:45:24,720 --> 00:45:27,104 z funkcí, které přicházejí s ním, na začátek 1056 00:45:27,104 --> 00:45:29,850 psaní kódu, který generuje webové stránky. 1057 00:45:29,850 --> 00:45:33,248 >> Tak naposledy, a minulý týden, mluvili jsme o HTTP a HTML. 1058 00:45:33,248 --> 00:45:36,350 A co je hezké o HTML je to, že je to jen čistý text. 1059 00:45:36,350 --> 00:45:38,220 A text je jistě něco, co můžete 1060 00:45:38,220 --> 00:45:42,040 vytisknout doslova voláním tisk funkce f, nebo funkce tisku. 1061 00:45:42,040 --> 00:45:46,160 A opravdu, že to, co je PHP nyní bude, abychom mohli dělat. 1062 00:45:46,160 --> 00:45:48,610 Takže mezi příklady jsme mají v dnešní zdrojového kódu, 1063 00:45:48,610 --> 00:45:51,610 Kromě některých z kódu že jsem dal tam před chvílí, 1064 00:45:51,610 --> 00:45:55,440 máme programy, jako je to například. 1065 00:45:55,440 --> 00:45:58,760 Froshims, nebo nováček Intramurální Sports, byl vlastně 1066 00:45:58,760 --> 00:46:01,500 jeden z prvních extracurriculars Jsem se zapletl s lety. 1067 00:46:01,500 --> 00:46:03,750 A moje spolubydlící a já jsem s některé další děti na akademické půdě, 1068 00:46:03,750 --> 00:46:05,280 použitý ke spuštění programu froshims. 1069 00:46:05,280 --> 00:46:07,420 Začínám své textové zprávy nyní. 1070 00:46:07,420 --> 00:46:14,030 >> Nyní tak jsme, zpět v den, takže toto je 1996 nebo tak, tam byl internet, 1071 00:46:14,030 --> 00:46:17,395 ale nebylo tam process-- Nebylo webové stránky pro froshims. 1072 00:46:17,395 --> 00:46:20,270 A tak pokud byste chtěli zaregistrovat fotbal nebo volejbal, nebo cokoliv, 1073 00:46:20,270 --> 00:46:22,240 byste vyplnit tuto věc volal kus papíru, 1074 00:46:22,240 --> 00:46:25,060 a ty by pěšky přes Harvard dvůr, a vy byste ji posuňte 1075 00:46:25,060 --> 00:46:29,230 do poštovního drážky Proctor, který byl v Wigglesworth, jedné z kolejí. 1076 00:46:29,230 --> 00:46:31,270 A to byli ti registrovaná. 1077 00:46:31,270 --> 00:46:33,570 A on nebo ona by pak sestavit e-mail na vás 1078 00:46:33,570 --> 00:46:36,514 manuálně, stejně jako já právě tady udělal s Maya, 1079 00:46:36,514 --> 00:46:38,930 a pak byste být potvrzena jak mít been registrován. 1080 00:46:38,930 --> 00:46:40,840 >> Takže to bylo jako nízká visící ovoce, abych tak řekl. 1081 00:46:40,840 --> 00:46:42,930 Bylo to trochu hloupé, že jsme používali papír za to. 1082 00:46:42,930 --> 00:46:45,024 Chtěl jsem, abychom byli schopni prostě jít na internetových stránkách, 1083 00:46:45,024 --> 00:46:47,440 nebo mají bažanti Vydejte se na webové stránky, zaregistrujte se na sport, 1084 00:46:47,440 --> 00:46:50,398 a jen automatizovat hodně tyhle věci tím, že jejich jména a e-maily 1085 00:46:50,398 --> 00:46:51,850 a tak dále do databáze. 1086 00:46:51,850 --> 00:46:56,510 A ve skutečnosti, že úplně první verze webových stránek, pomocí výborný ošklivý HTML, 1087 00:46:56,510 --> 00:46:58,195 Možná se podíval něco takového. 1088 00:46:58,195 --> 00:47:01,070 Bylo to vlastně, ironicky, více trapné hledá než tento zádech 1089 00:47:01,070 --> 00:47:01,460 dále pak. 1090 00:47:01,460 --> 00:47:02,890 Ale já jsem použil programovací jazyk. 1091 00:47:02,890 --> 00:47:06,060 Ne PHP, ale spíše s názvem Perl, což je starší jazyk, 1092 00:47:06,060 --> 00:47:07,251 ale velmi podobný v duchu. 1093 00:47:07,251 --> 00:47:09,000 A já prostě úplně učil to pro sebe. 1094 00:47:09,000 --> 00:47:12,208 A to mi chvíli trvalo, než se přijít na to, žádá spoustu otázek přátel. 1095 00:47:12,208 --> 00:47:14,080 Ale tam myšlenky byly přesně stejné. 1096 00:47:14,080 --> 00:47:18,050 Protože to, co PHP byl vlastně určen pro není příkazový řádek věci 1097 00:47:18,050 --> 00:47:20,450 jsme právě hráli s, ale pro webové programování. 1098 00:47:20,450 --> 00:47:24,960 >> Je to opravdu vázána v jeho funkci nastavena na web, takto. 1099 00:47:24,960 --> 00:47:26,370 To je froshims. 1100 00:47:26,370 --> 00:47:28,720 A když jsem chtěl registrovat v této podobě, 1101 00:47:28,720 --> 00:47:30,930 je to docela ošklivý, jistě, ale nech mě jít napřed 1102 00:47:30,930 --> 00:47:34,440 a být méně pohodlné student, a bez ohledu na sport pro Matthews, 1103 00:47:34,440 --> 00:47:35,630 klepněte na tlačítko Registrovat. 1104 00:47:35,630 --> 00:47:39,780 Co chci, aby bylo možné udělat, je předkládat informace z formuláře, 1105 00:47:39,780 --> 00:47:42,400 Není k serveru Google, jako je jsme minule, zcela 1106 00:47:42,400 --> 00:47:47,100 podvádění pomocí jejich backend, já chtějí zavést vlastní backend kód. 1107 00:47:47,100 --> 00:47:51,410 Což znamená, že psát PHP kód, který žije na adresu URL 1108 00:47:51,410 --> 00:47:54,180 že mohou být data formuláře předloženy. 1109 00:47:54,180 --> 00:47:57,510 >> A pak se váš kód, napsaný v PHP na serveru, 1110 00:47:57,510 --> 00:47:59,400 pak může reagovat na tento vstup uživatele. 1111 00:47:59,400 --> 00:48:03,287 Stejně jako jeho nebo její jméno, nebo komfortu, nebo koleji, a pak udělat něco s ním. 1112 00:48:03,287 --> 00:48:05,120 V tomto případě jsem pouze blbě vytiskli 1113 00:48:05,120 --> 00:48:06,750 jako text, který není tak docela. 1114 00:48:06,750 --> 00:48:09,590 Ale můžete jistě Představte si, že pokud víte, HTML, 1115 00:48:09,590 --> 00:48:13,010 a budete brzy vědět, jak generovat HTML s potiskem, f, a tisk, 1116 00:48:13,010 --> 00:48:16,500 a podobné funkce, můžete samozřejmě generovat hezčí webovou stránku, která říká, 1117 00:48:16,500 --> 00:48:17,929 hej Davide, ty jsou nyní registrovány. 1118 00:48:17,929 --> 00:48:20,220 Jsi méně pohodlné studentka z Matthews, že jo? 1119 00:48:20,220 --> 00:48:23,880 >> Stačí si jen použít spoustu% SES, nebo složené závorky a znak dolaru 1120 00:48:23,880 --> 00:48:27,750 notace Použil jsem před chvílí, aby generovat text, který je více uživatelsky přívětivé 1121 00:48:27,750 --> 00:48:28,567 než tohle. 1122 00:48:28,567 --> 00:48:30,150 Takže pojďme se podívat na tomto jednom souboru. 1123 00:48:30,150 --> 00:48:34,666 Froshim nula tečka PHP vypadá takto. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Když jsem se znovu načíst CS50 IDE, froshim nula vypadá takto. 1126 00:48:43,500 --> 00:48:45,700 To je froshim nula dot PHP. 1127 00:48:45,700 --> 00:48:47,730 A co jste si o tomto souboru? 1128 00:48:47,730 --> 00:48:49,506 >> Diváků: [Neslyšitelné] 1129 00:48:49,506 --> 00:48:50,922 Reproduktor 1: Promiň, trochu hlasitěji? 1130 00:48:50,922 --> 00:48:53,250 Diváků: [Neslyšitelné] Je to všechno v HTML. 1131 00:48:53,250 --> 00:48:57,130 A ve skutečnosti, že je, protože co je zajímavé o PHP 1132 00:48:57,130 --> 00:48:58,880 je to, že byla navržena být, pro lepší 1133 00:48:58,880 --> 00:49:02,110 nebo horší, smíchali s HTML kódem. 1134 00:49:02,110 --> 00:49:05,850 A ve skutečnosti, i když to Soubor, froshim nulovou dot PHP, 1135 00:49:05,850 --> 00:49:11,470 má PHP komentář nahoře o tom, že je to všechno jen HTML. 1136 00:49:11,470 --> 00:49:17,655 Ale naopak, když jsem otevřít, pojďme řekněme, registrujte nula bodů PHP, který 1137 00:49:17,655 --> 00:49:19,550 Jen má velkou komentář v horní části. 1138 00:49:19,550 --> 00:49:26,500 I to vypadá skoro úplně jako je HTML, s výjimkou co? 1139 00:49:26,500 --> 00:49:29,350 Line, co, 21 vypadá trochu divně. 1140 00:49:29,350 --> 00:49:32,739 >> Ale já jsem si všimnout do režimu PHP s otevřeným držákem otazníku PHP. 1141 00:49:32,739 --> 00:49:33,780 Pak mám nějaké věci. 1142 00:49:33,780 --> 00:49:36,724 A pak na konci tohoto řádku Málem jsem se, otazník PHP. 1143 00:49:36,724 --> 00:49:38,390 A to je to, co mám na mysli promíchaly. 1144 00:49:38,390 --> 00:49:41,910 Můžete napsat kód HTML, který jste právě chcete, aby server vyplivnout. 1145 00:49:41,910 --> 00:49:45,090 Ale pokud chcete udělat něco dynamický někde uprostřed stránky, 1146 00:49:45,090 --> 00:49:47,699 jako vložka moje jméno, nebo koleji nebo úroveň pohodlí, 1147 00:49:47,699 --> 00:49:49,490 Mohu použít funkci jako tisku R, což je 1148 00:49:49,490 --> 00:49:52,492 tisknout rekurzivní, což znamená jen vytisknout tuto proměnnou, formátování ji 1149 00:49:52,492 --> 00:49:53,200 však budete chtít. 1150 00:49:53,200 --> 00:49:55,880 Je to opravdu není pro lidských účely, je to jen 1151 00:49:55,880 --> 00:49:58,290 pro ladění nebo diagnostické účely. 1152 00:49:58,290 --> 00:49:59,460 Tak to je, jak jsem to udělal. 1153 00:49:59,460 --> 00:50:06,100 >> Kdybych místo toho jít froshims dvou tečka PHP, Všimněte si, že akce tohoto formuláře 1154 00:50:06,100 --> 00:50:09,680 není zaregistrován nulové dot PHP jako old-- ten předchozí vlastně byl. 1155 00:50:09,680 --> 00:50:11,222 Ale je to zaregistrováno dvě dot PHP. 1156 00:50:11,222 --> 00:50:13,680 Takže pojďme se podívat, jak tento se chová trochu jinak. 1157 00:50:13,680 --> 00:50:15,140 Pokud bych jít do verze dvě. 1158 00:50:15,140 --> 00:50:20,430 Pokud je tady, když jsem se zaregistrovat jako David, méně komfortní, z koleji of Mathews, 1159 00:50:20,430 --> 00:50:21,480 registrovat. 1160 00:50:21,480 --> 00:50:23,770 Takže tentokrát to říkal, vy jsou registrovány, opravdu ne. 1161 00:50:23,770 --> 00:50:25,370 Podívejme se, co jsem tady udělal. 1162 00:50:25,370 --> 00:50:29,760 Když se podívám na rejstříku dvou dot PHP, to má trochu PHP kód. 1163 00:50:29,760 --> 00:50:35,410 Je to trochu čistší, i když to Stále zábaly poněkud delší na této trati. 1164 00:50:35,410 --> 00:50:36,260 Všimněte si, sem. 1165 00:50:36,260 --> 00:50:40,300 Jsem vytisknout můj HTML tag, moje hlava tag, můj název značky, hlava, tělo. 1166 00:50:40,300 --> 00:50:45,410 >> A pak jsem začít říkat věci, jako je vstup do režimu PHP. 1167 00:50:45,410 --> 00:50:48,540 A tak, že záznam, otevřete držák PHP-- otazník PHP říká, 1168 00:50:48,540 --> 00:50:53,460 hej, server, execute-- interpretovat následující věci jako PHP 1169 00:50:53,460 --> 00:50:55,030 až uvidíte koncový tag. 1170 00:50:55,030 --> 00:50:58,590 A i když možná nevíte některý jiné PHP, než jste doposud viděli, 1171 00:50:58,590 --> 00:51:01,290 si můžete přečíst druh to docela intuitivně. 1172 00:51:01,290 --> 00:51:10,670 Je-li název je prázdný, nebo je pohodlí prázdný, nebo koleji je prázdná, co mám dělat? 1173 00:51:10,670 --> 00:51:12,830 Co mám říci uživateli? 1174 00:51:12,830 --> 00:51:15,330 Musíte zadat své jméno, pohodlí, a kolej, a tak dále. 1175 00:51:15,330 --> 00:51:17,750 Jinak jsem říct, že jste registrovaný, no ne tak docela. 1176 00:51:17,750 --> 00:51:19,190 >> A já říkám, opravdu protože tam žádná databáze. 1177 00:51:19,190 --> 00:51:20,200 Nedělám nic s daty. 1178 00:51:20,200 --> 00:51:22,408 Já jsem jen házet to pryč pro účely demonstrace. 1179 00:51:22,408 --> 00:51:24,320 Teď jsem trochu šetřil po lince 22. 1180 00:51:24,320 --> 00:51:26,400 Je tu více syntax tam, ale znak dolaru 1181 00:51:26,400 --> 00:51:28,320 zdůrazňují příspěvek je docela zajímavé. 1182 00:51:28,320 --> 00:51:30,300 A to je to, co je hezké o PHP. 1183 00:51:30,300 --> 00:51:35,610 V PHP, máte, co se nazývá několik flash globální proměnné. 1184 00:51:35,610 --> 00:51:38,430 Jsou nějak ještě více Důležitější než globální proměnné. 1185 00:51:38,430 --> 00:51:41,370 A ti, všechno kapitalizovaný jako takový, přicházejí s PHP. 1186 00:51:41,370 --> 00:51:44,550 Takže pokud máte server, který má instalován webový server, jako je Apache, 1187 00:51:44,550 --> 00:51:49,390 a nainstalovat jazyk podpora pro PHP, najednou máte 1188 00:51:49,390 --> 00:51:52,250 můžete začít používat tyto super- globální proměnné v kódu. 1189 00:51:52,250 --> 00:51:54,330 >> A co je hezké o PHP je, že pokud jste právě 1190 00:51:54,330 --> 00:51:57,540 napsat soubor, který končí v dot PHP, dát to na webovém serveru, 1191 00:51:57,540 --> 00:52:01,260 a pak odeslání formuláře na to prostřednictvím této akce tagu a tag formuláře 1192 00:52:01,260 --> 00:52:05,110 že činnost atribut v forma tag, PHP a web 1193 00:52:05,110 --> 00:52:09,360 zcela vyřeší, jak se chytit Ze všech těchto párů klíčových hodnot out 1194 00:52:09,360 --> 00:52:11,633 URL, jako je otázka mark q rovná kočky, 1195 00:52:11,633 --> 00:52:14,782 to bude zjistit, jak q a kočky. 1196 00:52:14,782 --> 00:52:17,710 Pokud odeslat fotografii, nebo uživatelské jméno, nebo heslo, jako je Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP se přijít na to, pro vás kde všichni, že data jsou. 1198 00:52:21,360 --> 00:52:23,821 A to bude jen ruce jste asociativní pole 1199 00:52:23,821 --> 00:52:27,560 volal znak dolaru podtržítko příspěvek, nebo znak dolaru podtržítko dostat, 1200 00:52:27,560 --> 00:52:30,590 V závislosti na tom, zda jste pomocí GET nebo POST podání. 1201 00:52:30,590 --> 00:52:32,950 A to bude jen ruce vás super globální proměnné, 1202 00:52:32,950 --> 00:52:37,254 takže pokud se chcete dostat na jméno že uživatel předložen prostřednictvím této webové 1203 00:52:37,254 --> 00:52:41,894 formulář, jste doslova jen říct jméno ze super globální proměnné, cituji, 1204 00:52:41,894 --> 00:52:43,380 konec citátu, jméno. 1205 00:52:43,380 --> 00:52:46,144 A citát, konec citátu pohodlí, a citovat, konec citátu koleji. 1206 00:52:46,144 --> 00:52:48,810 A budeme mít možnost dělat toto a ještě mnohem více s PHP. 1207 00:52:48,810 --> 00:52:50,540 A i když to bylo vichřice pohled na to, 1208 00:52:50,540 --> 00:52:51,980 budeme ponořit do mnohem příští týden. 1209 00:52:51,980 --> 00:52:54,247 Budeme zavést databázi takže jste vlastně 1210 00:52:54,247 --> 00:52:56,816 chystá začít provádět vlastní e-obchod based-- 1211 00:52:56,816 --> 00:52:59,150 stejně jako webové stránky v několika týden času. 1212 00:52:59,150 --> 00:53:02,750 Tak jsme se uvidíme příště, a doufám, že máš na textové zprávy. 1213 00:53:02,750 --> 00:53:05,450 Mějte se. 1214 00:53:05,450 --> 00:53:06,950 >> [Přehrávání hudby] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [Otevírání dveří] 1217 00:53:12,950 --> 00:53:14,475 >> SPEAKER 2: Ahoj. 1218 00:53:14,475 --> 00:53:15,350 SPEAKER 3: Co se děje? 1219 00:53:15,350 --> 00:53:17,750 SPEAKER 2: Co to děláš? 1220 00:53:17,750 --> 00:53:19,850 SPEAKER 3: Práce na problém sadě. 1221 00:53:19,850 --> 00:53:21,050 SPEAKER 2: Nice. 1222 00:53:21,050 --> 00:53:22,550 Plácnutí. 1223 00:53:22,550 --> 00:53:23,150 >> [PLÁCNUTÍ] 1224 00:53:23,150 --> 00:53:25,584 >> Co are-- uh, co tady děláš? 1225 00:53:25,584 --> 00:53:26,750 SPEAKER 3: jen visí ven. 1226 00:53:26,750 --> 00:53:28,134 Právě jsem se vrátil z posilovny. 1227 00:53:28,134 --> 00:53:30,050 Nemohl jsem si pomoct, ale Všimněte si, když jsme high-fived, 1228 00:53:30,050 --> 00:53:32,450 že máte docela drsné ruce. 1229 00:53:32,450 --> 00:53:33,950 Myslíte si, jít do posilovny? 1230 00:53:33,950 --> 00:53:35,150 >> SPEAKER 2: Ne. 1231 00:53:35,150 --> 00:53:36,650 Ne. 1232 00:53:36,650 --> 00:53:38,450 >> SPEAKER 3: Ty vole, vypadáš dost velký. 1233 00:53:38,450 --> 00:53:45,950 Což je špatné, protože každý ví, 8-ball je velký muž na akademické půdě. 1234 00:53:45,950 --> 00:53:48,050 Plácnutí. 1235 00:53:48,050 --> 00:53:49,550 >> SPEAKER 2: Uh, ne. 1236 00:53:49,550 --> 00:53:50,450 Ne, myslím, že jsem dobrý. 1237 00:53:50,450 --> 00:53:52,300 Myslím, že jsem dobrý. 1238 00:53:52,300 --> 00:53:54,097