1 00:00:00,000 --> 00:00:04,410 >> [Glazbom] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> SPEAKER 1: Ovo je CS50 i to je kraj tjedna sedam. 4 00:00:15,770 --> 00:00:20,240 Danas je možda gdje smo stvarno učim jezika. 5 00:00:20,240 --> 00:00:24,100 Uveli smo u posljednjih nekoliko tjedana HTML i CSS, od kojih ni 6 00:00:24,100 --> 00:00:25,240 su programski jezici. 7 00:00:25,240 --> 00:00:28,600 I doista, nije iako smo učinili pogledajte gotovo sve oznake 8 00:00:28,600 --> 00:00:33,410 koji dolazi s HTML i gotovo svi od svojstava koje CSS dolazi s, 9 00:00:33,410 --> 00:00:35,007 to je vrsta to za HTML i CSS. 10 00:00:35,007 --> 00:00:36,840 Samo ćemo se općenito započeti pretpostavkom da vas 11 00:00:36,840 --> 00:00:39,545 razumjeti opće ideje oznaka i atributa, 12 00:00:39,545 --> 00:00:41,850 a stranice se šalje od klijenta do poslužitelja. 13 00:00:41,850 --> 00:00:45,280 >> Budući da smo danas početi gledati na drugi programski jezik, PHP. 14 00:00:45,280 --> 00:00:47,110 Mi ćemo učiniti super brzo. 15 00:00:47,110 --> 00:00:50,910 Nećemo vas naučiti PHP po sebi, baš kao što nije težiti da vas naučiti 16 00:00:50,910 --> 00:00:52,670 C, sami po sebi, nego programiranje. 17 00:00:52,670 --> 00:00:55,088 I doista, jedan od Ciljevi za ovaj tečaj 18 00:00:55,088 --> 00:00:57,820 nije vas naučiti C, ili HTML, CSS, ili, ili PHP, 19 00:00:57,820 --> 00:01:00,370 ili bilo kojom drugom krilaticama ili akronimi, 20 00:01:00,370 --> 00:01:03,097 nego u računalnoj znanosti i kako programirati temelja. 21 00:01:03,097 --> 00:01:05,930 I doista, danas početi da se ti trening kotači off sve 22 00:01:05,930 --> 00:01:10,600 dalje leti kroz jezik zove PHP, kao što slijedi. 23 00:01:10,600 --> 00:01:13,640 >> Evo što taj jezik izgleda. 24 00:01:13,640 --> 00:01:17,790 Ispada da nema potrebe za glavni funkcija u programu zapisano 25 00:01:17,790 --> 00:01:19,470 na jeziku zove PHP. 26 00:01:19,470 --> 00:01:22,585 Tako da već zvuči malo jednostavnije od C, s kojima smo upoznati. 27 00:01:22,585 --> 00:01:25,370 Ispada da ako žele proglasiti varijablu, 28 00:01:25,370 --> 00:01:29,470 to učiniti gotovo identično C. No, postoji jedna razlika ovdje očito 29 00:01:29,470 --> 00:01:31,850 kad kažem niz, ili možda dva razlike. 30 00:01:31,850 --> 00:01:32,725 Ono što izgleda drugačije? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> PUBLIKA: Dolar znak. 33 00:01:37,160 --> 00:01:39,951 >> SPEAKER 1: Da, tu je dolar potpisati, što nikada prije niste vidjeli. 34 00:01:39,951 --> 00:01:41,451 A što nedostaje? 35 00:01:41,451 --> 00:01:41,950 Da? 36 00:01:41,950 --> 00:01:42,820 >> PUBLIKA: [nečujan] 37 00:01:42,820 --> 00:01:44,403 >> SPEAKER 1: Da, nema tip podataka. 38 00:01:44,403 --> 00:01:48,410 Tako ispada da je PHP je ono što mi nazovite labavo upisali jezika, gdje 39 00:01:48,410 --> 00:01:49,959 C snažno upisali. 40 00:01:49,959 --> 00:01:52,500 Labavo upisali samo znači da postoje različite vrste podataka, 41 00:01:52,500 --> 00:01:54,470 postoje žice i Ints i pluta. 42 00:01:54,470 --> 00:01:56,330 Ali računalo figure koje van. 43 00:01:56,330 --> 00:01:58,664 Ti ljudski programer ne moraju to shvatiti. 44 00:01:58,664 --> 00:02:00,580 Dakle, sve što morate učiniti proglasiti varijabla je 45 00:02:00,580 --> 00:02:03,220 dolar znak, naziv svoje varijabilna, a zatim, na primjer, 46 00:02:03,220 --> 00:02:04,760 citat citat, Hello World. 47 00:02:04,760 --> 00:02:07,662 >> Pa to je ono što stanje izgleda u PHP-u. 48 00:02:07,662 --> 00:02:08,328 Sve razlike? 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 Tako ispada to su identični. 52 00:02:12,540 --> 00:02:14,665 A možda ima manje grane ili više grana, 53 00:02:14,665 --> 00:02:16,557 ali sintaksa skretanja točno isto. 54 00:02:16,557 --> 00:02:18,390 Boolean izrazi mogu se naručiti zajedno. 55 00:02:18,390 --> 00:02:20,400 Boolean izraza može anded zajedno. 56 00:02:20,400 --> 00:02:21,430 Vi još uvijek imate prekidače. 57 00:02:21,430 --> 00:02:23,790 Čak i ako niste koristili to, to ne postoji u C 58 00:02:23,790 --> 00:02:26,020 i oni su funkcionalno protuvrijednost u PHP-u. 59 00:02:26,020 --> 00:02:28,260 >> A u stvari, u PHP oni malo više moćna. 60 00:02:28,260 --> 00:02:32,540 U C, možete samo usporediti sigurno vrste podataka poput Ints i znakova, 61 00:02:32,540 --> 00:02:36,320 dok je u PHP zapravo možete usporediti puni perje žice bez potrebe 62 00:02:36,320 --> 00:02:38,460 brinuti o upućuje i slično. 63 00:02:38,460 --> 00:02:39,430 Dakle, ovdje je za petlju. 64 00:02:39,430 --> 00:02:41,270 Ovo je samo pseudokod kod, ako hoćete. 65 00:02:41,270 --> 00:02:43,400 No, to je strukturno identični C 66 00:02:43,400 --> 00:02:47,520 >> Evo while petlja, pseudokod therefore-- identičan C 67 00:02:47,520 --> 00:02:49,390 Evo učiniti dok loop-- identični. 68 00:02:49,390 --> 00:02:51,390 I tako je vrsta ovaj uzorak ovdje gdje 69 00:02:51,390 --> 00:02:54,400 postoji nekoliko drugih sintaktičkih Značajke mi doista ide vidjeti. 70 00:02:54,400 --> 00:02:57,340 U stvari, ovdje je lijepo Način na PHP kojoj, 71 00:02:57,340 --> 00:02:59,350 Ako želite ponoviti preko polja, a vi 72 00:02:59,350 --> 00:03:02,309 ne želim skakati kroz mentalne i sintaktičke obruči vlasništvo 73 00:03:02,309 --> 00:03:05,178 int i = 0, i manje od n, i plus plus-- koji 74 00:03:05,178 --> 00:03:07,040 je samo puno dosadnih sintakse. 75 00:03:07,040 --> 00:03:10,654 Možete reći nešto više fluidno za svaku brojeva 76 00:03:10,654 --> 00:03:13,320 kao broj, gdje u ovom slučaju znak za dolar brojeve, ja sam uz pretpostavku, 77 00:03:13,320 --> 00:03:15,400 je kao niz naziva brojeva. 78 00:03:15,400 --> 00:03:18,810 A onda sam uz pretpostavku broj, jednini, će biti promjenjiva. 79 00:03:18,810 --> 00:03:22,940 >> A što PHP će učiniti za mene kao što sam ponoviti tijekom ove petlje je, na svakoj iteraciji, 80 00:03:22,940 --> 00:03:28,450 to će ažurirati varijablu broj na biti element ith u brojkama, množini. 81 00:03:28,450 --> 00:03:30,060 Dakle, to je samo obrađuje sve to za mene. 82 00:03:30,060 --> 00:03:32,750 Nema uglatim zagradama, nema Dolar znak, ne točka-zarezom. 83 00:03:32,750 --> 00:03:34,117 To je samo malo jednostavnije. 84 00:03:34,117 --> 00:03:35,950 Pa, ako želite da se polje, ispada ti 85 00:03:35,950 --> 00:03:38,908 može učiniti nešto prilično slično C. Sintaksa je malo drugačija. 86 00:03:38,908 --> 00:03:41,000 No, ovdje je niz naziva Dolar potpisao brojeve. 87 00:03:41,000 --> 00:03:44,261 I ja koristiti, u PHP, trg zagrade, ispada. 88 00:03:44,261 --> 00:03:47,260 A mi ćemo se opet vidjeti te u JavaScript-- još jedan jezik. 89 00:03:47,260 --> 00:03:49,968 Ja samo koristiti uglata zagrada zapis imati zarezom odvojen popis 90 00:03:49,968 --> 00:03:51,530 integers, u ovom slučaju. 91 00:03:51,530 --> 00:03:53,010 No, to mi daje niz. 92 00:03:53,010 --> 00:03:56,270 >> No, još snažniji u PHP, imamo i ono što su općenito 93 00:03:56,270 --> 00:03:57,640 zove asocijativne polja. 94 00:03:57,640 --> 00:03:59,540 I puno jezika ima tih kao dobro. 95 00:03:59,540 --> 00:04:03,810 Stvar o C polja da su indeksi 96 00:04:03,810 --> 00:04:06,940 za niz, ono što vas koristiti u uglatim zagradama preko kojih 97 00:04:06,940 --> 00:04:08,600 pristup elemenata, moraju biti što? 98 00:04:08,600 --> 00:04:10,620 >> PUBLIKA: [nečujan] 99 00:04:10,620 --> 00:04:14,220 >> SPEAKER 1: Oni moraju biti brojevi ili cijeli brojevi, posebno od nule na gore. 100 00:04:14,220 --> 00:04:17,140 Pa, u PHP-u, te ispada van, na drugim jezicima, 101 00:04:17,140 --> 00:04:20,820 možete početi da se indeksi koji nisu numerički. 102 00:04:20,820 --> 00:04:23,880 Ali oni su zapravo riječi ili fraze, tako da je umjesto 103 00:04:23,880 --> 00:04:27,070 pokušati sjetiti gdje nešto je, ili pohranjene u varijable i, 104 00:04:27,070 --> 00:04:31,720 zapravo možete koristiti riječ i reći that-- možete reći ni riječi kao što je ovaj. 105 00:04:31,720 --> 00:04:34,730 >> Dakle, dolar znak citat je naziv varijable ovdje. 106 00:04:34,730 --> 00:04:39,360 To je nešto funky sintakse to je povezivanje dva ključna vrijednost 107 00:04:39,360 --> 00:04:41,250 Parovi za ovu varijablu. 108 00:04:41,250 --> 00:04:45,490 Naime, ovo me daje niz koji je duljine 2. 109 00:04:45,490 --> 00:04:47,660 No, indeksi nisu 0 i 1. 110 00:04:47,660 --> 00:04:51,250 Indeksi su citat citat simbol i citat citat cijenu. 111 00:04:51,250 --> 00:04:55,990 A vrijednosti tih indeksa, odnosno, je FB za Facebook 112 00:04:55,990 --> 00:05:00,360 i 79,53 $, kad sam zadnji provjeriti cijenu za to. 113 00:05:00,360 --> 00:05:01,210 >> Što to znači? 114 00:05:01,210 --> 00:05:04,136 Pa, to znači da je umjesto pisanja koda 115 00:05:04,136 --> 00:05:09,612 ovako, gdje sam učiniti nešto kao što je dolar sign-- odnosno, u C 116 00:05:09,612 --> 00:05:11,070 Ja ne bi ni imati znak za dolar. 117 00:05:11,070 --> 00:05:13,490 Ja bih nešto učiniti kao što su citati, a zatim 118 00:05:13,490 --> 00:05:18,410 Ja bih napraviti nosač sam se na neke samovoljno numerički indeksirane vrijednosti. 119 00:05:18,410 --> 00:05:21,430 Od danas u PHP-u, ako vas žele doći u nekom vrijednosti, 120 00:05:21,430 --> 00:05:24,742 mi nekako ima više semantička izražajnost. 121 00:05:24,742 --> 00:05:27,450 Samo fancy način govoreći možemo samo nazvati stvari ono što su oni. 122 00:05:27,450 --> 00:05:29,800 >> A ako želite da biste dobili na nešto simbola, 123 00:05:29,800 --> 00:05:32,180 Sada možete doslovno napraviti citat citat simbol 124 00:05:32,180 --> 00:05:34,910 u uglatim zagradama umjesto pukog broja. 125 00:05:34,910 --> 00:05:36,450 Dakle, to je lijepo praktičnost. 126 00:05:36,450 --> 00:05:38,140 I to je vrsta to za sada. 127 00:05:38,140 --> 00:05:40,240 Postoji grozdova druge značajke u PHP. 128 00:05:40,240 --> 00:05:43,180 I doista, PHP dolazi s poslovičan sudopera. 129 00:05:43,180 --> 00:05:48,640 Deseci, stotine funkcija dolaze s PHP-- tako mnogo više nego što je došao sa C. 130 00:05:48,640 --> 00:05:51,360 >> I to ne namjerava pobijediti nego pomoći 131 00:05:51,360 --> 00:05:53,900 shvatite da nema više napisati šifru 132 00:05:53,900 --> 00:05:55,590 to je vrsta ovdje konceptualno. 133 00:05:55,590 --> 00:05:58,465 Sada mi samo možemo početi uzimanje prednost od mnogo više naprednih značajki 134 00:05:58,465 --> 00:05:59,920 da jezici poput PHP ima. 135 00:05:59,920 --> 00:06:02,630 Dakle, ne morate brinuti o premještati okolo stvari u memoriji. 136 00:06:02,630 --> 00:06:05,338 Ne morate brinuti o malloc i sve ove niže razine, 137 00:06:05,338 --> 00:06:09,390 moćna pojedinosti koje će se boriti sa, ako ne i borba s, pset5, 138 00:06:09,390 --> 00:06:13,380 ali možete početi Uskoro uzeti zdravo za gotovo. 139 00:06:13,380 --> 00:06:17,770 >> U stvari, neka je napisati super jednostavan program u PHP-u, kao što slijedi. 140 00:06:17,770 --> 00:06:21,550 Ja ću ići glavom u CS50 IDE ovdje i što ću raditi 141 00:06:21,550 --> 00:06:29,370 je stvoriti novu datoteku, to je vrlo jednostavno koja će se pod nazivom Pozdrav dot PHP. 142 00:06:29,370 --> 00:06:31,860 Dakle, umjesto točkica C, to je će se zvati dot PHP. 143 00:06:31,860 --> 00:06:34,260 A onda je u ovoj datoteci, Mogu početi tipkati. 144 00:06:34,260 --> 00:06:36,960 Ali ispada da je Jedno moram znati 145 00:06:36,960 --> 00:06:41,470 je da je bilo PHP datoteke u cjelini, treba početi s nekim posebnim sintakse. 146 00:06:41,470 --> 00:06:44,570 Slično u duhu u HTML, ali opet, PHP je programski jezik, a ne 147 00:06:44,570 --> 00:06:45,590 jezik za označavanje. 148 00:06:45,590 --> 00:06:48,700 >> Tako svaki datoteku, a to je vrsta glupo izgleda ja ću priznati. 149 00:06:48,700 --> 00:06:50,480 Otvori konzolu, znak pitanja, PHP. 150 00:06:50,480 --> 00:06:53,060 A to je samo Jezik je način govoreći, 151 00:06:53,060 --> 00:06:58,400 hej, računalo ovdje dolazi neki kod pisani jezikom zove PHP. 152 00:06:58,400 --> 00:07:01,900 A onda na samom kraju svog datoteke, vi kakve vrsti suprotno. 153 00:07:01,900 --> 00:07:04,860 Ne opet pisati PHP, samo napraviti upitnik, kut nosač. 154 00:07:04,860 --> 00:07:08,500 I onda sve što stavite u od ove dvije oznake, da tako kažemo, 155 00:07:08,500 --> 00:07:11,490 će biti, ili bi trebao biti, PHP koda. 156 00:07:11,490 --> 00:07:13,180 >> Tako ćemo napraviti nešto super jednostavno. 157 00:07:13,180 --> 00:07:19,370 Ja ću ići naprijed i učiniti ispis def, halo svijet, backslash nje, spasi. 158 00:07:19,370 --> 00:07:27,310 A sada na mom redak, idem učiniti, napraviti hello-- ne, ja ću učiniti, 159 00:07:27,310 --> 00:07:28,726 dot slash zdravo. 160 00:07:28,726 --> 00:07:31,250 Ne, točka Slash, hm. 161 00:07:31,250 --> 00:07:32,990 Dakle, nešto je drukčije. 162 00:07:32,990 --> 00:07:36,920 I doista, ovo je ključna razlika između PHP i jezika poput C C 163 00:07:36,920 --> 00:07:38,730 je tzv sastaviti jezika. 164 00:07:38,730 --> 00:07:40,929 Što to znači za C treba sastaviti? 165 00:07:40,929 --> 00:07:41,970 Što je dublji smisao? 166 00:07:41,970 --> 00:07:42,898 Da. 167 00:07:42,898 --> 00:07:45,220 >> PUBLIKA: to napisao u strojni kod tako da bi se moglo pokrenuti od strane računala. 168 00:07:45,220 --> 00:07:46,011 >> SPEAKER 1: Točno. 169 00:07:46,011 --> 00:07:49,075 Moramo najprije pretvoriti u Takozvani stroj kod, nula i jedinica, 170 00:07:49,075 --> 00:07:51,950 prije nego što će zapravo biti izvršna i razumjeti računala. 171 00:07:51,950 --> 00:07:52,840 Intel iznutra. 172 00:07:52,840 --> 00:07:54,530 Do CPU unutar računala. 173 00:07:54,530 --> 00:07:58,170 PHP, za razliku od, je ono što se zove tumači jezikom, koji 174 00:07:58,170 --> 00:08:02,230 znači da ga ne sastaviti u nula i jedinica, strojni kod, 175 00:08:02,230 --> 00:08:04,360 što ga umjesto ostaviti kao izvornog koda. 176 00:08:04,360 --> 00:08:08,130 I ti umjesto da ga prođe kao ulaz u programu, tumača 177 00:08:08,130 --> 00:08:11,960 da je netko drugi napisao godina da ga razumije 178 00:08:11,960 --> 00:08:14,310 redak po redak, znak za znak. 179 00:08:14,310 --> 00:08:16,120 Tako je u drugim riječima, ljudi vani je napisao 180 00:08:16,120 --> 00:08:19,670 program koji će gledati na kodom redak po redak, 181 00:08:19,670 --> 00:08:21,680 i shvatiti ono računalo treba raditi, 182 00:08:21,680 --> 00:08:25,960 bez pretvaranja izravno nula i jedinica. 183 00:08:25,960 --> 00:08:28,370 >> Dakle, ako se vidi for petlje, taj takozvani tumač 184 00:08:28,370 --> 00:08:30,630 će biti kao što je, u redu, ja bi trebao nešto opet i opet i opet. 185 00:08:30,630 --> 00:08:31,150 Što da napravim? 186 00:08:31,150 --> 00:08:32,159 Dopustite mi da pogledate sljedeći redak. 187 00:08:32,159 --> 00:08:33,367 Dopustite mi da pogledate sljedeći redak. 188 00:08:33,367 --> 00:08:35,350 I doista tumači ga liniju po liniju. 189 00:08:35,350 --> 00:08:37,220 Tako da ga izvrši, ne koriste make. 190 00:08:37,220 --> 00:08:39,409 Ne koristite dot udarac u ovom slučaju. 191 00:08:39,409 --> 00:08:43,530 I umjesto da to PHP, što je naziv programa, a.k.a. 192 00:08:43,530 --> 00:08:46,562 Tumač, to je unaprijed instaliran u CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 i sad moram proći naredbenog retka argument, koji 194 00:08:48,770 --> 00:08:52,290 je jednostavno naziv podnijeti da želim interpretirati. 195 00:08:52,290 --> 00:08:54,740 Ili još usput, da želim pokrenuti. 196 00:08:54,740 --> 00:08:57,000 I ako sam pogodio Enter, tu smo ga. 197 00:08:57,000 --> 00:08:57,825 Bok svijete. 198 00:08:57,825 --> 00:08:59,950 Sada ispada da sam Rabljeni ispisa def namjerno 199 00:08:59,950 --> 00:09:01,600 nas most od C do PHP. 200 00:09:01,600 --> 00:09:05,150 Većina PHP programera, kao što ćete vidjeti, uopće ne smetaju pomoću ispisa def. 201 00:09:05,150 --> 00:09:08,290 Oni jednostavno koristiti funkciju pod nazivom ispisa, što C nije imao. 202 00:09:08,290 --> 00:09:11,390 I tako, ako sam ga ponoviti i sada, to je zapravo ponaša funkcionalno isti. 203 00:09:11,390 --> 00:09:13,730 Ne mogu koristiti posto S i posto ja i tako dalje, 204 00:09:13,730 --> 00:09:16,250 ali postoje i drugi načini u PHP i radi. 205 00:09:16,250 --> 00:09:18,100 Ali to je samo kažu da sintaktički, 206 00:09:18,100 --> 00:09:21,850 osim nekih čudnih stvari vrh, a neki čudni likovi dolje 207 00:09:21,850 --> 00:09:25,960 na dnu, koncepti sad programiranje u ovom drugom jeziku 208 00:09:25,960 --> 00:09:27,860 će biti isti. 209 00:09:27,860 --> 00:09:30,120 >> U stvari, neka je učiniti jedan drugi primjer. 210 00:09:30,120 --> 00:09:32,520 Tako ću ići naprijed i zatvorite ovu datoteku. 211 00:09:32,520 --> 00:09:37,740 Dopustite mi stvoriti još jedan koji Nazvat ću uvjete 1 točka PHP. 212 00:09:37,740 --> 00:09:40,770 Dakle, nema nule, jer ono što sam učinio Bio sam pogledala natrag prije nekoliko tjedana, 213 00:09:40,770 --> 00:09:43,490 imali smo datoteku pod nazivom Uvjeti 1 točka C A što 214 00:09:43,490 --> 00:09:47,590 Ja sam se to pretvara u mom glava, a ovdje na papiru, 215 00:09:47,590 --> 00:09:51,290 i uskoro na stazi a web stranice, redak po redak u PHP. 216 00:09:51,290 --> 00:09:55,520 >> Tako je u C verziji, da smo učinili nešto kao string a dobiva dobili niz. 217 00:09:55,520 --> 00:09:58,200 Dakle, to je malo drugačije učiniti da u PHP-u. 218 00:09:58,200 --> 00:10:01,390 Umjesto toga, ja samo idem učiniti, ili bolje rečeno, sam 219 00:10:01,390 --> 00:10:05,870 mogao učiniti int n dobiva doći int, u ovom primjeru ranije. 220 00:10:05,870 --> 00:10:12,600 Dakle, umjesto toga, ja ću učiniti n dobiva pročitati liniju, ja bih cijeli broj, 221 00:10:12,600 --> 00:10:13,670 molim. 222 00:10:13,670 --> 00:10:15,110 Dakle, ovo je samo moj upit. 223 00:10:15,110 --> 00:10:17,260 I tako ispada, a Ja bi samo znao to 224 00:10:17,260 --> 00:10:20,480 od što čitati ili vidjeti funkciju prije, pročitajte linije funkcija u PHP 225 00:10:20,480 --> 00:10:23,810 Potrebno je argument da je brz za čovjeka, a njegova svrha u životu 226 00:10:23,810 --> 00:10:26,220 je čitati jedan redak teksta da on ili ona vrsta u. 227 00:10:26,220 --> 00:10:29,160 A onda se pohranjuje da Tekst u varijablu n. 228 00:10:29,160 --> 00:10:32,200 >> I sada sam možda želite učiniti nešto kao što sam učinio prije nekoliko tjedana, u tjednu kao 229 00:10:32,200 --> 00:10:33,290 jedan od klase. 230 00:10:33,290 --> 00:10:36,600 Ako je n veći od nula, onda idem 231 00:10:36,600 --> 00:10:42,930 posuditi tu sintaksu smo upravo vidjeli, Ispis def, ste odabrali pozitivan broj, 232 00:10:42,930 --> 00:10:44,360 backslash nje. 233 00:10:44,360 --> 00:10:49,990 Inače, ako je n jednak nula, ja sam ići naprijed i reći, print def, 234 00:10:49,990 --> 00:10:54,090 ste odabrali nula kose crtice n. 235 00:10:54,090 --> 00:10:56,830 Inače, slučaj ovdje trebao naravno biti, print def, 236 00:10:56,830 --> 00:10:58,620 ste odabrali negativan broj. 237 00:10:58,620 --> 00:11:00,970 >> I svakako možemo provesti logika ovu stvar 238 00:11:00,970 --> 00:11:03,390 u hrpa različitih načina, ali poanta ovdje 239 00:11:03,390 --> 00:11:07,210 je da sintaktički, jedva nešto novo. 240 00:11:07,210 --> 00:11:09,830 To je samo znak za dolar i nova funkcija i čitati linija. 241 00:11:09,830 --> 00:11:12,090 Ali bitno, što je novo Sada je sam tumačenje ovoga. 242 00:11:12,090 --> 00:11:13,910 Ja sam to prolazi kao ulaz u drugi program. 243 00:11:13,910 --> 00:11:16,620 Dakle, ako želim raditi ovo, ako Nisam napraviti nikakve pogreške, 244 00:11:16,620 --> 00:11:20,140 Idem trčanje PHP, od Uvjeti 1 točka PHP, Enter, 245 00:11:20,140 --> 00:11:23,440 Idem upisati broj 50, i pretpostavimo za sada to radi. 246 00:11:23,440 --> 00:11:25,940 Jer logika je Ista stvar kao i tjedan jednom. 247 00:11:25,940 --> 00:11:28,020 >> U redu, tako da je prilično underwhelming, zar ne? 248 00:11:28,020 --> 00:11:30,240 Mogli bismo to učiniti u bilo broj jezika. 249 00:11:30,240 --> 00:11:33,200 Učinimo nešto tako moćniji. 250 00:11:33,200 --> 00:11:35,610 Završimo problema postaviti pet. 251 00:11:35,610 --> 00:11:37,370 Tako ću ići naprijed i učiniti. 252 00:11:37,370 --> 00:11:42,920 Idem stvoriti datoteku zove rječnik dot PHP, 253 00:11:42,920 --> 00:11:45,424 i nagnut kao što bi moglo biti otimati dolje puno bilješke, 254 00:11:45,424 --> 00:11:47,340 bilješke će samo pomoći što ako ste dopušteni 255 00:11:47,340 --> 00:11:48,923 provesti problemi postaviti pet u PHP-u. 256 00:11:48,923 --> 00:11:52,706 No, vidjet ćemo kako brzo sada smo mogu provesti taj isti problem set. 257 00:11:52,706 --> 00:11:56,830 >> Tako u rječniku dot PHP, ja odlazim pretpostaviti da je već 258 00:11:56,830 --> 00:11:58,514 datoteka na svijetu se zove Speller. 259 00:11:58,514 --> 00:12:01,430 I doista, ja sam to unaprijed, i nećemo prošetati kroz ove linije 260 00:12:01,430 --> 00:12:03,596 od linije, ali ako ste znatiželjni kasnije i stvarno želite 261 00:12:03,596 --> 00:12:06,250 završiti svoj um oko razlike između c i PHP, 262 00:12:06,250 --> 00:12:09,030 doslovno usporediti ove datoteke, bukvar, iz današnje izvornog koda 263 00:12:09,030 --> 00:12:11,190 da ćemo objaviti kasnije Danas, protiv p set 264 00:12:11,190 --> 00:12:15,309 Pet bukvar točka c da vam dati, i to je gotovo isti redak po redak. 265 00:12:15,309 --> 00:12:16,600 Postoji još nekoliko Dolaru znakove. 266 00:12:16,600 --> 00:12:18,330 Nekoliko funkcije malo drugačiji. 267 00:12:18,330 --> 00:12:20,038 No, to je lijep način od vrsta budući da 268 00:12:20,038 --> 00:12:22,740 li prevesti jednog jezika na drugi. 269 00:12:22,740 --> 00:12:24,812 I to je gotovo identičan linija za liniju. 270 00:12:24,812 --> 00:12:27,770 Ali ja ću pretpostaviti da je postoji, i što ću raditi ovdje 271 00:12:27,770 --> 00:12:31,310 je pokušati raznijeti svoj um reimplementing 272 00:12:31,310 --> 00:12:36,210 cjelokupnost problema postaviti pet put brže nego što ste radili do sada. 273 00:12:36,210 --> 00:12:39,330 Tako na primjer, ja ću prvi proglasiti globalnu varijablu pod nazivom veličina, 274 00:12:39,330 --> 00:12:40,444 i postaviti je jednaka nuli. 275 00:12:40,444 --> 00:12:41,610 Sada to nije mnogo uštede. 276 00:12:41,610 --> 00:12:44,170 Tečajevi se provode li Veličina ljepušan velik dio isti, 277 00:12:44,170 --> 00:12:48,440 ili hint hint, večeras ili sutra će, samo pomoću globalnu varijablu pod nazivom 278 00:12:48,440 --> 00:12:49,900 Veličina i postavljanje ga jednaka nuli. 279 00:12:49,900 --> 00:12:52,660 To nije osobito nevjerojatna spojler. 280 00:12:52,660 --> 00:12:57,180 >> Dakle, ono što su vaši podaci strukture izbor, oni od vas koji su zaronili u 281 00:12:57,180 --> 00:13:02,170 i pročitajte spec, strukture koje podatke su većina od vas su koristili? 282 00:13:02,170 --> 00:13:06,840 Hash tablica ili probati, možda njihovi neke varijante. 283 00:13:06,840 --> 00:13:10,490 Dakle provedbi hash tablicu barem, je vrsta puno linija koda, 284 00:13:10,490 --> 00:13:10,990 zar ne? 285 00:13:10,990 --> 00:13:13,700 I nisu svi od njih može biti funkcionalan u ovom trenutku u tjednu, 286 00:13:13,700 --> 00:13:14,366 ali to je u redu. 287 00:13:14,366 --> 00:13:19,300 Budući da u PHP-u, ako sam Želite hash tablicu, učinjeno. 288 00:13:19,300 --> 00:13:20,260 Pravo? 289 00:13:20,260 --> 00:13:22,610 Tako da varijable koje sam Samo proglasio je očito 290 00:13:22,610 --> 00:13:26,180 zove dolar znak stol, po uvođenju prije. 291 00:13:26,180 --> 00:13:28,902 >> Ali ja stvarno samo želim, na kraj dana, niz. 292 00:13:28,902 --> 00:13:31,610 Ali nije brojčano indeksirana polje, jer to je kao tjedan-dva 293 00:13:31,610 --> 00:13:33,440 stvari, kad smo razgovarali o tome polja. 294 00:13:33,440 --> 00:13:34,850 Želim hash tablicu. 295 00:13:34,850 --> 00:13:38,070 Ali hash tablicu stvarno samo konkretan način govoreći, 296 00:13:38,070 --> 00:13:40,190 Želite se asocijativni niz. 297 00:13:40,190 --> 00:13:43,270 Želite li biti u mogućnosti suradnik tipke sa vrijednostima. 298 00:13:43,270 --> 00:13:44,200 Tipke sa vrijednostima. 299 00:13:44,200 --> 00:13:45,640 Što je rječnik, doista? 300 00:13:45,640 --> 00:13:47,080 Pa to je cijela hrpa ključeva. 301 00:13:47,080 --> 00:13:50,320 Riječi kao što su jabuke, kruške, banane i, i sve te engleskih riječi 302 00:13:50,320 --> 00:13:51,490 da ti ruku. 303 00:13:51,490 --> 00:13:54,820 >> A vrijednosti koje ste učinkovito umetanje u svoj rječnik 304 00:13:54,820 --> 00:13:57,790 su ili istinite ili odsutnost, lažna. 305 00:13:57,790 --> 00:14:00,540 Drugim riječima što su umetanje cijela hrpa ključnih parova vrijednosti, 306 00:14:00,540 --> 00:14:03,720 jabuka, istina, kruške, istina, banane, istina. 307 00:14:03,720 --> 00:14:07,446 Tako da kad popravljanje ili tražiti do tih podataka na vašem hash tablicu 308 00:14:07,446 --> 00:14:10,070 s check funkcije, ti si bilo dobivanje natrag odgovor, 309 00:14:10,070 --> 00:14:13,260 Da, to sam pronašao u mom naselju hash tablicu, ili ne, to ne postoji, 310 00:14:13,260 --> 00:14:14,540 tako da return false. 311 00:14:14,540 --> 00:14:19,440 >> Dakle, za to, sve što trebate je podataka Struktura kao što sam predložio prije. 312 00:14:19,440 --> 00:14:22,050 Samo trebam biti u mogućnosti povezati riječi 313 00:14:22,050 --> 00:14:25,570 kao, citat citat, simbol, s vrijednošću poput, istina. 314 00:14:25,570 --> 00:14:27,090 Tako da je moj hash tablicu. 315 00:14:27,090 --> 00:14:28,180 Idemo zapravo ga koristiti. 316 00:14:28,180 --> 00:14:30,310 Dakle, postoji nekoliko funkcija Trebam provesti. 317 00:14:30,310 --> 00:14:33,300 Idem da ide naprijed i gristi off funkcija zove veličine. 318 00:14:33,300 --> 00:14:34,390 Potrebno bez argumenata. 319 00:14:34,390 --> 00:14:36,660 Ja ne moram gnjaviti s riječ, praznina, u PHP. 320 00:14:36,660 --> 00:14:38,770 Ja sam jednostavno ide za povratak veličinu. 321 00:14:38,770 --> 00:14:41,287 >> I usput, PHP ima ovo minorly neugodno detalj, 322 00:14:41,287 --> 00:14:44,620 gdje ako nešto je globalna, morate reci funkciju u kojoj ste koristeći 323 00:14:44,620 --> 00:14:46,220 je, hej, ovo je globalna varijabla. 324 00:14:46,220 --> 00:14:49,330 Dakle, manje gluposti, ali vas morate to napraviti svejedno. 325 00:14:49,330 --> 00:14:50,920 >> Dakle, što je s opterećenjem? 326 00:14:50,920 --> 00:14:52,990 Idem za provedbu funkcija zove opterećenje 327 00:14:52,990 --> 00:14:56,790 koji se u ime rječniku, baš kao u problemu postaviti pet. 328 00:14:56,790 --> 00:14:59,554 I prije nego što sam nastaviti, primijetiti da nisam 329 00:14:59,554 --> 00:15:00,970 bio upišete dosta iste stvari. 330 00:15:00,970 --> 00:15:06,060 Što je očito drugačija u PHP o kako se proglasiti funkciju u odnosu na C? 331 00:15:06,060 --> 00:15:06,616 Da. 332 00:15:06,616 --> 00:15:07,490 PUBLIKA: [nečujan] 333 00:15:07,490 --> 00:15:08,573 SPEAKER 1: Nema kategorije povratka. 334 00:15:08,573 --> 00:15:12,350 I doista, to je slučaj, PHP utoliko što je labavo upisali, 335 00:15:12,350 --> 00:15:14,190 Također je malo neuredan u tom smislu. 336 00:15:14,190 --> 00:15:17,680 Ne navodi kao programer što ova funkcija vraća. 337 00:15:17,680 --> 00:15:20,490 Ti bi zapravo izgleda u kodu shvatiti da se. 338 00:15:20,490 --> 00:15:22,670 Ili čitati komentare ili dokumentaciju. 339 00:15:22,670 --> 00:15:24,870 Dakle plusevima i minusima od ove vrste odluka. 340 00:15:24,870 --> 00:15:26,750 Ali ja moram reći ključna riječ, funkcija. 341 00:15:26,750 --> 00:15:28,360 A kad smo saznali JavaScript u par tjedana 342 00:15:28,360 --> 00:15:31,026 ćemo vidjeti istu stvar opet, ali to je ista ideja. 343 00:15:31,026 --> 00:15:34,220 Naziv funkcije, njegov argument ili argumente ili nedostatak istih, i sada 344 00:15:34,220 --> 00:15:35,630 Ovdje je provedba. 345 00:15:35,630 --> 00:15:38,860 >> Tako ću izrezati neke ugla jednostavno biti dramatična samo na trenutak. 346 00:15:38,860 --> 00:15:40,485 Ali ja ću ići naprijed i reći ovo. 347 00:15:40,485 --> 00:15:44,890 To je kako ja mogu učitati datoteka u niz. 348 00:15:44,890 --> 00:15:47,580 Tu je funkcija u PHP naziva datoteka. 349 00:15:47,580 --> 00:15:49,300 Vi se naziv datoteke ruke. 350 00:15:49,300 --> 00:15:53,950 To vam ruke natrag niz, unutar od kojih je svaki redak iz datoteke. 351 00:15:53,950 --> 00:15:56,480 Od nula, jedan, gore na n minus 1 redaka. 352 00:15:56,480 --> 00:15:57,210 To je to, zar ne? 353 00:15:57,210 --> 00:15:57,990 Nema f čitanje. 354 00:15:57,990 --> 00:15:58,826 Nema f get a. 355 00:15:58,826 --> 00:15:59,700 Nema posto a. 356 00:15:59,700 --> 00:16:00,420 Nema glavobolje. 357 00:16:00,420 --> 00:16:01,220 Nema feof. 358 00:16:01,220 --> 00:16:03,950 Sve te stvari s kojima ste hrvanje, možda, 359 00:16:03,950 --> 00:16:06,550 s p postavite četiri i pet, ide dalje. 360 00:16:06,550 --> 00:16:09,450 >> Dakle, upravo sam pročitao te linije u datoteka, a onda znate što? 361 00:16:09,450 --> 00:16:15,510 Ako želim ponoviti nad tim riječima, Ja mogu učiniti, za svaki način kao i linije. 362 00:16:15,510 --> 00:16:19,992 Sjeti se da je to vrsta pametan način Ponavljanje preko polja, indeksa 363 00:16:19,992 --> 00:16:25,090 indeksom, a na svakoj iteraciji poziv trenutni redak, dolar znak linije. 364 00:16:25,090 --> 00:16:31,560 I ovdje ću otići i kažu stol, zagrada, crta, dobiva istina. 365 00:16:31,560 --> 00:16:35,880 >> Drugim riječima, to je kako sam umetnuti u moj hash tablicu u PHP-u. 366 00:16:35,880 --> 00:16:38,740 Kažem znak za dolar stol, koji moj asocijativni niz koji je 367 00:16:38,740 --> 00:16:40,690 prazna po liniji koda gore iznad. 368 00:16:40,690 --> 00:16:42,790 Onda sam indeks u nju Ne, pomoću brojnih, 369 00:16:42,790 --> 00:16:45,300 ali doslovno pomoću ključne riječi koje mi je stalo. 370 00:16:45,300 --> 00:16:47,730 Možda je jabuka ili kruška ili banane ili bilo što, 371 00:16:47,730 --> 00:16:51,645 ali konkretno sam indeksiranje u njega kao što sam predložio ranije. 372 00:16:51,645 --> 00:16:53,770 Ja se ime moje asocijativni niz, a onda sam 373 00:16:53,770 --> 00:16:56,450 koristiti citat citat u četvornih zagrade s nizom, 374 00:16:56,450 --> 00:16:58,490 umjesto stvarnog broja. 375 00:16:58,490 --> 00:17:00,250 >> I tako to je to. 376 00:17:00,250 --> 00:17:01,720 Funkcija učitavanja učinjeno. 377 00:17:01,720 --> 00:17:05,119 Nakon tog procesa iterira, ja sam stavio sve u hash tablici. 378 00:17:05,119 --> 00:17:07,810 Sada mali disclaimer, postoji par stvari trebam popraviti. 379 00:17:07,810 --> 00:17:10,030 A verzija ću objaviti na internetu će imati sve nijanse, 380 00:17:10,030 --> 00:17:12,670 ali to je uglavnom samo će biti neki Provjera pogrešaka i neke manje ugađanje. 381 00:17:12,670 --> 00:17:14,044 Ali to je doista suština. 382 00:17:14,044 --> 00:17:16,750 Ako sam sada žele provesti funkcija zove 383 00:17:16,750 --> 00:17:19,869 ček, što očekuje Riječ kao svoj argument, 384 00:17:19,869 --> 00:17:22,099 kako bih mogao ići oko radiš to? 385 00:17:22,099 --> 00:17:30,020 Pa, ja sam jednostavno reći, ako je unutar mom stolu, na mjesto riječi, 386 00:17:30,020 --> 00:17:30,652 ako je postavljen. 387 00:17:30,652 --> 00:17:32,360 Dakle, ako postoji is-- Zapravo, znaš što? 388 00:17:32,360 --> 00:17:34,830 Ja ću to učiniti u malo pseudokod. 389 00:17:34,830 --> 00:17:36,020 Ali ideja je ista. 390 00:17:36,020 --> 00:17:41,640 Ako je to jednako vrijedi, povratak istina. 391 00:17:41,640 --> 00:17:43,890 U redu. 392 00:17:43,890 --> 00:17:46,851 Else-- možete vrsta vidjeti gdje to je going-- se vratiti false. 393 00:17:46,851 --> 00:17:47,350 Gotovo. 394 00:17:47,350 --> 00:17:49,640 Provjerite je učinio. 395 00:17:49,640 --> 00:17:50,940 >> Prilično lijepo, zar ne? 396 00:17:50,940 --> 00:17:52,560 I što je to zapravo ciljaš? 397 00:17:52,560 --> 00:17:53,680 I to previše, izrezati sam neke ugla. 398 00:17:53,680 --> 00:17:56,020 Pogledajte inačicu online za sve blagih nijansi. 399 00:17:56,020 --> 00:17:57,103 No, to je suština. 400 00:17:57,103 --> 00:17:59,080 Indeks u svoj asocijativni niz, a.k.a. 401 00:17:59,080 --> 00:18:02,910 Hash tablici, vidi ako postoji vrijednost tamo, ako je postavljena na true, a ako je tako, 402 00:18:02,910 --> 00:18:03,930 povratak istina. 403 00:18:03,930 --> 00:18:05,819 Tako smo reducirane sve složenosti. 404 00:18:05,819 --> 00:18:07,110 Dakle, vrsta uma puše, zar ne? 405 00:18:07,110 --> 00:18:09,680 Neću gnjaviti ga završivši s istovariti, jer u fact-- oh, znaš što? 406 00:18:09,680 --> 00:18:11,620 Da, neka ga završiti s istovariti. 407 00:18:11,620 --> 00:18:18,940 >> Iskrcati u hash tablici može izgledati kao funkcija istovariti, vratiti. 408 00:18:18,940 --> 00:18:19,930 U redu, tako da je iskrcati. 409 00:18:19,930 --> 00:18:21,350 Zato nema ništa iskrcati, zar ne? 410 00:18:21,350 --> 00:18:22,170 Nema malloc. 411 00:18:22,170 --> 00:18:24,280 Nisam izričito pitati operativni sustav za ništa. 412 00:18:24,280 --> 00:18:25,571 Upravo sam počeo koristiti varijable. 413 00:18:25,571 --> 00:18:30,510 I tako je i to manifestacija značajke viših jezika razini. 414 00:18:30,510 --> 00:18:32,940 Pa opet, većina tog izraza smo se bave ovdje 415 00:18:32,940 --> 00:18:34,280 s C. super niskoj razini. 416 00:18:34,280 --> 00:18:35,980 Možete vidjeti memoriju računala. 417 00:18:35,980 --> 00:18:38,440 Možete dodirnuti ništa vam žele u računala RAM-a, 418 00:18:38,440 --> 00:18:39,440 za bolje ili na gore. 419 00:18:39,440 --> 00:18:41,760 >> Ovdje gore, idemo odustati tu moć. 420 00:18:41,760 --> 00:18:44,730 Ali Bože moj, pogledajte kako a još manje kod sam napisao. 421 00:18:44,730 --> 00:18:47,660 U stvari, ako ne razgovarali i razgovor preko moje tipkanje, 422 00:18:47,660 --> 00:18:50,190 mi bi bili učinili s ovaj primjer prije pet minuta. 423 00:18:50,190 --> 00:18:52,150 Dakle, što je cijena koja se plaća? 424 00:18:52,150 --> 00:18:54,100 Pa neka je pogledati. 425 00:18:54,100 --> 00:18:55,340 Idemo pogledati. 426 00:18:55,340 --> 00:18:59,340 Ja ću ići naprijed i pokrenuti CS50. 427 00:18:59,340 --> 00:19:02,160 Dopustite mi da prije odem u današnji primjeri gdje 428 00:19:02,160 --> 00:19:03,970 Imam tekstova imenik kao i prije. 429 00:19:03,970 --> 00:19:08,520 Idem pokrenuti rješenje koje to dolazi s problema postaviti pet naziva 430 00:19:08,520 --> 00:19:11,190 bukvar, koji je u CS50 račun. 431 00:19:11,190 --> 00:19:14,040 >> I ja ću ga pokrenuti na nešto velika poput Biblije kralja Jamesa, 432 00:19:14,040 --> 00:19:16,547 samo tako da smo stvarno staviti osoblje rješenja testa. 433 00:19:16,547 --> 00:19:19,130 Sada ponekad internet je malo sporije, malo brže, 434 00:19:19,130 --> 00:19:20,338 bi moglo potrajati za pomicanje. 435 00:19:20,338 --> 00:19:23,730 No, to je ukupno .56 sekundi za provjeru pravopisa King James 436 00:19:23,730 --> 00:19:25,150 Biblija pomoću rješenja osoblja. 437 00:19:25,150 --> 00:19:25,620 Dakle, prilično dobro. 438 00:19:25,620 --> 00:19:27,786 Tvoja bi moglo biti puno sporiji, i to je sasvim u redu. 439 00:19:27,786 --> 00:19:30,090 Ali, to je točno ovdje. 440 00:19:30,090 --> 00:19:32,440 Dakle, to je rješenje osoblja. 441 00:19:32,440 --> 00:19:34,785 Ako sam otići i počistiti PHP inačicu. 442 00:19:34,785 --> 00:19:36,990 I ja ću učiniti malo kao i pečenje pokazuju stvar. 443 00:19:36,990 --> 00:19:39,720 Idemo uzeti kod sam napisao ranije, tako da je savršeno točna. 444 00:19:39,720 --> 00:19:42,678 Budući da je broj sam napisao ne ide biti savršeno točna upravo sada. 445 00:19:42,678 --> 00:19:47,310 Ali, ako sam pokrenuti PHP inačicu, što moram odustati danas? 446 00:19:47,310 --> 00:19:49,980 Uzeo mi pet minuta da provesti p postaviti pet, tvrdim. 447 00:19:49,980 --> 00:19:51,770 Što cijenu sam platio? 448 00:19:51,770 --> 00:19:52,270 Da. 449 00:19:52,270 --> 00:19:52,937 >> PUBLIKA: Brzina. 450 00:19:52,937 --> 00:19:53,645 SPEAKER 1: Brzina. 451 00:19:53,645 --> 00:19:54,380 Kako to misliš? 452 00:19:54,380 --> 00:19:55,230 >> PUBLIKA: To će potrajati duže. 453 00:19:55,230 --> 00:19:55,660 >> SPEAKER 1: U redu. 454 00:19:55,660 --> 00:19:56,160 Da vidimo. 455 00:19:56,160 --> 00:19:59,590 To će potrajati i duže, ne pisati, ali da ga pokrenuti. 456 00:19:59,590 --> 00:20:00,090 Da. 457 00:20:00,090 --> 00:20:00,960 Dakle, pokušajmo to. 458 00:20:00,960 --> 00:20:05,720 Dakle ovdje ću ići naprijed i učiniti PHP od Speller, i zato što je datoteka je 459 00:20:05,720 --> 00:20:06,360 zove bukvar. 460 00:20:06,360 --> 00:20:07,580 Pa nisam trčanje rječnik, podsjetimo, 461 00:20:07,580 --> 00:20:09,204 Ja vodim program pod nazivom bukvar. 462 00:20:09,204 --> 00:20:12,450 Idem proći u istom datoteka, kralj James peti. 463 00:20:12,450 --> 00:20:14,377 To je leti. 464 00:20:14,377 --> 00:20:17,210 To može biti samo internet brzine, tako da ne čitaju previše u to. 465 00:20:17,210 --> 00:20:21,680 No, to ne osjećam se više sigurno. 466 00:20:21,680 --> 00:20:23,280 1,26 sekundi. 467 00:20:23,280 --> 00:20:25,150 >> A da je još uvijek prilično prokleto brzo, zar ne? 468 00:20:25,150 --> 00:20:28,140 A jedini razlog da se osjećao kao više kao tri ili četiri ili pet 469 00:20:28,140 --> 00:20:30,515 sekunde, to je samo zato Internet je bio spor. 470 00:20:30,515 --> 00:20:33,980 Vrijeme računalo proveo je 1,26 sekunde, u odnosu na 0,56 mislim. 471 00:20:33,980 --> 00:20:35,880 Dakle, više nego dvostruko sporije. 472 00:20:35,880 --> 00:20:39,170 Dakle, to je još uvijek prilično darn brzo, ali to je manifestacija 473 00:20:39,170 --> 00:20:40,860 od, doista, da je točna cijena. 474 00:20:40,860 --> 00:20:43,460 >> Zato smo tumače u koda redak po redak, 475 00:20:43,460 --> 00:20:46,740 i taj program PHP čita moje kod vrha do dna, s lijeva na desno, 476 00:20:46,740 --> 00:20:47,940 to mora učiniti više razmišljanja. 477 00:20:47,940 --> 00:20:50,430 To je na neki način pretvoriti da unutar sebe 478 00:20:50,430 --> 00:20:53,464 u odgovarajućem stroju kod u letu, da tako kažemo, 479 00:20:53,464 --> 00:20:55,380 iako mehanike su malo drugačiji. 480 00:20:55,380 --> 00:20:59,430 Umjesto da samo hranjenje na Intel CPU sirovi nula i jedinica 481 00:20:59,430 --> 00:21:00,930 da razumije nativno. 482 00:21:00,930 --> 00:21:04,110 >> Dakle apsolutno, ruke dolje, mi smo platili cijenu. 483 00:21:04,110 --> 00:21:09,120 I kod napisan u jeziku poput PHP teži biti sporiji. 484 00:21:09,120 --> 00:21:10,050 Ali moj Bog. 485 00:21:10,050 --> 00:21:12,740 Dakle, sada kada sam provjeru pravopisa moj file, sam provesti dodatni 0,7 486 00:21:12,740 --> 00:21:17,280 ili tako sekundi vs 20 sati provoditi brži provjeru pravopisa, zar ne? 487 00:21:17,280 --> 00:21:18,397 To je vrsta trgovine off. 488 00:21:18,397 --> 00:21:20,980 A ako ste tek počinje p set pet, možda neće biti 20 sati. 489 00:21:20,980 --> 00:21:22,188 Moglo bi biti daleko manje od toga. 490 00:21:22,188 --> 00:21:23,600 No, to je trgovina off, za ozbiljno. 491 00:21:23,600 --> 00:21:27,820 A ako radite kod na stvarno velik setovi podataka, ili čak stariji hardver, 492 00:21:27,820 --> 00:21:32,650 one vrste različitosti svakako može dodati gore. 493 00:21:32,650 --> 00:21:34,880 >> Bilo kakva pitanja do sada? 494 00:21:34,880 --> 00:21:35,617 Da. 495 00:21:35,617 --> 00:21:36,492 >> PUBLIKA: [nečujan] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 SPEAKER 1: Žao nam je, može ti to reći još jednom? 498 00:21:39,978 --> 00:21:40,853 PUBLIKA: [nečujan] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 SPEAKER 1: Vi ste odustajanje vrijeme. 501 00:21:44,700 --> 00:21:45,283 Pa, da. 502 00:21:45,283 --> 00:21:47,322 Vi se štedi vrijeme Ne da ga sastaviti, 503 00:21:47,322 --> 00:21:48,530 ako je to ono što tražimo. 504 00:21:48,530 --> 00:21:50,710 I doista, u CS50, većina programa, 505 00:21:50,710 --> 00:21:53,668 iako bi moglo potrajati pisati, oni su relativno kratka. 506 00:21:53,668 --> 00:21:56,860 Nekoliko desetaka, nekoliko stotina linija koda, pa su sastaviti prilično brzo. 507 00:21:56,860 --> 00:21:58,470 Ali kada pokrenete pisanje većih programa, 508 00:21:58,470 --> 00:22:01,511 kao i ako ste Microsoft ili ste Google i pisanje stvarno velika programi 509 00:22:01,511 --> 00:22:05,360 u C ili C ++ ili slično sastavio jezici, može potrajati mnogo sekundi, 510 00:22:05,360 --> 00:22:08,577 ili čak minuta ili duže sastaviti milijune linija koda. 511 00:22:08,577 --> 00:22:10,660 A tamo, da Razlika će se zbrojiti. 512 00:22:10,660 --> 00:22:12,840 >> A u stvari, kad smo Prijelaz danas, istog dana 513 00:22:12,840 --> 00:22:15,910 Danas, na web programiranja koristeći PHP, ti si 514 00:22:15,910 --> 00:22:18,460 će ga pronaći samo toliko više ugodno pisati kod 515 00:22:18,460 --> 00:22:21,501 kad ne morate učiniti to glupo koraci poput promjene na vašem terminalu 516 00:22:21,501 --> 00:22:24,202 prozor, tip make Pozdrav, ponovno pokrenite ga, ponovno prozor. 517 00:22:24,202 --> 00:22:25,910 Samo toliko glupi mehanički koraci koje 518 00:22:25,910 --> 00:22:28,480 samo dobiti na putu radi zanimljivo, zabavno raditi. 519 00:22:28,480 --> 00:22:31,450 I doista bacamo da daleko s PHP. 520 00:22:31,450 --> 00:22:34,960 I možemo komunicirati s njom brže. 521 00:22:34,960 --> 00:22:35,495 Da. 522 00:22:35,495 --> 00:22:36,370 PUBLIKA: [nečujan] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 SPEAKER 1: Naravno. 525 00:22:40,960 --> 00:22:42,876 Mogu li pojasniti što je to znači treba tumačiti? 526 00:22:42,876 --> 00:22:45,870 Kada sastaviti jezika kao što su C, to ide dolje 527 00:22:45,870 --> 00:22:48,140 kao što smo rekli na stroju kod, nula i jedinica. 528 00:22:48,140 --> 00:22:51,860 I Intel odlučio godina da određeni obrasci nula i jedinica 529 00:22:51,860 --> 00:22:56,220 predstavlja zbrajanje, oduzimanje ili, ili ispisati, ili druge osnovne operacije. 530 00:22:56,220 --> 00:23:00,250 U svijetu interpretativnom jeziku kao što su PHP ili Javascript, ili Python, 531 00:23:00,250 --> 00:23:03,120 ili Ruby, ili grozdova drugi, umjesto da je netko 532 00:23:03,120 --> 00:23:05,120 napisao je interpreter-- u ovom slučaju, 533 00:23:05,120 --> 00:23:09,770 to je također pozvao PHP, identične ime od language-- koji bitno 534 00:23:09,770 --> 00:23:13,840 ima veliku petlju u to da iterira nad svim linijama koda 535 00:23:13,840 --> 00:23:18,170 da sam ga hraniti kao ulaz, kao i pozdravi točka PHP ili rječnik dot PHP. 536 00:23:18,170 --> 00:23:21,760 >> A onda možete misliti njihova velika petlje kao ima puno uvjeta. 537 00:23:21,760 --> 00:23:26,340 A ti uvjeti kažu, ako je Ljudsko je napisao ključnu riječ za, 538 00:23:26,340 --> 00:23:28,470 početi raditi njegov ili njezin broj opet i opet. 539 00:23:28,470 --> 00:23:31,360 Ili, ako je čovjek ima napisano liniju koda, 540 00:23:31,360 --> 00:23:34,880 ako je samo izvršavati svoje Sljedeći redak uvjetno. 541 00:23:34,880 --> 00:23:37,740 Dakle, to je doista kao tumačenje je u ljudskom smislu, linije 542 00:23:37,740 --> 00:23:39,660 strane linije, a to jednostavno treba vremena. 543 00:23:39,660 --> 00:23:41,340 Potrebno pretek. 544 00:23:41,340 --> 00:23:44,189 I tako to je price-- Dobar question-- mi platiti. 545 00:23:44,189 --> 00:23:46,480 Tako ćemo napraviti još jedan demo to je malo više dramatična. 546 00:23:46,480 --> 00:23:51,160 Tu je, rekao bih, to je približan po vjerojatnost neuspjeha užasno 90%, 547 00:23:51,160 --> 00:23:53,869 ali ćete biti zaprepašteni sa 10% vjerojatnosti. 548 00:23:53,869 --> 00:23:55,660 Dakle, svake godine ćemo pokušati to učiniti, pri čemu smo 549 00:23:55,660 --> 00:23:59,061 pokušati napisati program koji ide kroz Problem postaviti nulu, za koje ste 550 00:23:59,061 --> 00:24:02,060 pošaljete svoje telefonske brojeve i puno drugih demografske podatke, 551 00:24:02,060 --> 00:24:06,030 a mi programatski poslati SMS poruku. 552 00:24:06,030 --> 00:24:08,540 A onda svačija telefon počne oglašavati zvučnim signalom ili vibrira, 553 00:24:08,540 --> 00:24:11,460 i to je upravo nevjerojatna, jer je dobro, pogledajte što računala mogu učiniti. 554 00:24:11,460 --> 00:24:13,840 >> To se rijetko radi ispravno čini se, u velikom dijelu 555 00:24:13,840 --> 00:24:16,800 jer obično se na crnoj listi Gmail ili neki drugi servis 556 00:24:16,800 --> 00:24:19,630 za zapravo pokušava učiniti na ljestvici. 557 00:24:19,630 --> 00:24:24,940 No, smiješno što je previše, jer mi nemaju svi danas ovdje, 558 00:24:24,940 --> 00:24:27,690 zabavna činjenica zadnji put smo Pokušao to prije dvije godine, 559 00:24:27,690 --> 00:24:30,870 Mislim da sam napisao program koji je sjedio u petlji iterating 560 00:24:30,870 --> 00:24:34,040 nad svim učenicima u razredu, a svaki od njih tekstualnu poruku, 561 00:24:34,040 --> 00:24:37,534 i rekao nešto poput, zašto nisi u predavanju? 562 00:24:37,534 --> 00:24:39,170 Ljubav, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Nemate pojma koliko je apologetski i vrsta bolne e-mail 564 00:24:42,580 --> 00:24:46,970 Ja sam dobila odgovor od n minus 100 ljudi koji nisu bili ovdje 565 00:24:46,970 --> 00:24:47,960 taj dan. 566 00:24:47,960 --> 00:24:52,116 A još smješnije, više sramotno story-- znate, neka je stavi tamo. 567 00:24:52,116 --> 00:24:53,740 To je već na videu prije nekoliko godina. 568 00:24:53,740 --> 00:24:56,810 Dakle, uskoro će me vidjeti napisati for petlje, pri čemu 569 00:24:56,810 --> 00:25:00,640 to je vrlo lako napisati bug u koji za petlje, tako da prvi put 570 00:25:00,640 --> 00:25:02,800 kroz petlju, vi poslati jedan SMS poruke. 571 00:25:02,800 --> 00:25:06,190 >> Drugi put kroz petlje I trebali Poslali još jednu tekstualnu poruku, 572 00:25:06,190 --> 00:25:08,250 a zatim još jedan tekst Poruka, i još jedan. 573 00:25:08,250 --> 00:25:11,490 Ali ispada ako bi pogreška pri upisu kod programiranja, ponekad 574 00:25:11,490 --> 00:25:14,460 može pisati programe koji šalju jedan SMS poruke, a zatim dvije tekstualne poruke, 575 00:25:14,460 --> 00:25:18,742 zatim tri SMS poruke prema svima koji je već dobio SMS poruku. 576 00:25:18,742 --> 00:25:21,450 A kao što znate, radi nešto, plus nešto, plus nešto, 577 00:25:21,450 --> 00:25:25,910 plus nešto je veliko O od puno tekstualnih poruka, ili n na kvadrat, 578 00:25:25,910 --> 00:25:29,830 ili 0.10 $ SMS poruka, 20.000 $. 579 00:25:29,830 --> 00:25:33,700 >> Srećom sam pogodio Control-C prije toga dogodilo, ali nisam dugujem barem jedan 580 00:25:33,700 --> 00:25:37,550 Vaše prethodnika $ 20 za 200 neke čudne tekstualne poruke koje, 581 00:25:37,550 --> 00:25:40,450 Ne samo da je otišao u njegovu telefonom, ali Također je bilo starije flip telefon 582 00:25:40,450 --> 00:25:43,520 pa se sviđa gurnula iz njegove memorije svaki drugi osobni tekst 583 00:25:43,520 --> 00:25:45,930 Poruka je zapravo dobio. 584 00:25:45,930 --> 00:25:49,250 Dakle, imamo jedan cilj Danas, ne to učiniti. 585 00:25:49,250 --> 00:25:50,620 Možda uključivanje načina rada u zrakoplovu. 586 00:25:50,620 --> 00:25:51,120 U redu. 587 00:25:51,120 --> 00:25:56,590 Dakle, idemo u Program se ovdje callled-- 588 00:25:56,590 --> 00:25:59,060 da ću nazvati tekst dot PHP. 589 00:25:59,060 --> 00:26:01,074 I unaprijed, imam dvije datoteke ovdje. 590 00:26:01,074 --> 00:26:06,030 Napravila sam datoteku za samo osoblje, koje je dobio sve info članova Misije, sva imena 591 00:26:06,030 --> 00:26:07,260 s web-tečaja je. 592 00:26:07,260 --> 00:26:09,756 A onda za sada sam samo stavio neki lažni brojevi 555-1212. 593 00:26:09,756 --> 00:26:11,380 Dakle, to ne bi zapravo ići nigdje. 594 00:26:11,380 --> 00:26:15,140 Ali primijetite unutar ovog CSV datoteke, kojima smo razgovarali o kratko prije 595 00:26:15,140 --> 00:26:16,540 u kontekstu datoteke IO. 596 00:26:16,540 --> 00:26:18,730 >> Što je CSV datoteka? 597 00:26:18,730 --> 00:26:19,970 Odvojene zarezom varijable. 598 00:26:19,970 --> 00:26:24,400 A to je nešto kao vrlo lagana baze podataka, ako hoćete. 599 00:26:24,400 --> 00:26:28,650 Postoji vrsta vrsta četiri stupca u ovoj datoteci, a nazubljeni, 600 00:26:28,650 --> 00:26:32,400 ali su u biti zarez predstavljaju stupce u spisu. 601 00:26:32,400 --> 00:26:35,400 Prvi stupac je TF ili CA ime. 602 00:26:35,400 --> 00:26:37,800 Drugi stupac je njihovo prezime. 603 00:26:37,800 --> 00:26:39,820 Treći stup je njihov broj telefona. 604 00:26:39,820 --> 00:26:44,760 I četvrti stupac očito is-- Četvrti stupac je očito što? 605 00:26:44,760 --> 00:26:45,870 U redu, tako da je njihov nosač. 606 00:26:45,870 --> 00:26:47,180 Dakle, Verizon, Sprint ili, ili što ne. 607 00:26:47,180 --> 00:26:48,620 I ako sam misspoke ranije, CSV. 608 00:26:48,620 --> 00:26:51,800 Vrijednosti odvojenih zarezom CSV se ovdje. 609 00:26:51,800 --> 00:26:54,260 >> Što mogu učiniti s tim? 610 00:26:54,260 --> 00:26:56,940 Pa to je samo velika tekstualna datoteka, i to je vrsta dugo, zar ne? 611 00:26:56,940 --> 00:26:58,690 Kao što je ovaj će biti vrsta neugodno. 612 00:26:58,690 --> 00:27:03,510 I to ispada, međutim, da ako ja želite poslati tekstualnu poruku, neka je 613 00:27:03,510 --> 00:27:05,180 kažu Alex ovdje. 614 00:27:05,180 --> 00:27:09,690 Pusti me u moj preglednik i izađite iz načina cijelog zaslona 615 00:27:09,690 --> 00:27:11,660 samo tako mogu prebacivanje natrag i naprijed. 616 00:27:11,660 --> 00:27:20,280 Ispada, da vidimo, ako idem u ovdje i prijavite se na Gmail, u redu. 617 00:27:20,280 --> 00:27:22,950 Ne gledaj u ovom dijelu. 618 00:27:22,950 --> 00:27:23,880 Samo sam se vidjeti. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 naravno Livestream mogu još vidjeti što radim. 621 00:27:28,800 --> 00:27:29,360 U redu. 622 00:27:29,360 --> 00:27:31,850 >> Dakle, ovdje je samo s Gmail Račun John Harvard. 623 00:27:31,850 --> 00:27:34,000 Dakle, ako želim poslati SMS poruke Alexu, 624 00:27:34,000 --> 00:27:35,530 Mogu naravno sastaviti poruku. 625 00:27:35,530 --> 00:27:38,410 I to ispada, a ja sam testirana je s Alexom prije ovdje, 626 00:27:38,410 --> 00:27:42,260 tako da možete dodati određenu domenu ime se ljudi telefonskih brojeva, 627 00:27:42,260 --> 00:27:45,850 jer postoji u svijetu stvari zove SMS na e-mail gateway. 628 00:27:45,850 --> 00:27:50,000 Koji je fancy način govoreći sve od nas koji imaju mobitele koji 629 00:27:50,000 --> 00:27:53,200 ima telefonske brojeve, naravno, vjerojatno je za svoj prijevoznika, 630 00:27:53,200 --> 00:27:56,840 neki sufiks kao u Vtext.com za Verizon SMS poruke 631 00:27:56,840 --> 00:28:00,320 dot com, koje možete dodati na svoj osobni telefonski broj, a zatim 632 00:28:00,320 --> 00:28:03,540 vi ili prijatelja, ili tvoji roditelji mogu tekst koji u tom adrese. 633 00:28:03,540 --> 00:28:07,380 >> A Verizon ima poslužitelj, e-mail poslužitelja, da po primitku ovu e-poštu, 634 00:28:07,380 --> 00:28:11,180 gleda na numeričkom dijelu, a zatim koristi bez obzira na posebnu čaroliju industrije 635 00:28:11,180 --> 00:28:14,540 oni su zapravo ga poslati preko airwaves u vašem stanica 636 00:28:14,540 --> 00:28:15,040 telefon. 637 00:28:15,040 --> 00:28:18,030 Sada je to lijepo, jer ja ne znam kako poslati SMS poruku 638 00:28:18,030 --> 00:28:20,460 ili pisati kod gostiju za moj mobitel, 639 00:28:20,460 --> 00:28:23,580 i što bi mogli učiniti upravo to za konačni projekt, ali za sada sve 640 00:28:23,580 --> 00:28:24,770 Imam je moj laptop ovdje. 641 00:28:24,770 --> 00:28:29,830 Dakle, želim ponoviti tijekom tog CSV datoteka, redak po redak po redak po redak, 642 00:28:29,830 --> 00:28:35,160 zgrabite svaki od osoblja telefonske brojeve, a njihov nosač i programiranjem, 643 00:28:35,160 --> 00:28:39,770 spojite, to jest, spojite telefon Broj uz odgovarajuće domene 644 00:28:39,770 --> 00:28:40,820 a zatim pošaljite e-mail. 645 00:28:40,820 --> 00:28:41,940 >> Dakle, to je puno koraka. 646 00:28:41,940 --> 00:28:45,530 I sretno da radi u C. To je noćna mora situaciji 647 00:28:45,530 --> 00:28:48,350 otvoriti datoteku, za čitanje linija, po liniji, po liniji, kao i vi 648 00:28:48,350 --> 00:28:51,100 vide, ili možda uskoro vidjeti s problemom postaviti pet, ako ne i 649 00:28:51,100 --> 00:28:53,560 Problem postaviti četiri, a zatim dinamički concatenate 650 00:28:53,560 --> 00:28:57,020 dvije žice skupa, jer u C, uzeti dvije žice i kombinirati ih, 651 00:28:57,020 --> 00:29:00,900 što vam je činiti minimalno trebate učiniti najvjerojatnije? 652 00:29:00,900 --> 00:29:03,020 Morate proglasiti više memorije, zar ne? 653 00:29:03,020 --> 00:29:04,710 I pitati, malloc, mogu imati više memorije? 654 00:29:04,710 --> 00:29:07,060 Dakle, ja mogu staviti pola toga ovdje, pola toga ovdje. 655 00:29:07,060 --> 00:29:08,150 To je samo toliko koraka. 656 00:29:08,150 --> 00:29:10,310 I tog trenutka ste izgubili interes u glupom malom demo 657 00:29:10,310 --> 00:29:11,851 gdje bi svačiji telefonski signal. 658 00:29:11,851 --> 00:29:14,590 Idemo napraviti ovu vrstu PHP stil, pri čemu smo upravo 659 00:29:14,590 --> 00:29:16,210 početi koristiti više tog sudopera. 660 00:29:16,210 --> 00:29:18,050 >> A ideje osnovi isti, 661 00:29:18,050 --> 00:29:20,710 ali ne morate brinuti previše mnogo o toj nižoj razini. 662 00:29:20,710 --> 00:29:22,950 Tako ćemo vidjeti kako sam možda ići o događaj ovaj. 663 00:29:22,950 --> 00:29:26,664 I samo tako da ja ne ponoviti pogreške iz prošlosti, 664 00:29:26,664 --> 00:29:28,330 Ja sam napisao neke bilješke za sebe ovdje. 665 00:29:28,330 --> 00:29:31,070 I neka je vidjeti ako nas mogu hodati kroz neke od temeljnih koraka, 666 00:29:31,070 --> 00:29:33,861 a onda zbog tadašnjeg mi ćemo možda smanjiti neke kutove na kraju. 667 00:29:33,861 --> 00:29:38,007 Ja ću ići naprijed i učiniti otvorena Nosač PHP pokrenuti ovu datoteku. 668 00:29:38,007 --> 00:29:39,590 I ja ću ići naprijed i učiniti. 669 00:29:39,590 --> 00:29:41,490 Ručicu File, kao što ćete uskoro vidjeti, zapravo 670 00:29:41,490 --> 00:29:44,790 poziva funkciju zove f otvoren. 671 00:29:44,790 --> 00:29:46,280 I zapamtite ovo otvara datoteku. 672 00:29:46,280 --> 00:29:48,800 A citat, citat, r znači što, opet? 673 00:29:48,800 --> 00:29:49,800 Samo ga otvoriti za čitanje. 674 00:29:49,800 --> 00:29:51,210 Sada je u p set za, što je to učinio. 675 00:29:51,210 --> 00:29:54,500 I nositi može biti bilo što, fu, bar, bas, bilo ime varijable. 676 00:29:54,500 --> 00:29:57,470 Ali općenito računalo Znanstvenik će nazvati otvorenu datoteku, 677 00:29:57,470 --> 00:30:00,962 dajući vam ručku datoteke, nešto zadržati tako kažemo. 678 00:30:00,962 --> 00:30:02,670 Samo ću učiniti neke provjere pogreške. 679 00:30:02,670 --> 00:30:07,260 Dakle, ako je ručka je lažna, baš kao i u C, ja ću napraviti nešto slično, 680 00:30:07,260 --> 00:30:09,545 ne mogu otvoriti datoteku, kose crtice n. 681 00:30:09,545 --> 00:30:11,420 A onda sam upravo idem ići naprijed i izlaz. 682 00:30:11,420 --> 00:30:14,340 I to ispada, u PHP, Nisam u funkciji. 683 00:30:14,340 --> 00:30:16,160 Nema glavna funkcija ovdje. 684 00:30:16,160 --> 00:30:17,450 Dakle, ja ne vrati, sami po sebi. 685 00:30:17,450 --> 00:30:18,120 Ja izlaz. 686 00:30:18,120 --> 00:30:19,619 Koji je u biti ista stvar. 687 00:30:19,619 --> 00:30:22,510 I ja sam izlaska s jednom y vjerojatno. 688 00:30:22,510 --> 00:30:24,220 Jedan samo znači pogrešku neke vrste. 689 00:30:24,220 --> 00:30:25,580 To je ne-nula, tako da je pogreška. 690 00:30:25,580 --> 00:30:30,220 >> U redu, ako sam ovdje sada u mom programu sam otvorio datoteku. 691 00:30:30,220 --> 00:30:34,250 Idem da ide naprijed i proglasiti niz naziva adrese, 692 00:30:34,250 --> 00:30:38,610 i C ću morati znati veličina polja unaprijed, zar ne? 693 00:30:38,610 --> 00:30:41,910 Ili bih morati proglasiti ovo je pokazivač, a zatim koristite malloc. 694 00:30:41,910 --> 00:30:44,720 I onda svaki put sam pročitao preko drugog reda u spisu, 695 00:30:44,720 --> 00:30:46,620 Idem morati malloc više memorije, malloc više memorije. 696 00:30:46,620 --> 00:30:47,703 To je bol u vratu. 697 00:30:47,703 --> 00:30:50,950 I srećom, PHP, i Ruby, i Python i JavaScript, oni 698 00:30:50,950 --> 00:30:53,880 će rasti vaše polja za vas automatski. 699 00:30:53,880 --> 00:30:54,830 Nema više malloc. 700 00:30:54,830 --> 00:30:56,227 Nema više upravljanje memorijom. 701 00:30:56,227 --> 00:30:57,560 Računalo brine o tome. 702 00:30:57,560 --> 00:31:00,330 No, cijena koju plaćate. 703 00:31:00,330 --> 00:31:01,350 To je malo sporije. 704 00:31:01,350 --> 00:31:03,190 A za program kao što je ovaj nećemo primijetiti. 705 00:31:03,190 --> 00:31:04,720 Idemo poslati 100 SMS poruka. 706 00:31:04,720 --> 00:31:06,136 Na primjer neće osjetiti. 707 00:31:06,136 --> 00:31:08,430 To stvarno samo počinje smeta svoj jezik izbora 708 00:31:08,430 --> 00:31:11,490 kada vaši podaci ili programi se stvarno, stvarno poveliki, 709 00:31:11,490 --> 00:31:14,120 kao što će biti slučaj i više Naš web-based stvari. 710 00:31:14,120 --> 00:31:15,450 >> No, za sada ćemo se kretati. 711 00:31:15,450 --> 00:31:20,120 Iako ispada postoji funkcija u C zove f dobili CSV. 712 00:31:20,120 --> 00:31:24,570 File dobili CSV, koji traje ručku podnijeti kao svoj argument, 713 00:31:24,570 --> 00:31:28,810 a nastavlja se zatim, red po red po red, čitati po redu. 714 00:31:28,810 --> 00:31:30,964 Dakle, to je samo čita liniju teksta iz datoteke. 715 00:31:30,964 --> 00:31:34,130 No, ono što je lijepo o ovoj funkciji, ne samo ruku mi jedan redak teksta. 716 00:31:34,130 --> 00:31:37,320 Izgleda za one tipkovnici, i analizira liniju. 717 00:31:37,320 --> 00:31:41,740 I analizirati liniju znači podijeliti da na određenim vrijednostima u tom kontekstu. 718 00:31:41,740 --> 00:31:45,510 >> Drugim riječima, dolar znak red je varijabla koja je 719 00:31:45,510 --> 00:31:47,010 će mi dati hrpu indeksa. 720 00:31:47,010 --> 00:31:49,635 Ovo će biti Prvi stupac u mom CSV. 721 00:31:49,635 --> 00:31:52,510 Ovo će biti drugi stupac, ovo će biti treći, 722 00:31:52,510 --> 00:31:53,968 i to će biti četvrti. 723 00:31:53,968 --> 00:31:57,440 Zbog Podsjetimo, i Excel NOT surađivati ​​zadnji put kad smo radili ovo, 724 00:31:57,440 --> 00:32:03,350 ali ako sam preuzeti osoblje dot CSV. 725 00:32:03,350 --> 00:32:04,940 Ups, ne preimenovati. 726 00:32:04,940 --> 00:32:09,120 Ako sam preuzeti osoblje točku CSV, i pokušajte je otvoriti, 727 00:32:09,120 --> 00:32:12,510 Već sam registered-- oh ja nije ažurirati Excel od prošlog puta. 728 00:32:12,510 --> 00:32:15,880 Vidjet ćete da se u osoblje točkom CSV, imam četiri stupca. 729 00:32:15,880 --> 00:32:18,720 Dakle, kada sam pročitao u Prvi red za Abby ovdje 730 00:32:18,720 --> 00:32:23,582 Dolar znak red 0 je Abby, Dolar znak red jedan je Lyons, 731 00:32:23,582 --> 00:32:27,740 Dolar znak red dva je njezin broj, a zatim prijevoznik njezina telefona. 732 00:32:27,740 --> 00:32:28,410 >> Pa to je sve. 733 00:32:28,410 --> 00:32:30,740 I to je lijepo, jer sam ne moraju se sada shvatiti 734 00:32:30,740 --> 00:32:32,800 gdje sve te tipkovnici zapravo jesu. 735 00:32:32,800 --> 00:32:35,300 Tako ću ići naprijed i to, s obzirom da je definicija, 736 00:32:35,300 --> 00:32:38,960 Ja ću reći da joj je ime u nizu zagrada nula, kao što je obećao. 737 00:32:38,960 --> 00:32:41,150 I ja ću grab-- i Zapravo, znaš što? 738 00:32:41,150 --> 00:32:42,780 Neću se brinuti njezino ime, u ovom slučaju. 739 00:32:42,780 --> 00:32:43,988 Idem da je jednostavnije. 740 00:32:43,988 --> 00:32:48,610 Ja ću učiniti njen broj u redu zagrada dva, mislim. 741 00:32:48,610 --> 00:32:50,510 A njezin nosilac bio gdje? 742 00:32:50,510 --> 00:32:53,405 Red tri, jedan više. 743 00:32:53,405 --> 00:32:54,280 Dakle, ništa novo tamo. 744 00:32:54,280 --> 00:32:56,770 To je samo nula indeksiranje u niz. 745 00:32:56,770 --> 00:32:58,760 >> I sada, ja ću učiniti sljedeće. 746 00:32:58,760 --> 00:33:03,930 Ako prijevoznik jednaka jednaka AT & T-- Samo ću imati loop-- 747 00:33:03,930 --> 00:33:06,790 Želim stvoriti e-mail adresa koja izgleda ovako. 748 00:33:06,790 --> 00:33:12,320 To će biti 617-555-1212 na, što je to, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 je ono što želim učiniti. 750 00:33:13,490 --> 00:33:15,260 Pa kako mogu to učiniti? 751 00:33:15,260 --> 00:33:16,730 Ja ću učiniti sljedeće. 752 00:33:16,730 --> 00:33:22,460 Njezina adresa će biti njezin broj, i sad, neka mi ići naprijed i učiniti. 753 00:33:22,460 --> 00:33:23,760 To je neka funky sintakse. 754 00:33:23,760 --> 00:33:27,250 Sam mogao učiniti posto e trik, ali ja zapravo mogu samo to učiniti. 755 00:33:27,250 --> 00:33:29,900 >> Dakle, ovo je PHP stvar, ali neka je razmotriti što radim. 756 00:33:29,900 --> 00:33:31,630 Dolari prijaviti adresu na lijevi, samo varijabla. 757 00:33:31,630 --> 00:33:32,300 Daj mi varijablu. 758 00:33:32,300 --> 00:33:33,390 Ne moraju navesti vrstu. 759 00:33:33,390 --> 00:33:34,570 PHP će to shvatiti. 760 00:33:34,570 --> 00:33:36,580 Na desnoj strani, što je tip podataka 761 00:33:36,580 --> 00:33:38,399 te cijele stvari na desna strana ruka? 762 00:33:38,399 --> 00:33:40,190 Izgleda kao string, jer je dvostruka 763 00:33:40,190 --> 00:33:42,280 citati na krajnje lijevo i krajnje desno. 764 00:33:42,280 --> 00:33:44,210 Sada postoji neki funky novi sintaksu ovdje. 765 00:33:44,210 --> 00:33:47,550 Tu je vitičastim zagradama, i dolar znak broj. 766 00:33:47,550 --> 00:33:52,860 Ali pogodite što je to sintakse vjerojatno reći PHP učiniti za mene? 767 00:33:52,860 --> 00:33:53,360 Da. 768 00:33:53,360 --> 00:33:54,630 Samo umetnite vrijednost tamo. 769 00:33:54,630 --> 00:33:55,530 Dakle, nema posto je. 770 00:33:55,530 --> 00:33:58,160 Mogli bismo iskoristiti ispisa f ili S Ispis f ili nešto slično tome, 771 00:33:58,160 --> 00:34:00,070 ali PHP i puno viši razinu jezika, 772 00:34:00,070 --> 00:34:03,070 ti si idući u vidjeti da bi mogao napraviti istu stvar funkcionalno, možda 773 00:34:03,070 --> 00:34:04,019 šest različitih načina. 774 00:34:04,019 --> 00:34:06,310 I tako počinje da postane pitanje dizajna ili stila. 775 00:34:06,310 --> 00:34:09,902 Dakle, ovo je samo zagonetna izgleda put kaže, daj mi adresu e-pošte, 776 00:34:09,902 --> 00:34:12,110 ali plug-in broja u između tih vitičastih zagrada. 777 00:34:12,110 --> 00:34:15,440 A vitičastih zagrada neće završiti u konačnom adresu. 778 00:34:15,440 --> 00:34:18,010 >> Sada možemo preskočiti neke od ove linije za dobrobit vremena je. 779 00:34:18,010 --> 00:34:21,210 Dakle, ako nositelj jednaka jednako verHorizon-- Ups, 780 00:34:21,210 --> 00:34:24,989 Verizon-- Želim učiniti nešto vrlo slično, gdje je adresa dobiva, 781 00:34:24,989 --> 00:34:27,569 citat, citat, broj na text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 I onda ja mogu napraviti istu vrstu stvar za ostatak prijevoznika. 784 00:34:35,050 --> 00:34:37,090 Ali ja ću učiniti točku, točku, točku za sada. 785 00:34:37,090 --> 00:34:43,050 A sada pretpostavimo da Želim dodati niz, gurati. 786 00:34:43,050 --> 00:34:45,969 Želim dodati polje, pozvao adrese. 787 00:34:45,969 --> 00:34:50,409 >> Ova adresa, to je kako ti dodati nešto na niz u PHP-u. 788 00:34:50,409 --> 00:34:51,610 Vi ne trebate učiniti malloc. 789 00:34:51,610 --> 00:34:53,068 Ne morate promijeniti veličinu niz. 790 00:34:53,068 --> 00:34:54,259 Vi samo reći array, gurati. 791 00:34:54,259 --> 00:34:57,300 Što želite push-- što array želite gurati nešto na? 792 00:34:57,300 --> 00:34:58,000 Adresa. 793 00:34:58,000 --> 00:34:59,550 Što želite gurnuti na adrese? 794 00:34:59,550 --> 00:35:00,350 Adresa. 795 00:35:00,350 --> 00:35:02,430 A u stvari, ako vas stvarno želim biti pametan, 796 00:35:02,430 --> 00:35:05,610 Neki sintaktički šećera za to, da se tako izrazim, 797 00:35:05,610 --> 00:35:10,230 što samo znači kako možete to učiniti u ljepše način, da bi se to učiniti. 798 00:35:10,230 --> 00:35:14,060 To također ima za posljedicu raste Adrese niz po veličini jedne, 799 00:35:14,060 --> 00:35:17,130 a zatim pasti da dodatno e-mail adresu u njega. 800 00:35:17,130 --> 00:35:17,630 Da. 801 00:35:17,630 --> 00:35:19,730 >> PUBLIKA: [nečujan] 802 00:35:19,730 --> 00:35:22,520 >> SPEAKER 1: pogreška pri upisu na drugo if-- oh, nosač. 803 00:35:22,520 --> 00:35:23,070 To je u redu. 804 00:35:23,070 --> 00:35:26,971 Također se neće svidjeti moj propust provesti dio ovog programa 805 00:35:26,971 --> 00:35:27,470 kasnije. 806 00:35:27,470 --> 00:35:28,810 Ali hvala ti za lov. 807 00:35:28,810 --> 00:35:30,671 Još jedan bug. 808 00:35:30,671 --> 00:35:31,170 Hvala. 809 00:35:31,170 --> 00:35:33,746 Želimo da to bude Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Da. 811 00:35:34,340 --> 00:35:34,839 U redu. 812 00:35:34,839 --> 00:35:36,330 Pa gdje to nas ostaviti? 813 00:35:36,330 --> 00:35:38,224 Mi smo napisao kod za otvaranje datoteke. 814 00:35:38,224 --> 00:35:40,390 Imamo petlje ponoviti više redaka u datoteci. 815 00:35:40,390 --> 00:35:43,650 Imamo kôd koji dodaje da se moj niz, jedan po jedan, kao ispravno 816 00:35:43,650 --> 00:35:44,790 formatiran e-mail adresu. 817 00:35:44,790 --> 00:35:48,480 Dakle, sve to stvarno i dalje je poslati e-mail na svaku od tih osoba. 818 00:35:48,480 --> 00:35:52,830 >> Tako sam otišao naprijed i pripremio sam se na sljedeći način. 819 00:35:52,830 --> 00:35:59,580 Što ću učiniti ovdje is-- i neka je ići naprijed i preskočiti do neke stvarne koda, 820 00:35:59,580 --> 00:36:00,620 koji izgleda ovako. 821 00:36:00,620 --> 00:36:02,950 Dakle, ovdje je prije pečena Verzija sam ranije pisao. 822 00:36:02,950 --> 00:36:04,700 I primijetiti sam završio provedbi Sprint. 823 00:36:04,700 --> 00:36:06,130 Završio sam provedbi T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Završio sam provedbi Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 I ja ću se ispričati unaprijed. 826 00:36:09,622 --> 00:36:12,080 Postoji nekoliko prijevoznici koji neki učenici u razredu imaju 827 00:36:12,080 --> 00:36:14,640 da ja ne zamaram nabrajanjem u Ako stanje ovdje. 828 00:36:14,640 --> 00:36:16,015 Dakle, nisu svi tekstovi će izaći. 829 00:36:16,015 --> 00:36:17,556 Ali da vidimo što još moram učiniti. 830 00:36:17,556 --> 00:36:19,660 Ja zatvorite datoteku, jednostavno kao što je u p postavljena četiri. 831 00:36:19,660 --> 00:36:20,835 >> I ovo je nova sintakse. 832 00:36:20,835 --> 00:36:22,710 I vidjet ćemo malo malo toga tijekom vremena, 833 00:36:22,710 --> 00:36:24,450 osobito s p postaviti sedam i osam. 834 00:36:24,450 --> 00:36:28,140 Ali to je sintaksa za stvaranje posebna vrsta strukture. 835 00:36:28,140 --> 00:36:31,490 Ispada da postoji knjižnica koja dolazi s PHP, zove PHP-om. 836 00:36:31,490 --> 00:36:33,840 Njegova svrha u životu je da programski poslati e-mail. 837 00:36:33,840 --> 00:36:36,840 To je broj netko napisao da olakšava nam poslati e-mail, 838 00:36:36,840 --> 00:36:39,131 tako da ne morate držati ide naprijed i natrag na Gmail, 839 00:36:39,131 --> 00:36:41,151 i zalijepiti u tuđe e-mail adrese. 840 00:36:41,151 --> 00:36:44,150 Postoji cijela hrpa linija ovdje da iskreno, ja samo vrsta kopirati 841 00:36:44,150 --> 00:36:45,660 i zalijepiti iz dokumentacije. 842 00:36:45,660 --> 00:36:47,409 A u stvari, ako ste znatiželjna, ostavila sam sve 843 00:36:47,409 --> 00:36:50,550 URL-ove dokumentacije u kod koji ćemo objaviti naknadno. 844 00:36:50,550 --> 00:36:52,360 I primijetiti da među stvari koje radim 845 00:36:52,360 --> 00:36:55,710 je, ja govorim ovu knjižnicu, koristiti Gmail poslužitelj, zar ne? 846 00:36:55,710 --> 00:36:59,360 SMTP smo kratko razgovarali o kad smo bili su na Yaleu o tome jednostavna mail 847 00:36:59,360 --> 00:37:00,110 protokol za prijenos. 848 00:37:00,110 --> 00:37:02,920 To je protokol koji poslužitelji koriste za slanje e-pošte, 849 00:37:02,920 --> 00:37:05,150 i that's-- Gmail je jedan od njih. 850 00:37:05,150 --> 00:37:07,290 Luke, to je broj TCP priključak. 851 00:37:07,290 --> 00:37:09,630 To je u redu ako vas nisu vidjeli 587 prije. 852 00:37:09,630 --> 00:37:11,420 Samo znam da iz dokumentacije. 853 00:37:11,420 --> 00:37:12,250 Evo moje korisničko ime. 854 00:37:12,250 --> 00:37:13,670 Idem koristiti CF50 bot. 855 00:37:13,670 --> 00:37:16,690 I u ovom trenutku, samo sam ću upišite bot stvarnog lozinkom. 856 00:37:16,690 --> 00:37:18,690 I onda ovdje, primijetiti ono što ostaje. 857 00:37:18,690 --> 00:37:22,840 >> Postavljam iz adresu biti BOT na CS50.net. 858 00:37:22,840 --> 00:37:26,240 Mislim da nećete požaliti slanjem SMS poruke na 800 ljudi koji 859 00:37:26,240 --> 00:37:30,590 kaže, nedostaje ti, ljubav CS50 bot, možda za one koji nisu mogli to učiniti danas. 860 00:37:30,590 --> 00:37:33,160 A onda u redu 76, što da radim? 861 00:37:33,160 --> 00:37:39,010 Ova vrsta izgleda kao C. Dakle za i jednak 0, n equals-- sada računati novo. 862 00:37:39,010 --> 00:37:42,077 Ispada da ako želite da biste dobili broj stvari u niz, 863 00:37:42,077 --> 00:37:43,660 ne morate se sjetiti više. 864 00:37:43,660 --> 00:37:45,370 Vi samo možete pitati funkcija zove kut 865 00:37:45,370 --> 00:37:48,320 a to će vam reći koliko Adrese su u tom nizu. 866 00:37:48,320 --> 00:37:53,210 >> A onda ću dodati adresa na e-mail. 867 00:37:53,210 --> 00:37:55,090 I znam to iz pomoću dokumentaciju. 868 00:37:55,090 --> 00:37:56,900 Postoji funkcija dodati adresu. 869 00:37:56,900 --> 00:37:58,980 I sad tu obavijest jedan komad sintakse. 870 00:37:58,980 --> 00:38:01,470 Vidjeli smo to prije u C. Slično u duhu. 871 00:38:01,470 --> 00:38:04,100 Možete misliti znak za dolar mail kao varijabla, što je to. 872 00:38:04,100 --> 00:38:08,100 No, to je struct unutar koji nisu samo nekretnine, 873 00:38:08,100 --> 00:38:09,400 varijable, ako će. 874 00:38:09,400 --> 00:38:13,480 No, ispada da je u PHP-u, koji je je objektno orijentirani programski 875 00:38:13,480 --> 00:38:16,520 jezik, kao što je Java, ako je APC. 876 00:38:16,520 --> 00:38:21,420 >> Dolar znak mail, ako želite to-- ona također ima funkcije unutar nje, 877 00:38:21,420 --> 00:38:22,380 ili metode. 878 00:38:22,380 --> 00:38:24,720 Dakle, ovo je reći da Posebna PHP-om 879 00:38:24,720 --> 00:38:29,280 knjižnica, ako imam varijablu istih, ako želim pozvati funkciju koja 880 00:38:29,280 --> 00:38:31,559 dolazi s tim knjižnica, za današnje potrebe, 881 00:38:31,559 --> 00:38:33,100 samo znam da koristite strelicu zapis. 882 00:38:33,100 --> 00:38:34,150 Nema točaka zapis. 883 00:38:34,150 --> 00:38:35,220 To je samo strelica. 884 00:38:35,220 --> 00:38:36,380 Ali to nije pokazivač. 885 00:38:36,380 --> 00:38:38,680 To je samo posudio iz C u sintaksi. 886 00:38:38,680 --> 00:38:43,620 Dakle, poziv dodajte adresu unutar Ova knjižnica je predmet ili promjenjiva. 887 00:38:43,620 --> 00:38:44,440 >> U redu. 888 00:38:44,440 --> 00:38:45,570 To je čarobna linija. 889 00:38:45,570 --> 00:38:46,740 Tako sam poslati e-mail. 890 00:38:46,740 --> 00:38:50,040 To je ekvivalent otvaranja Gmail, upisivanjem ga i udarajući poslati. 891 00:38:50,040 --> 00:38:54,870 Ali to će umjesto toga poslati e-mail na ovu adresu, s tim tijelom, 892 00:38:54,870 --> 00:38:57,120 iz CS50 bot. 893 00:38:57,120 --> 00:38:58,710 A sada ključna linija. 894 00:38:58,710 --> 00:39:03,130 Ova linija je odsutna u 2011 kao kad mislim da sam zadnji pokušao to. 895 00:39:03,130 --> 00:39:05,640 Da ima liniju, naravno, Čisti adrese. 896 00:39:05,640 --> 00:39:07,920 Pa logično, ako sam ne jasno adresu 897 00:39:07,920 --> 00:39:11,740 Nakon svakog ponavljanja prvi e-mail ili SMS poruka ide na Alice, 898 00:39:11,740 --> 00:39:14,320 druga ide Alice i Bob, treći 899 00:39:14,320 --> 00:39:17,870 ide na Alice i Bob i Charlie, stoga je vrlo skupa pogreška 900 00:39:17,870 --> 00:39:18,760 Napravio sam te godine. 901 00:39:18,760 --> 00:39:21,080 >> Tako ćemo vidjeti. 902 00:39:21,080 --> 00:39:24,200 Ima li kakvih pitanja prije nego što smo vam poslati sve tekst 903 00:39:24,200 --> 00:39:28,210 Poruka s 10 posto vjerojatnosti? 904 00:39:28,210 --> 00:39:28,940 Ima li pitanja? 905 00:39:28,940 --> 00:39:30,330 U redu. 906 00:39:30,330 --> 00:39:36,100 Idemo me ovdje i promjene lozinka za ono što bi trebao raditi, 907 00:39:36,100 --> 00:39:37,780 vjerojatno će dobiti crnu listu Gmail. 908 00:39:37,780 --> 00:39:39,821 Dakle, oni ne bi mogli svi ići van, jer oni vjerojatno 909 00:39:39,821 --> 00:39:42,960 nemojte nas vole slanje e-pošte 800 u for petlji sve odjednom. 910 00:39:42,960 --> 00:39:45,140 Budući da to nije posebno ljudsko ponašanje. 911 00:39:45,140 --> 00:39:47,460 >> Oh, ja ću promijeniti jednu stvar. 912 00:39:47,460 --> 00:39:50,850 Gore na vrhu, idem sent-- promijenite datoteku studenti dot CSV. 913 00:39:50,850 --> 00:39:55,420 I neću otvoriti ovo, ali to je identična CSV datoteka s ne 100 djelatnika, 914 00:39:55,420 --> 00:39:58,970 ali 800 učenika, jednostavno s Harvarda, jer Yale 915 00:39:58,970 --> 00:40:00,207 ima udubljenje listopada ovaj tjedan. 916 00:40:00,207 --> 00:40:03,290 I čini se kao vrsta kreten stvar učiniti u tekst sve od njih zašto 917 00:40:03,290 --> 00:40:04,750 oni nisu u razredu na odmoru. 918 00:40:04,750 --> 00:40:05,250 To je u redu. 919 00:40:05,250 --> 00:40:08,310 Samo Harvardski studenti Danas unutar te datoteke. 920 00:40:08,310 --> 00:40:12,320 A sada idemo natrag na moj prozor terminala. 921 00:40:12,320 --> 00:40:13,710 Ja sam vrsta nervozna. 922 00:40:13,710 --> 00:40:22,000 >> U redu pa sad ću ulaziti u katalog, i PHP tekst dot PHP. 923 00:40:22,000 --> 00:40:24,950 Kako o jednom hrabrom volonter? 924 00:40:24,950 --> 00:40:26,690 Dakle, ne želim ovo na mene. 925 00:40:26,690 --> 00:40:28,410 U redu, hajde gore. 926 00:40:28,410 --> 00:40:29,162 Kako se zoveš? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 SPEAKER 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Dođi gore, Maya. 930 00:40:31,610 --> 00:40:34,120 U redu. 931 00:40:34,120 --> 00:40:35,389 Idemo vidjeti ako to radi. 932 00:40:35,389 --> 00:40:38,430 Stavio sam svoju adresu e-pošte u file-- svoj broj telefona u spisu, 933 00:40:38,430 --> 00:40:40,110 tako da nadam se da ću dobiti jedan, kao dobro. 934 00:40:40,110 --> 00:40:40,819 Drago nam je. 935 00:40:40,819 --> 00:40:41,443 MAYA: Isto. 936 00:40:41,443 --> 00:40:44,510 SPEAKER 1: Dakle, sve što morate učiniti je pritisnite Enter poslati 800 SMS poruka, 937 00:40:44,510 --> 00:40:45,466 ako nisam zeznuo. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Lijepo. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Može potrajati, statistički, dok ne dođemo na e-mail address-- 942 00:40:58,430 --> 00:41:00,573 SMS poruka koja je u sobi sada. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Idemo oklijevati i vidjeti. 945 00:41:05,390 --> 00:41:06,940 >> PUBLIKA: [zviždanje] 946 00:41:06,940 --> 00:41:08,270 >> SPEAKER 1: Oh, da. 947 00:41:08,270 --> 00:41:09,230 >> PUBLIKA: Oh, Gotcha. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> SPEAKER 1: Za petlje are-- to Nije spor zbog PHP. 950 00:41:19,180 --> 00:41:21,810 To je spor, jer Gmail nas proporcionalnost i ne 951 00:41:21,810 --> 00:41:25,170 ste nas poslali više od kao jedan e-mail u sekundi. 952 00:41:25,170 --> 00:41:26,300 Bilo što? 953 00:41:26,300 --> 00:41:29,990 To je teško stvar za mene testirati na kući sa samo mene i moje jednog telefona, tako. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Je li to nadamo se s bot? 956 00:41:41,111 --> 00:41:41,610 Da? 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 Reci da. 960 00:41:46,620 --> 00:41:47,479 Ne? 961 00:41:47,479 --> 00:41:49,374 To je od prijatelja? 962 00:41:49,374 --> 00:41:49,874 Nespretan. 963 00:41:49,874 --> 00:41:50,374 U REDU. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Prilično siguran da radi ipak. 966 00:42:00,090 --> 00:42:00,910 Uh oh. 967 00:42:00,910 --> 00:42:03,190 Oni black-- oh, čekaj malo. 968 00:42:03,190 --> 00:42:04,280 Znaš što? 969 00:42:04,280 --> 00:42:06,100 Trenutak molim. 970 00:42:06,100 --> 00:42:07,802 Samo Maya i I-- Mia, to je bio? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 SPEAKER 1: Maya, idu znate što sam učinio krivo ovdje. 973 00:42:12,110 --> 00:42:14,890 Oh, čekaj malo. 974 00:42:14,890 --> 00:42:23,320 Mislim da sam upravo poslao 100 SMS poruka na 555-1212. 975 00:42:23,320 --> 00:42:24,346 Pričekaj. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Ja ne mogu pobijediti bilo koju godinu. 978 00:42:29,270 --> 00:42:30,180 U REDU. 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 Škripac da je u postprodukciji. 982 00:42:36,219 --> 00:42:36,718 Dammit! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Nakon od adrese. 985 00:42:40,390 --> 00:42:41,301 OK, stand by. 986 00:42:41,301 --> 00:42:41,800 Oprostite. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 To je bolno svake godine. 989 00:42:47,080 --> 00:42:48,640 OK, jedan trenutak. 990 00:42:48,640 --> 00:42:50,530 Ovo je dobro. 991 00:42:50,530 --> 00:42:54,010 Ja umjesto toga to učiniti. 992 00:42:54,010 --> 00:42:55,470 Ispis adresa. 993 00:42:55,470 --> 00:42:56,030 OK, stand by. 994 00:42:56,030 --> 00:43:01,340 Ispis adrese, nosač i. 995 00:43:01,340 --> 00:43:02,710 Da, to mi se sviđa. 996 00:43:02,710 --> 00:43:10,220 Dolar sign-- OK ću objasniti što sam radi u ovom trenutku, nakon što sam pokrenuti ovo. 997 00:43:10,220 --> 00:43:11,670 Svake godine. 998 00:43:11,670 --> 00:43:13,125 OK, ovdje mi ići. 999 00:43:13,125 --> 00:43:15,750 Imam just-- i ne želim pokazati svačiji broj telefona, 1000 00:43:15,750 --> 00:43:17,740 ali Maya mogu potvrditi s glavom u glavu, 1001 00:43:17,740 --> 00:43:20,800 da vidi svatko je telefonski broj u klasi 1002 00:43:20,800 --> 00:43:26,750 da ću kopirati u program pod nazivom Gmail. 1003 00:43:26,750 --> 00:43:30,860 A ako u Gmailu, što mi želiš reći? 1004 00:43:30,860 --> 00:43:32,137 Nedostaješ mi. 1005 00:43:32,137 --> 00:43:33,220 Love-- to nije od mene. 1006 00:43:33,220 --> 00:43:35,230 Nisam ni hit poslati još. 1007 00:43:35,230 --> 00:43:39,450 Tako ćemo ići naprijed i učiniti ovo, ako ja mogu zumirati. 1008 00:43:39,450 --> 00:43:40,300 U REDU. 1009 00:43:40,300 --> 00:43:42,480 Dakle, ja sam koristeći program pod nazivom Gmail sada. 1010 00:43:42,480 --> 00:43:44,490 Ako Maya, želite kliknite na gumb Pošalji, 1011 00:43:44,490 --> 00:43:46,970 ćemo simulirati što je to broj bi trebao učiniti. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Bilo što? 1014 00:43:55,254 --> 00:43:56,062 >> [BEEPS] 1015 00:43:56,062 --> 00:43:56,870 >> PUBLIKA: Aha. 1016 00:43:56,870 --> 00:43:58,030 >> SPEAKER 1: Da? 1017 00:43:58,030 --> 00:43:59,210 Spasenje? 1018 00:43:59,210 --> 00:44:00,427 >> PUBLIKA: Aha. 1019 00:44:00,427 --> 00:44:01,260 SPEAKER 1: Miss si. 1020 00:44:01,260 --> 00:44:02,718 I ja ću poslati ostatak. 1021 00:44:02,718 --> 00:44:06,060 Sam poslao pola jer nisam mislim Gmail će neka oni proći. 1022 00:44:06,060 --> 00:44:12,410 Dakle, samo zapamtite, danas je dan kako ste naučili da mogu koristiti Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 To je zastrašujuće. 1025 00:44:15,810 --> 00:44:17,140 Veliki pljesak za Maya. 1026 00:44:17,140 --> 00:44:18,980 Hvala. 1027 00:44:18,980 --> 00:44:21,280 U redu, tako. 1028 00:44:21,280 --> 00:44:22,210 što 1029 00:44:22,210 --> 00:44:23,140 >> [BEEPS] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Imamo nekoliko zvučnih signala, zar ne? 1032 00:44:26,580 --> 00:44:27,080 U redu. 1033 00:44:27,080 --> 00:44:30,590 Sada ću dobiti 700 stvarno nesretne e-mail natrag od kolega. 1034 00:44:30,590 --> 00:44:32,400 Tako barem ćemo vidjeti ako je to isplati. 1035 00:44:32,400 --> 00:44:33,300 Dakle, što je pošlo po zlu? 1036 00:44:33,300 --> 00:44:35,300 Ja ću shvatiti što je pošlo krivo nakon što je činjenica, 1037 00:44:35,300 --> 00:44:38,340 ali samo pogledajte kako je lako bilo je to učiniti u PHP-u. 1038 00:44:38,340 --> 00:44:44,598 Dakle, što možemo zapravo učiniti sada da imamo izražajnost PHP. 1039 00:44:44,598 --> 00:44:45,970 To was-- to je strašno. 1040 00:44:45,970 --> 00:44:46,480 U redu. 1041 00:44:46,480 --> 00:44:48,430 Dakle, to je ono što bi trebao otići van. 1042 00:44:48,430 --> 00:44:52,770 To je mene testiranje jutros na moj telefon, stvarni screenshot mog telefona. 1043 00:44:52,770 --> 00:44:56,180 >> No, sada ćemo razmotriti zašto mi zapravo uvođenjem 1044 00:44:56,180 --> 00:44:57,840 sve ove stvari na prvom mjestu. 1045 00:44:57,840 --> 00:45:01,625 Dakle, cilj je da ne pišem ove programe 1046 00:45:01,625 --> 00:45:03,250 zapisano u naredbenom retku, zar ne? 1047 00:45:03,250 --> 00:45:05,000 Zato sam napisao jednostavan Pozdrav programa, napisao sam 1048 00:45:05,000 --> 00:45:09,155 mali program koji radi uvjetne, i koristi za čitanje liniju i tako dalje. 1049 00:45:09,155 --> 00:45:11,530 I u teoriji, samo sam napisao program koji šalje 1050 00:45:11,530 --> 00:45:14,290 800 SMS poruka, dati ili uzeti 800. 1051 00:45:14,290 --> 00:45:16,830 A taj program je sve dalje raditi u naredbenom retku. 1052 00:45:16,830 --> 00:45:18,538 A to je, naravno, Ne web, zar ne? 1053 00:45:18,538 --> 00:45:22,160 Cilj je da se početi koristiti ono što tvrdim je lakše koristiti 1054 00:45:22,160 --> 00:45:24,720 jezik, usuđujem se reći više moćan jezik u smislu 1055 00:45:24,720 --> 00:45:27,104 od značajki koje dolaze s njom, za početak 1056 00:45:27,104 --> 00:45:29,850 pisanje koda koji generira web stranice. 1057 00:45:29,850 --> 00:45:33,248 >> Dakle, zadnji put i prošli tjedan, razgovarali smo o HTTP i HTML. 1058 00:45:33,248 --> 00:45:36,350 A što je lijepo o HTML je da je to samo čisti tekst. 1059 00:45:36,350 --> 00:45:38,220 A tekst je sigurno nešto što možete 1060 00:45:38,220 --> 00:45:42,040 ispisati doslovno zove ispis f funkcija ili funkcija ispisa. 1061 00:45:42,040 --> 00:45:46,160 I doista, to je ono što je PHP Sada će nam omogućiti da učinite. 1062 00:45:46,160 --> 00:45:48,610 Dakle, među primjerima smo imati u današnjem izvornog koda, 1063 00:45:48,610 --> 00:45:51,610 osim nekih koda da sam stavio tamo trenutak prije, 1064 00:45:51,610 --> 00:45:55,440 imamo programe kao što su to na primjer. 1065 00:45:55,440 --> 00:45:58,760 Froshims ili Freshman Intramuralnih Sport, zapravo 1066 00:45:58,760 --> 00:46:01,500 jedan od prvih extracurriculars Sam bio uključen u prije mnogo godina. 1067 00:46:01,500 --> 00:46:03,750 I moj cimer i ja, s neka druga djeca na kampusu, 1068 00:46:03,750 --> 00:46:05,280 koristiti za pokretanje programa froshims. 1069 00:46:05,280 --> 00:46:07,420 Ja sam uzimajući moje tekstualne poruke sada. 1070 00:46:07,420 --> 00:46:14,030 >> Sad tako da smo, u ono vrijeme, tako da je ovo bio je 1996, ili tako, tu je internet, 1071 00:46:14,030 --> 00:46:17,395 ali nije bilo process-- tamo bilo web stranice za froshims. 1072 00:46:17,395 --> 00:46:20,270 I tako, ako ste htjeli prijaviti za nogomet ili odbojku ili što god, 1073 00:46:20,270 --> 00:46:22,240 ti bi ispuniti tu stvar zove komad papira, 1074 00:46:22,240 --> 00:46:25,060 i ti bi hodati po Harvardu dvorište, a ti bi ga gurnite 1075 00:46:25,060 --> 00:46:29,230 u utor pošte u Proctor, koji bio u Wigglessworthovoj, jednom od domova. 1076 00:46:29,230 --> 00:46:31,270 I to su ti registrirani. 1077 00:46:31,270 --> 00:46:33,570 On ili ona bi tada sastaviti e-mail na vas 1078 00:46:33,570 --> 00:46:36,514 ručno, baš kao i ja upravo učinio ovdje s Maya, 1079 00:46:36,514 --> 00:46:38,930 a onda bi se potvrdila kao što je bio registriran. 1080 00:46:38,930 --> 00:46:40,840 >> Dakle, to je kao niska visi voće, da se tako izrazim. 1081 00:46:40,840 --> 00:46:42,930 To je vrsta glupo da smo koristili papir za to. 1082 00:46:42,930 --> 00:46:45,024 Htjela sam da budemo u mogućnosti samo otići na web stranicu, 1083 00:46:45,024 --> 00:46:47,440 ili imaju brucoši ići na web stranica, registrirajte se za sport, 1084 00:46:47,440 --> 00:46:50,398 i samo automatizirati puno ove stvari stavljajući svoje ime i e-mailove 1085 00:46:50,398 --> 00:46:51,850 i tako dalje u bazu podataka. 1086 00:46:51,850 --> 00:46:56,510 A u stvari, vrlo prva verzija web stranice, koristite super ružno HTML, 1087 00:46:56,510 --> 00:46:58,195 možda izgledao ovako nešto. 1088 00:46:58,195 --> 00:47:01,070 To je zapravo, ironično, više neugodno izgleda od ove leđima 1089 00:47:01,070 --> 00:47:01,460 tada. 1090 00:47:01,460 --> 00:47:02,890 Ali sam programski jezik. 1091 00:47:02,890 --> 00:47:06,060 Ne PHP, nego se zove Perl, što je stariji jezik, 1092 00:47:06,060 --> 00:47:07,251 ali vrlo slični u duhu. 1093 00:47:07,251 --> 00:47:09,000 I upravo sam u potpunosti nauči sebe. 1094 00:47:09,000 --> 00:47:12,208 I trebalo mi je neko vrijeme da to shvatiti, pita puno pitanja prijatelja. 1095 00:47:12,208 --> 00:47:14,080 No ideje tamo bili su isti. 1096 00:47:14,080 --> 00:47:18,050 Jer ono PHP zapravo je osmišljen je nije naredbenog retka stvari 1097 00:47:18,050 --> 00:47:20,450 samo smo igrali sa, ali za web programiranje. 1098 00:47:20,450 --> 00:47:24,960 >> To stvarno je vezan u lice postavljen na webu, kao što slijedi. 1099 00:47:24,960 --> 00:47:26,370 To je froshims. 1100 00:47:26,370 --> 00:47:28,720 I ako sam htjela Registrirajte se u ovom obliku, 1101 00:47:28,720 --> 00:47:30,930 to je vrlo ružno, svakako, ali neka mi ići naprijed 1102 00:47:30,930 --> 00:47:34,440 i biti manje udoban student, i što god sport za Matthews, 1103 00:47:34,440 --> 00:47:35,630 kliknite registar. 1104 00:47:35,630 --> 00:47:39,780 Ono što ja želim biti u mogućnosti učiniti je dostaviti podatke iz obrasca, 1105 00:47:39,780 --> 00:47:42,400 ne Googleov poslužitelj kao smo prošli put, u potpunosti 1106 00:47:42,400 --> 00:47:47,100 varanje pomoću njihovih pozadina, ja Želite provesti svoje backend kod. 1107 00:47:47,100 --> 00:47:51,410 Što znači pisanje PHP kod koji živi na URL 1108 00:47:51,410 --> 00:47:54,180 da podaci oblik može se podnijeti. 1109 00:47:54,180 --> 00:47:57,510 >> A onda tvoja koda, napisan u PHP na poslužitelju, 1110 00:47:57,510 --> 00:47:59,400 onda mogu odgovoriti na to korisničkog unosa. 1111 00:47:59,400 --> 00:48:03,287 Kao svoje ime, ili razinu udobnosti, ili spavaonica, a zatim učinite nešto s njom. 1112 00:48:03,287 --> 00:48:05,120 U ovom slučaju, samo sam glupo ga ispisati 1113 00:48:05,120 --> 00:48:06,750 kao tekst, što nije sve što je lijepo. 1114 00:48:06,750 --> 00:48:09,590 Ali ti bi sigurno Zamislite, ako znate HTML, 1115 00:48:09,590 --> 00:48:13,010 i uskoro ćete znati kako generirati HTML kod ispisa F i ispis, 1116 00:48:13,010 --> 00:48:16,500 i slične funkcije, možete sigurno generirati ljepše web stranicu koja kaže, 1117 00:48:16,500 --> 00:48:17,929 hej David, sada su registrirani. 1118 00:48:17,929 --> 00:48:20,220 Ti si manje ugodno student iz Matthews, zar ne? 1119 00:48:20,220 --> 00:48:23,880 >> Vi samo možete koristiti hrpu% SES, Ili vitičastih zagrada i dolar znak 1120 00:48:23,880 --> 00:48:27,750 zapis sam maloprije, za stvaraju tekst koji je više user friendly 1121 00:48:27,750 --> 00:48:28,567 od toga. 1122 00:48:28,567 --> 00:48:30,150 Tako ćemo pogledati ovu jednu datoteku. 1123 00:48:30,150 --> 00:48:34,666 Froshim nula točka PHP izgleda ovako. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Kad sam se ponovno učitati CS50 IDE, froshim nula izgleda ovako. 1126 00:48:43,500 --> 00:48:45,700 To je froshim nula točka PHP. 1127 00:48:45,700 --> 00:48:47,730 A što ćete primjetiti ovu sliku? 1128 00:48:47,730 --> 00:48:49,506 >> PUBLIKA: [nečujan] 1129 00:48:49,506 --> 00:48:50,922 SPEAKER 1: Nažalost, malo glasnije? 1130 00:48:50,922 --> 00:48:53,250 PUBLIKA: [nečujan] Sve je u HTML-u. 1131 00:48:53,250 --> 00:48:57,130 A u stvari, to je zato ono što je zanimljivo o PHP 1132 00:48:57,130 --> 00:48:58,880 je da je osmišljen da se, za bolje 1133 00:48:58,880 --> 00:49:02,110 ili još gore, izmiješale s HTML koda. 1134 00:49:02,110 --> 00:49:05,850 A u stvari, iako je to datoteka, froshim nula dot PHP, 1135 00:49:05,850 --> 00:49:11,470 ima PHP komentar na vrhu to, to je sve samo HTML. 1136 00:49:11,470 --> 00:49:17,655 No s druge strane, ako sam otvoriti, neka je recimo, registrirajte nula dot PHP, što 1137 00:49:17,655 --> 00:49:19,550 Samo ima veliki komentar na vrhu. 1138 00:49:19,550 --> 00:49:26,500 To također izgleda gotovo u cijelosti kao što su HTML, osim za što? 1139 00:49:26,500 --> 00:49:29,350 Line, ono, 21 izgleda malo čudno. 1140 00:49:29,350 --> 00:49:32,739 >> Ali primijetite unosim PHP modu s otvorenim nosača upitnika PHP. 1141 00:49:32,739 --> 00:49:33,780 Tada sam dobio neke stvari. 1142 00:49:33,780 --> 00:49:36,724 I onda na kraju tog retka Skoro sam se, upitnik PHP. 1143 00:49:36,724 --> 00:49:38,390 I to je ono što mislim pod izmiješale. 1144 00:49:38,390 --> 00:49:41,910 Možete pisati HTML koji ste upravo želite da poslužitelj ispljunuti. 1145 00:49:41,910 --> 00:49:45,090 No, ako želite učiniti nešto dinamična partway kroz stranicu, 1146 00:49:45,090 --> 00:49:47,699 kao umetnuti moje ime ili domu ili udobnost na razini, 1147 00:49:47,699 --> 00:49:49,490 Mogu koristiti funkciju kao ispis r, što je 1148 00:49:49,490 --> 00:49:52,492 ispis rekurzivna, što samo znači ispisati ovu varijablu, to oblikovanje 1149 00:49:52,492 --> 00:49:53,200 god želite. 1150 00:49:53,200 --> 00:49:55,880 To je stvarno ne ljudske svrhe, to je samo 1151 00:49:55,880 --> 00:49:58,290 za ispravljanje pogrešaka ili dijagnostičke svrhe. 1152 00:49:58,290 --> 00:49:59,460 Dakle, to je kako sam to učinio. 1153 00:49:59,460 --> 00:50:06,100 >> Ako sam umjesto toga ići froshims dva točka PHP, primijetiti da je djelovanje tog oblika 1154 00:50:06,100 --> 00:50:09,680 nije registriran nula dot PHP kao old-- prethodni zapravo bio. 1155 00:50:09,680 --> 00:50:11,222 Ali to je registrirana dva dot PHP. 1156 00:50:11,222 --> 00:50:13,680 Pa pogledajmo kako se to jednom ponaša malo drugačije. 1157 00:50:13,680 --> 00:50:15,140 Ako odem u verziji dva. 1158 00:50:15,140 --> 00:50:20,430 Ako ovdje, ako se registrirate kao David, manje udobno, od doma od Mathews, 1159 00:50:20,430 --> 00:50:21,480 Registrirajte. 1160 00:50:21,480 --> 00:50:23,770 Tako ovaj put to rekao, su registrirani, zapravo i nije. 1161 00:50:23,770 --> 00:50:25,370 Idemo vidjeti što sam učinio ovdje. 1162 00:50:25,370 --> 00:50:29,760 Ako gledam registar dvije dot PHP, to ima više PHP kod. 1163 00:50:29,760 --> 00:50:35,410 To je malo čišći, iako je dalje oblozi malo dugo na toj liniji. 1164 00:50:35,410 --> 00:50:36,260 Obavijest ovdje. 1165 00:50:36,260 --> 00:50:40,300 Sam isprintati svoju HTML oznake, moja glava oznaka, moj oznaka, glava, tijelo. 1166 00:50:40,300 --> 00:50:45,410 >> A onda sam početi govoriti stvari kao što su ući PHP modu. 1167 00:50:45,410 --> 00:50:48,540 I tako taj tag, otvorena zagrada PHP-- upitnik PHP kaže: 1168 00:50:48,540 --> 00:50:53,460 hej, poslužitelj, execute-- tumače sljedeće stvari kao PHP 1169 00:50:53,460 --> 00:50:55,030 dok ne vidite krajnji oznaku. 1170 00:50:55,030 --> 00:50:58,590 I iako možda ne znate bilo Drugi PHP nego što ste do sada vidjeli, 1171 00:50:58,590 --> 00:51:01,290 možete vrsta pročitati to prilično intuitivno. 1172 00:51:01,290 --> 00:51:10,670 Ako je ime prazan, ili udobnost prazna, ili spavaonica je prazna, što da radim? 1173 00:51:10,670 --> 00:51:12,830 Što da kažem za korisnika? 1174 00:51:12,830 --> 00:51:15,330 Morate navesti svoje ime, udobnost i spavaonica, i tako dalje. 1175 00:51:15,330 --> 00:51:17,750 Inače, ja kažem da ste registrirana, ali zapravo nije. 1176 00:51:17,750 --> 00:51:19,190 >> A ja kažem zapravo nije jer nema podataka. 1177 00:51:19,190 --> 00:51:20,200 Ja ne radim ništa s podacima. 1178 00:51:20,200 --> 00:51:22,408 Ja sam ga samo baciti za demonstracijske svrhe. 1179 00:51:22,408 --> 00:51:24,320 Sada sam vrsta štedio preko linije 22. 1180 00:51:24,320 --> 00:51:26,400 Postoji više sintakse postoji, ali dolar znak 1181 00:51:26,400 --> 00:51:28,320 naglašavaju post je vrsta zanimljiv. 1182 00:51:28,320 --> 00:51:30,300 I to je ono što je lijepo o PHP. 1183 00:51:30,300 --> 00:51:35,610 U PHP, imate ono što se zove nekoliko super globalne varijable. 1184 00:51:35,610 --> 00:51:38,430 Oni su vrsta još važnije od globalnih varijabli. 1185 00:51:38,430 --> 00:51:41,370 A ovo sve kapitaliziran kao takva, dolaze s PHP. 1186 00:51:41,370 --> 00:51:44,550 Dakle, ako imate poslužitelj koji ima web poslužitelj instaliran, kao što su Apache, 1187 00:51:44,550 --> 00:51:49,390 i instalirate jezik podrška za PHP, odjednom si 1188 00:51:49,390 --> 00:51:52,250 možete početi koristiti ove super globalne varijable u kodu. 1189 00:51:52,250 --> 00:51:54,330 >> A što je lijepo o PHP je da ako samo 1190 00:51:54,330 --> 00:51:57,540 napisati datoteku koja završava točkom PHP, staviti ga na web poslužitelju, 1191 00:51:57,540 --> 00:52:01,260 i onda poslati obrazac za njega preko tog akcijskog oznaci i obrascu oznake, 1192 00:52:01,260 --> 00:52:05,110 da akcija atribut u Obrazac oznaka, PHP i web 1193 00:52:05,110 --> 00:52:09,360 potpuno otkrije kako da iskoristite sve te ključne parova vrijednosti iz 1194 00:52:09,360 --> 00:52:11,633 URL poput pitanja Oznaka q jednak mačke, 1195 00:52:11,633 --> 00:52:14,782 ona će shvatiti kako Q i mačke. 1196 00:52:14,782 --> 00:52:17,710 Ako pošaljete fotografiju, ili korisničko ime, ili lozinka sviđa Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP će shvatiti za vas gdje je sve te podatke je. 1198 00:52:21,360 --> 00:52:23,821 I to će samo ruke ti jedan asocijativni niz 1199 00:52:23,821 --> 00:52:27,560 zove dolar znak podcrtavanja poslije, ili dolar znak naglašavaju dobiti, 1200 00:52:27,560 --> 00:52:30,590 ovisno o tome da li ste pomoću get ili poštom podnesaka. 1201 00:52:30,590 --> 00:52:32,950 I to samo će vas predati super globalna varijabla, 1202 00:52:32,950 --> 00:52:37,254 tako da ako želite dobiti na ime da korisnik podnosi putem tog web 1203 00:52:37,254 --> 00:52:41,894 oblik, doslovno samo reći ime od super globalne varijable, citat, 1204 00:52:41,894 --> 00:52:43,380 citat, ime. 1205 00:52:43,380 --> 00:52:46,144 A citat, citat udobnost, i citat, citat domu. 1206 00:52:46,144 --> 00:52:48,810 I mi ćemo biti u mogućnosti to učiniti ovo i još mnogo toga s PHP. 1207 00:52:48,810 --> 00:52:50,540 I iako je to bio vihora pogled na nju, 1208 00:52:50,540 --> 00:52:51,980 ćemo roniti u mnogo više sljedeći tjedan. 1209 00:52:51,980 --> 00:52:54,247 Mi ćemo uvesti podataka tako da ste zapravo 1210 00:52:54,247 --> 00:52:56,816 će započeti provedbu svoj vlastiti e-trgovinu based-- 1211 00:52:56,816 --> 00:52:59,150 kao i web stranice u samo tjedan dana. 1212 00:52:59,150 --> 00:53:02,750 Tako ćemo vidjeti vas sljedeći put, i Nadam se da je dobio SMS poruke. 1213 00:53:02,750 --> 00:53:05,450 Pozdrav. 1214 00:53:05,450 --> 00:53:06,950 >> [Glazbom] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [VRATA OTVORENJE] 1217 00:53:12,950 --> 00:53:14,475 >> ZVUČNIK 2: Hej. 1218 00:53:14,475 --> 00:53:15,350 SPEAKER 3: Što se događa? 1219 00:53:15,350 --> 00:53:17,750 ZVUČNIK 2: Što to radiš? 1220 00:53:17,750 --> 00:53:19,850 SPEAKER 3: Rad na problem seta. 1221 00:53:19,850 --> 00:53:21,050 ZVUČNIK 2: Lijepa. 1222 00:53:21,050 --> 00:53:22,550 Daj pet. 1223 00:53:22,550 --> 00:53:23,150 >> [DAJ PET] 1224 00:53:23,150 --> 00:53:25,584 >> Što are-- uh, što radiš ovdje? 1225 00:53:25,584 --> 00:53:26,750 SPEAKER 3: Samo visi. 1226 00:53:26,750 --> 00:53:28,134 Dovoljno je dobio natrag iz teretane. 1227 00:53:28,134 --> 00:53:30,050 Nisam mogao pomoći, ali obavijest kada smo velike fived, 1228 00:53:30,050 --> 00:53:32,450 da imate prilično grube ruke. 1229 00:53:32,450 --> 00:53:33,950 Da li ići u teretanu? 1230 00:53:33,950 --> 00:53:35,150 >> ZVUČNIK 2: Ne 1231 00:53:35,150 --> 00:53:36,650 Ne. 1232 00:53:36,650 --> 00:53:38,450 >> SPEAKER 3: Čovječe, izgledaš prilično velika. 1233 00:53:38,450 --> 00:53:45,950 Što je loše, jer svatko zna 8-lopta je veliki čovjek na kampusu. 1234 00:53:45,950 --> 00:53:48,050 Daj pet. 1235 00:53:48,050 --> 00:53:49,550 >> ZVUČNIK 2: Uh, ne. 1236 00:53:49,550 --> 00:53:50,450 Ne, mislim da sam dobro. 1237 00:53:50,450 --> 00:53:52,300 Mislim da sam dobro. 1238 00:53:52,300 --> 00:53:54,097