1 00:00:00,000 --> 00:00:04,410 >> [MUZYKI] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> Głośnik 1: To jest CS50 i to jest koniec tygodnia siedem. 4 00:00:15,770 --> 00:00:20,240 Dzisiaj jest chyba gdzie jesteśmy naprawdę uczy Cię języka. 5 00:00:20,240 --> 00:00:24,100 Wprowadziliśmy w ostatnich kilku tydzień HTML i CSS, z których żaden nie 6 00:00:24,100 --> 00:00:25,240 są języki programowania. 7 00:00:25,240 --> 00:00:28,600 I rzeczywiście, mimo że nie spojrzeć na prawie wszystkie tagi 8 00:00:28,600 --> 00:00:33,410 że HTML jest wyposażony i prawie wszystkie właściwości, które pochodzi z CSS, 9 00:00:33,410 --> 00:00:35,007 że niby to dla HTML i CSS. 10 00:00:35,007 --> 00:00:36,840 Będziemy tylko ogólnie zacząć zakładając, że Ciebie 11 00:00:36,840 --> 00:00:39,545 zrozumieć ogólne pomysły tagi i atrybuty, 12 00:00:39,545 --> 00:00:41,850 i wysyłane strony od klienta do serwera. 13 00:00:41,850 --> 00:00:45,280 >> Bo dzisiaj zaczynamy patrzeć na inny język programowania PHP. 14 00:00:45,280 --> 00:00:47,110 Mamy zamiar zrobić to super szybko. 15 00:00:47,110 --> 00:00:50,910 Nie będziemy was uczyć PHP per se, podobnie jak nie pragną nauczyć się, 16 00:00:50,910 --> 00:00:52,670 C, per se, ale programowania. 17 00:00:52,670 --> 00:00:55,088 I rzeczywiście, jeden z cele na ten kurs 18 00:00:55,088 --> 00:00:57,820 nie jest się uczyć C, lub HTML lub CSS, lub PHP, 19 00:00:57,820 --> 00:01:00,370 lub dowolne inne słowa buzz lub akronimy, 20 00:01:00,370 --> 00:01:03,097 ale raczej z informatyki i jak program zasadniczo. 21 00:01:03,097 --> 00:01:05,930 I rzeczywiście, dziś zaczynamy się te kółka off wszystko 22 00:01:05,930 --> 00:01:10,600 dalej, pływające w Język nazywa PHP, jak następuje. 23 00:01:10,600 --> 00:01:13,640 >> Oto co ten język wygląda. 24 00:01:13,640 --> 00:01:17,790 Okazuje się, że nie ma potrzeby główną funkcję w program napisany 25 00:01:17,790 --> 00:01:19,470 w języku zwanym PHP. 26 00:01:19,470 --> 00:01:22,585 Więc to już brzmi trochę prostsze niż C, z którymi jesteśmy zaznajomieni. 27 00:01:22,585 --> 00:01:25,370 Okazuje się, że jeśli Aby zadeklarować zmienną, 28 00:01:25,370 --> 00:01:29,470 robisz to niemal identycznie jak C. Ale jest niewątpliwie jednym Różnica tutaj 29 00:01:29,470 --> 00:01:31,850 kiedy Oświadczam, ciąg, a może dwie różnice. 30 00:01:31,850 --> 00:01:32,725 Jak wygląda inaczej? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> PUBLICZNOŚCI: Znak dolara. 33 00:01:37,160 --> 00:01:39,951 >> 1 głośnik: Tak, jest dolar znak, który nigdy nie widział. 34 00:01:39,951 --> 00:01:41,451 A czego brakuje? 35 00:01:41,451 --> 00:01:41,950 Tak? 36 00:01:41,950 --> 00:01:42,820 >> PUBLICZNOŚCI: [niesłyszalne] 37 00:01:42,820 --> 00:01:44,403 >> 1 głośnik: Tak, nie ma typ danych. 38 00:01:44,403 --> 00:01:48,410 Tak więc okazuje się, że PHP jest to, co wezwać luźno wpisane język, w którym 39 00:01:48,410 --> 00:01:49,959 C jest silnie wpisane. 40 00:01:49,959 --> 00:01:52,500 Luźno wpisany po prostu oznacza, że istnieją różne typy danych, 41 00:01:52,500 --> 00:01:54,470 istnieją łańcuchy i int i pływaków. 42 00:01:54,470 --> 00:01:56,330 Ale dane komputerowe to. 43 00:01:56,330 --> 00:01:58,664 Jesteś programistą ludzki nie trzeba zrozumieć. 44 00:01:58,664 --> 00:02:00,580 Więc wszystko co musisz zrobić, zadeklarować zmienną jest 45 00:02:00,580 --> 00:02:03,220 Znak dolara, nazwę swojej zmienna, a następnie, na przykład, 46 00:02:03,220 --> 00:02:04,760 cytatu, hello world. 47 00:02:04,760 --> 00:02:07,662 >> Cóż to jest, co Warunkiem wygląda w PHP. 48 00:02:07,662 --> 00:02:08,328 Wszelkie różnice? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Nie. 51 00:02:11,150 --> 00:02:12,540 Tak więc okazuje się, są one identyczne. 52 00:02:12,540 --> 00:02:14,665 A może masz mniej oddziałów lub więcej oddziałów, 53 00:02:14,665 --> 00:02:16,557 ale obroty składni dokładnie to samo. 54 00:02:16,557 --> 00:02:18,390 Wyrażenia logiczne mogą zamawiane razem. 55 00:02:18,390 --> 00:02:20,400 Wyrażenia logiczne można anded razem. 56 00:02:20,400 --> 00:02:21,430 Masz jeszcze przełączników. 57 00:02:21,430 --> 00:02:23,790 Nawet jeśli nie są używane są te istnieją w C 58 00:02:23,790 --> 00:02:26,020 i są one funkcjonalnie równowartość w PHP. 59 00:02:26,020 --> 00:02:28,260 >> I faktycznie, w PHP są trochę mocniejszy. 60 00:02:28,260 --> 00:02:32,540 W C, można porównać tylko pewne typy danych, takie jak wskazówki i znaków, 61 00:02:32,540 --> 00:02:36,320 podczas gdy w rzeczywistości PHP można porównać pełne ciągi fledge bez konieczności 62 00:02:36,320 --> 00:02:38,460 martwić się o wskazówki i tym podobne. 63 00:02:38,460 --> 00:02:39,430 Tak oto na pętli. 64 00:02:39,430 --> 00:02:41,270 To tylko pseudokod Kod, jeśli będzie. 65 00:02:41,270 --> 00:02:43,400 Ale to jest strukturalnie identyczny C 66 00:02:43,400 --> 00:02:47,520 >> Oto pętla while, pseudokod therefore-- identyczne C 67 00:02:47,520 --> 00:02:49,390 Oto robić podczas loop-- identyczne. 68 00:02:49,390 --> 00:02:51,390 A więc jest rodzajem ten wzór tutaj, przy czym 69 00:02:51,390 --> 00:02:54,400 istnieje kilka innych składniowym Cechy jesteśmy rzeczywiście zobaczymy. 70 00:02:54,400 --> 00:02:57,340 W rzeczywistości, tutaj jest miły sposób w PHP, w którym, 71 00:02:57,340 --> 00:02:59,350 jeśli chcesz iteracji na tablicy, a ty 72 00:02:59,350 --> 00:03:02,309 nie chce przeskoczyć przez psychiczne i składniowe obręcze z posiadania 73 00:03:02,309 --> 00:03:05,178 int i równa się 0, i mniej niż n, ja plus plus-- które 74 00:03:05,178 --> 00:03:07,040 jest po prostu dużo składni irytujące. 75 00:03:07,040 --> 00:03:10,654 Można powiedzieć trochę więcej płynnie dla każdej liczby 76 00:03:10,654 --> 00:03:13,320 jak liczba, przy czym w tym przypadku numery znakiem dolara, jestem przy założeniu, 77 00:03:13,320 --> 00:03:15,400 jest jak tablicę o nazwie numerów. 78 00:03:15,400 --> 00:03:18,810 I wtedy jestem przy założeniu, liczbę, w liczbie pojedynczej, będzie zmienna. 79 00:03:18,810 --> 00:03:22,940 >> A co PHP zrobi dla mnie jak iteracji na tej pętli, na każdej iteracji 80 00:03:22,940 --> 00:03:28,450 to będzie zaktualizować zmienną liczbę do i-ty element będzie w liczbach, w liczbie mnogiej. 81 00:03:28,450 --> 00:03:30,060 Więc po prostu obsługuje wszystko to dla mnie. 82 00:03:30,060 --> 00:03:32,750 Brak nawiasy kwadratowe, nie Znak dolara, nie średniki. 83 00:03:32,750 --> 00:03:34,117 To tylko trochę prostsze. 84 00:03:34,117 --> 00:03:35,950 Cóż, jeśli chcesz tablica, okaże się, że 85 00:03:35,950 --> 00:03:38,908 Można zrobić coś bardzo podobnego do C. Składnia jest nieco inna. 86 00:03:38,908 --> 00:03:41,000 Ale tu jest tablica o nazwie Dolar podpisane liczb. 87 00:03:41,000 --> 00:03:44,261 I używam, w PHP, kwadratowe wsporniki, jak się okazuje. 88 00:03:44,261 --> 00:03:47,260 I mamy zamiar zobaczyć to jeszcze raz w JavaScript-- kolejny język. 89 00:03:47,260 --> 00:03:49,968 Ja po prostu użyć notacji kwadratowy wspornik mieć oddzielone przecinkami listę 90 00:03:49,968 --> 00:03:51,530 liczb całkowitych, w tym przypadku. 91 00:03:51,530 --> 00:03:53,010 Ale to daje mi tablicę. 92 00:03:53,010 --> 00:03:56,270 >> Ale jeszcze bardziej wydajne w PHP, mamy także jakie są na ogół 93 00:03:56,270 --> 00:03:57,640 zwane tablice asocjacyjne. 94 00:03:57,640 --> 00:03:59,540 I wiele języków mają one również. 95 00:03:59,540 --> 00:04:03,810 Rzecz o macierzach C jest to, że indeksy 96 00:04:03,810 --> 00:04:06,940 na tablicy, tym, czego stosować w nawiasach kwadratowych, za pomocą którego 97 00:04:06,940 --> 00:04:08,600 masz dostęp do elementów, musi być to, co? 98 00:04:08,600 --> 00:04:10,620 >> PUBLICZNOŚCI: [niesłyszalne] 99 00:04:10,620 --> 00:04:14,220 >> Głośnik 1: Muszą być liczbami lub liczby całkowite od zera, specjalnie na górę. 100 00:04:14,220 --> 00:04:17,140 Cóż, w PHP, a okazuje się w innych językach, 101 00:04:17,140 --> 00:04:20,820 można zacząć mieć indeksy, które nie są numeryczne. 102 00:04:20,820 --> 00:04:23,880 Ale to rzeczywiście słowa lub zwrotów, tak że zamiast 103 00:04:23,880 --> 00:04:27,070 spróbuj sobie przypomnieć, gdzie coś jest lub przechowywane w zmiennej i, 104 00:04:27,070 --> 00:04:31,720 rzeczywiście można użyć słowa i powiedzieć: that-- można powiedzieć słowo takiego. 105 00:04:31,720 --> 00:04:34,730 >> Więc znak dolara cytat jest Nazwa zmiennej tutaj. 106 00:04:34,730 --> 00:04:39,360 To jest składnia nieco Funky że to skojarzenie dwóch wartości klucza 107 00:04:39,360 --> 00:04:41,250 pary dla tej zmiennej. 108 00:04:41,250 --> 00:04:45,490 W szczególności, jest to daje mi tablica, która ma długość 2. 109 00:04:45,490 --> 00:04:47,660 Ale nie są indeksy 0 i 1. 110 00:04:47,660 --> 00:04:51,250 Indeksy są cytatu Symbol i cytat cena koniec cytatu. 111 00:04:51,250 --> 00:04:55,990 A wartości tych wskaźników, odpowiednio, jest FB na Facebook 112 00:04:55,990 --> 00:05:00,360 i $ 79,53, kiedy trwać sprawdzone cenę za to. 113 00:05:00,360 --> 00:05:01,210 >> Co to znaczy? 114 00:05:01,210 --> 00:05:04,136 Cóż, oznacza to, że Zamiast pisania kodu 115 00:05:04,136 --> 00:05:09,612 jak to, gdzie kiedyś zrobić coś jak dolar sign-- a raczej w C 116 00:05:09,612 --> 00:05:11,070 Ja nawet nie mają znaku dolara. 117 00:05:11,070 --> 00:05:13,490 Chciałbym zrobić coś jak cudzysłów, a następnie 118 00:05:13,490 --> 00:05:18,410 Chciałbym zrobić wspornik mi się dostać na niektóre indeksowane numerycznie arbitralnie wartość. 119 00:05:18,410 --> 00:05:21,430 Od dzisiaj w PHP, jeśli Ciebie chcą się na pewnej wartości, 120 00:05:21,430 --> 00:05:24,742 my sortujemy więcej semantyczna wyrazistość. 121 00:05:24,742 --> 00:05:27,450 Tylko fantazyjny sposób na powiedzenie możemy zadzwoń rzeczy, jakie są. 122 00:05:27,450 --> 00:05:29,800 >> A jeśli chcesz dostać na coś symbol, 123 00:05:29,800 --> 00:05:32,180 Teraz można dosłownie zrobić Koniec cytatu symbol 124 00:05:32,180 --> 00:05:34,910 w nawiasach kwadratowych zamiast szeregu czysto. 125 00:05:34,910 --> 00:05:36,450 Tak więc jest to miły wygoda. 126 00:05:36,450 --> 00:05:38,140 I to jest jakby to teraz. 127 00:05:38,140 --> 00:05:40,240 Jest kiście Inne funkcje w PHP. 128 00:05:40,240 --> 00:05:43,180 I rzeczywiście, PHP jest wyposażony przysłowiowy zlewozmywak. 129 00:05:43,180 --> 00:05:48,640 Dziesiątki, setki funkcji pochodzą z PHP-- tak dużo więcej niż przyszedł z C 130 00:05:48,640 --> 00:05:51,360 >> A to nie jest przeznaczone do przytłoczyć, ale raczej pomóc 131 00:05:51,360 --> 00:05:53,900 zdajesz sobie sprawę, że nie jesteśmy już napisać kod 132 00:05:53,900 --> 00:05:55,590 to jakby tu koncepcyjnie. 133 00:05:55,590 --> 00:05:58,465 Teraz możemy po prostu rozpocząć korzystanie o wiele bardziej zaawansowane funkcje 134 00:05:58,465 --> 00:05:59,920 że języki takie jak PHP mają. 135 00:05:59,920 --> 00:06:02,630 Tak więc nie musimy się martwić, przenoszenia rzeczy wokół w pamięci. 136 00:06:02,630 --> 00:06:05,338 Nie musimy się martwić o malloc I wszystkie te niższym poziomie, 137 00:06:05,338 --> 00:06:09,390 mocne dane, które będą zmagać z, jeśli nie walczyć z, pset5, 138 00:06:09,390 --> 00:06:13,380 ale można zacząć Wkrótce bierze za pewnik. 139 00:06:13,380 --> 00:06:17,770 >> W rzeczywistości, napiszmy super, prosty program w PHP, jak następuje. 140 00:06:17,770 --> 00:06:21,550 Mam zamiar iść łeb w CS50 IDE tutaj, i co mam zamiar zrobić 141 00:06:21,550 --> 00:06:29,370 jest utworzenie nowego pliku, że bardzo prosto będzie nazywany komentarzy dot PHP. 142 00:06:29,370 --> 00:06:31,860 Więc zamiast dot c, to będzie nazywany dot PHP. 143 00:06:31,860 --> 00:06:34,260 A następnie w tym pliku, Mogę zacząć pisać. 144 00:06:34,260 --> 00:06:36,960 Ale okazuje się, że Jedno muszę wiedzieć 145 00:06:36,960 --> 00:06:41,470 jest to, że każdy plik PHP w ogóle, musi na początek jakiejś specjalnej składni. 146 00:06:41,470 --> 00:06:44,570 W duchu podobnym do HTML, ale znowu, PHP jest językiem programowania, nie 147 00:06:44,570 --> 00:06:45,590 język znaczników. 148 00:06:45,590 --> 00:06:48,700 >> Więc każdy plik, i jest to rodzaj głupie patrząc muszę przyznać. 149 00:06:48,700 --> 00:06:50,480 Otwórz uchwyt, znak zapytania, PHP. 150 00:06:50,480 --> 00:06:53,060 A to dopiero sposób język na powiedzenie, 151 00:06:53,060 --> 00:06:58,400 hej, komputer tutaj jest jakiś kod napisany w języku PHP nazwie. 152 00:06:58,400 --> 00:07:01,900 A następnie na samym końcu pliku, robisz rodzaju rodzaju przeciwieństwo. 153 00:07:01,900 --> 00:07:04,860 Nie pisać PHP ponownie, po prostu zrobić znak zapytania, kątownika. 154 00:07:04,860 --> 00:07:08,500 I wtedy coś można umieścić wewnątrz z tych dwóch znaczników, że tak powiem, 155 00:07:08,500 --> 00:07:11,490 będzie, albo powinna być kod PHP. 156 00:07:11,490 --> 00:07:13,180 >> Więc zróbmy coś bardzo prostego. 157 00:07:13,180 --> 00:07:19,370 Mam zamiar iść do przodu i zrobić odcisk def, hello world, odwrotny ukośnik n, zapisać. 158 00:07:19,370 --> 00:07:27,310 A teraz w moim wierszu, zamierzam zrobić, aby hello-- nie, mam zamiar zrobić, 159 00:07:27,310 --> 00:07:28,726 Dot slash komentarzy. 160 00:07:28,726 --> 00:07:31,250 Nie, kropka ukośnik, hm. 161 00:07:31,250 --> 00:07:32,990 Więc coś jest inaczej. 162 00:07:32,990 --> 00:07:36,920 I rzeczywiście, jest to zasadnicza różnica między PHP i językach takich jak C, C 163 00:07:36,920 --> 00:07:38,730 był tak zwany językiem kompilowanym. 164 00:07:38,730 --> 00:07:40,929 Co to oznacza dla C, które są opracowywane? 165 00:07:40,929 --> 00:07:41,970 Jaka była implikacja? 166 00:07:41,970 --> 00:07:42,898 Tak. 167 00:07:42,898 --> 00:07:45,220 >> PUBLICZNOŚCI: Napisał go na kod maszynowy więc może być uruchamiany przez komputer. 168 00:07:45,220 --> 00:07:46,011 >> Głośnik 1: Dokładnie. 169 00:07:46,011 --> 00:07:49,075 Musimy najpierw przekonwertować go do tak zwany kod maszynowy, zer i jedynek, 170 00:07:49,075 --> 00:07:51,950 Zanim to rzeczywiście być wykonywalny i rozumiane przez komputer. 171 00:07:51,950 --> 00:07:52,840 Przez Intela w środku. 172 00:07:52,840 --> 00:07:54,530 Przez CPU wewnątrz komputera. 173 00:07:54,530 --> 00:07:58,170 PHP, przeciwnie, jest to, co się nazywa językiem interpretowanym, które 174 00:07:58,170 --> 00:08:02,230 Oznacza to, że nie skompilować do zer i jedynek, kodu maszynowego, 175 00:08:02,230 --> 00:08:04,360 Ci, zamiast zostawić to jako kod źródłowy. 176 00:08:04,360 --> 00:08:08,130 A ty, zamiast przekazać je jako dane wejściowe do programu, tłumacz 177 00:08:08,130 --> 00:08:11,960 że ktoś inny napisał lat temu, że ją rozumie 178 00:08:11,960 --> 00:08:14,310 linia po linii, znaków dla charakteru. 179 00:08:14,310 --> 00:08:16,120 Tak więc, innymi słowy, ludzie tam napisał 180 00:08:16,120 --> 00:08:19,670 program, który będzie wyglądać na linii kodu po linii, 181 00:08:19,670 --> 00:08:21,680 i dowiedzieć się, co komputer powinien zrobić, 182 00:08:21,680 --> 00:08:25,960 bez konwersji bezpośrednio do zer i jedynek. 183 00:08:25,960 --> 00:08:28,370 >> Więc jeśli widzi pętli for, to tzw tłumacz 184 00:08:28,370 --> 00:08:30,630 będzie tak, wszystko w porządku, powinienem zrobić coś znowu i znowu i znowu. 185 00:08:30,630 --> 00:08:31,150 Co powinienem zrobić? 186 00:08:31,150 --> 00:08:32,159 Pozwól mi spojrzeć na następnej linii. 187 00:08:32,159 --> 00:08:33,367 Pozwól mi spojrzeć na następnej linii. 188 00:08:33,367 --> 00:08:35,350 I to naprawdę interpretuje go wiersz po wierszu. 189 00:08:35,350 --> 00:08:37,220 Tak więc, aby go wykonać, nie używam makijażu. 190 00:08:37,220 --> 00:08:39,409 Nie używam dot ukośnik w tym przypadku. 191 00:08:39,409 --> 00:08:43,530 I zamiast zrobić w PHP, który jest nazwa programu, a.k.a. 192 00:08:43,530 --> 00:08:46,562 Tłumacza, to preinstalowany w CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 a teraz muszę zdać argument wiersza poleceń, które 194 00:08:48,770 --> 00:08:52,290 jest po prostu NAZWA plik, który chcę interpretować. 195 00:08:52,290 --> 00:08:54,740 Lub więcej od niechcenia, że ​​chcę, aby uruchomić. 196 00:08:54,740 --> 00:08:57,000 A gdybym naciśnij Enter, nie mamy go. 197 00:08:57,000 --> 00:08:57,825 Witaj świecie. 198 00:08:57,825 --> 00:08:59,950 Teraz okazuje się, że używane do druku def celowo 199 00:08:59,950 --> 00:09:01,600 do mostu nas od C do PHP. 200 00:09:01,600 --> 00:09:05,150 Większość programistów PHP, jak zobaczysz, nawet nie przeszkadza za pomocą druku def. 201 00:09:05,150 --> 00:09:08,290 Oni po prostu użyć funkcji o nazwie drukowania, które nie mają C. 202 00:09:08,290 --> 00:09:11,390 I tak, jeśli ponownie uruchomić go teraz, to naprawdę zachowuje funkcjonalnie takie same. 203 00:09:11,390 --> 00:09:13,730 Nie mogę użyć procent s i procent i i tak dalej, 204 00:09:13,730 --> 00:09:16,250 ale są inne sposoby w PHP z robić. 205 00:09:16,250 --> 00:09:18,100 Jest to jednak tylko do powiedzieć, że składniowo, 206 00:09:18,100 --> 00:09:21,850 inne niż niektóre dziwne rzeczy góry, a niektóre dziwne znaki w dół 207 00:09:21,850 --> 00:09:25,960 w dolnej koncepcje się z Programowanie w innym języku 208 00:09:25,960 --> 00:09:27,860 będą dokładnie takie same. 209 00:09:27,860 --> 00:09:30,120 >> W rzeczywistości, zróbmy jeszcze jeden przykład. 210 00:09:30,120 --> 00:09:32,520 Więc mam zamiar iść do przodu i zamknij plik. 211 00:09:32,520 --> 00:09:37,740 Pozwólcie mi tworzyć inny, że Zadzwonię warunki 1 kropka PHP. 212 00:09:37,740 --> 00:09:40,770 Więc nie ma zerowy, ponieważ to, co zrobiłem Spojrzałam było kilka tygodni temu, 213 00:09:40,770 --> 00:09:43,490 mieliśmy plik o nazwie Warunki 1 kropka C. A co 214 00:09:43,490 --> 00:09:47,590 I nie przekształcono go w moim głowa, a tu na papierze, 215 00:09:47,590 --> 00:09:51,290 i wkrótce na kurs na strona, linia po linii do PHP. 216 00:09:51,290 --> 00:09:55,520 >> Tak więc w wersji C, zrobiliśmy coś jak ciąg s staje się ciąg. 217 00:09:55,520 --> 00:09:58,200 Tak więc jest to trochę inaczej to zrobić w PHP. 218 00:09:58,200 --> 00:10:01,390 Zamiast tego, jestem po prostu zrobić, a raczej 219 00:10:01,390 --> 00:10:05,870 może zrobić int n staje się int, w tym przykładzie wcześniej. 220 00:10:05,870 --> 00:10:12,600 Więc zamiast tego, mam zamiar zrobić n dostaje przeczytać wiersz, chciałbym liczbę całkowitą, 221 00:10:12,600 --> 00:10:13,670 Proszę. 222 00:10:13,670 --> 00:10:15,110 Więc to jest tylko moje polecenia. 223 00:10:15,110 --> 00:10:17,260 I tak okazuje się, oraz Chciałbym wiedzieć, to tylko 224 00:10:17,260 --> 00:10:20,480 od po przeczytaniu lub widział funkcji przed, czytać wiersze funkcji w PHP 225 00:10:20,480 --> 00:10:23,810 przyjmuje argument, że jest szybka dla człowieka i jego celu w życiu 226 00:10:23,810 --> 00:10:26,220 jest, aby przeczytać wiersz tekstu że on lub ona typy w. 227 00:10:26,220 --> 00:10:29,160 A następnie przechowuje, że tekst do zmiennej n. 228 00:10:29,160 --> 00:10:32,200 >> A teraz mogę chcesz coś zrobić jak ja tydzień temu, w podobny tygodnia 229 00:10:32,200 --> 00:10:33,290 jeden z klasy. 230 00:10:33,290 --> 00:10:36,600 Jeśli n jest większe niż zero, to mam zamiar 231 00:10:36,600 --> 00:10:42,930 pożyczyć tę składnię właśnie zobaczyłem, drukuj def, wybrałaś liczbę dodatnią, 232 00:10:42,930 --> 00:10:44,360 odwrotny ukośnik n. 233 00:10:44,360 --> 00:10:49,990 Else if n równa jest równa zeru, jestem zamiar iść dalej i powiedzieć, druk def, 234 00:10:49,990 --> 00:10:54,090 wybrałaś zera ukośnika n. 235 00:10:54,090 --> 00:10:56,830 Indziej, w tym przypadku należy oczywiście być, druk def, 236 00:10:56,830 --> 00:10:58,620 wybrałaś liczbę ujemną. 237 00:10:58,620 --> 00:11:00,970 >> I z pewnością możemy wdrożyć logika tej rzeczy 238 00:11:00,970 --> 00:11:03,390 w kilka różnych sposobów, ale tu chodzi 239 00:11:03,390 --> 00:11:07,210 jest to, że składniowo, prawie wszystko jest nowe. 240 00:11:07,210 --> 00:11:09,830 To tylko znak dolara i nowa funkcja i przeczytać wiersz. 241 00:11:09,830 --> 00:11:12,090 Ale zasadniczo, co nowego teraz to ja interpretacji tego. 242 00:11:12,090 --> 00:11:13,910 Jestem przekazaniem go jako wejście do innego programu. 243 00:11:13,910 --> 00:11:16,620 Więc jeśli chcę uruchomić to, jeśli I nie popełnić żadnych błędów, 244 00:11:16,620 --> 00:11:20,140 Zamierzam uruchomić PHP, z Warunki 1 kropka PHP, wejść, 245 00:11:20,140 --> 00:11:23,440 Mam zamiar wpisać numer 50, i załóżmy na razie to działa. 246 00:11:23,440 --> 00:11:25,940 Ponieważ logika jest sam materiał jako jeden tydzień. 247 00:11:25,940 --> 00:11:28,020 >> W porządku, więc to dość rozczarowująca, prawda? 248 00:11:28,020 --> 00:11:30,240 Możemy to zrobić w dowolnym liczba języków. 249 00:11:30,240 --> 00:11:33,200 Zróbmy coś o wiele bardziej wydajne. 250 00:11:33,200 --> 00:11:35,610 Miejmy problemem wykończenie ustawić pięć. 251 00:11:35,610 --> 00:11:37,370 Więc mam zamiar iść do przodu i to zrobić. 252 00:11:37,370 --> 00:11:42,920 Mam zamiar stworzyć plik nazywa Słownik kropka PHP, 253 00:11:42,920 --> 00:11:45,424 i pochylił się, że możesz być wspiąć się wiele notatek, 254 00:11:45,424 --> 00:11:47,340 zauważa tylko pomoże Ci, czy masz prawo 255 00:11:47,340 --> 00:11:48,923 do wdrożenia problemy ustawić pięć w PHP. 256 00:11:48,923 --> 00:11:52,706 Ale zobaczymy jak teraz szybko się można wdrożyć ten sam zestaw problemów. 257 00:11:52,706 --> 00:11:56,830 >> Więc w słowniku dot PHP, mam zamiar przyjąć, że nie ma już 258 00:11:56,830 --> 00:11:58,514 plik w świecie zwanym Speller. 259 00:11:58,514 --> 00:12:01,430 I rzeczywiście, zrobiłem to z góry, i nie będziemy chodzić po tej linii 260 00:12:01,430 --> 00:12:03,596 po linii, ale jeśli jesteś ciekawi później i naprawdę chcesz 261 00:12:03,596 --> 00:12:06,250 owinąć swój umysł wokół Różnice między C i PHP, 262 00:12:06,250 --> 00:12:09,030 dosłownie porównać ten plik, ortografii, z dzisiejszego kodu źródłowego 263 00:12:09,030 --> 00:12:11,190 że będziemy pisać później dzisiaj, przed zestawem p 264 00:12:11,190 --> 00:12:15,309 pięć ortografii kropka c, że dajemy Ci, i jest prawie taka sama linia po linii. 265 00:12:15,309 --> 00:12:16,600 Istnieje kilka znaki dolara. 266 00:12:16,600 --> 00:12:18,330 A funkcje Kilka są trochę inaczej. 267 00:12:18,330 --> 00:12:20,038 Ale jest to dobry sposób, od rodzaju widząc, jak 268 00:12:20,038 --> 00:12:22,740 przetłumaczyć jednego języka na inny. 269 00:12:22,740 --> 00:12:24,812 I to jest prawie identyczna linia do linii. 270 00:12:24,812 --> 00:12:27,770 Ale mam zamiar założyć, że istnieje, i to, co mam zamiar zrobić tutaj 271 00:12:27,770 --> 00:12:31,310 jest spróbować wydmuchać nic przez reimplementing 272 00:12:31,310 --> 00:12:36,210 całość problemu ustawić pięć drogę szybciej niż robiłeś do tej pory. 273 00:12:36,210 --> 00:12:39,330 Tak na przykład, będę pierwszy Oświadczam, globalną zmienną wielkość, 274 00:12:39,330 --> 00:12:40,444 i ustawiona jest równa zeru. 275 00:12:40,444 --> 00:12:41,610 Teraz to nie jest dużo oszczędności. 276 00:12:41,610 --> 00:12:44,170 Kursy ty realizowane Rozmiar niemal tak samo, 277 00:12:44,170 --> 00:12:48,440 lub wskazówkę wskazówkę, będzie dziś lub jutro, tylko przy użyciu zmiennej globalnej o nazwie 278 00:12:48,440 --> 00:12:49,900 Wielkość i ustawienie jej równa zeru. 279 00:12:49,900 --> 00:12:52,660 To nie jest szczególnie niesamowite spoiler. 280 00:12:52,660 --> 00:12:57,180 >> Więc jakie były dane struktury wybór, tych z Was, którzy nurkowali w 281 00:12:57,180 --> 00:13:02,170 i przeczytać specyfikację, struktury, co dane które większość z was używa? 282 00:13:02,170 --> 00:13:06,840 Tabeli mieszania lub spróbuj, może niektóre ich warianty. 283 00:13:06,840 --> 00:13:10,490 Więc realizacji tabeli mieszania co najmniej, jest rodzajem wielu linii kodu, 284 00:13:10,490 --> 00:13:10,990 dobrze? 285 00:13:10,990 --> 00:13:13,700 I nie wszystkie z nich mogą być funkcjonalna w tym momencie w tygodniu 286 00:13:13,700 --> 00:13:14,366 ale to jest w porządku. 287 00:13:14,366 --> 00:13:19,300 Ponieważ w PHP, jeśli chcą tabeli mieszania, zrobić. 288 00:13:19,300 --> 00:13:20,260 Dobrze? 289 00:13:20,260 --> 00:13:22,610 Więc tej zmiennej, że mam zadeklarowane tylko jest oczywiście 290 00:13:22,610 --> 00:13:26,180 nazywa tabeli znak dolara, na wstępie przed. 291 00:13:26,180 --> 00:13:28,902 >> Ale ja naprawdę chcę, co koniec dnia, tablica. 292 00:13:28,902 --> 00:13:31,610 Ale nie indeksowane numerycznie tablica, bo to jak tydzień dwa 293 00:13:31,610 --> 00:13:33,440 rzeczy, gdy rozmawialiśmy o tablicach. 294 00:13:33,440 --> 00:13:34,850 Chcę tabeli mieszania. 295 00:13:34,850 --> 00:13:38,070 Ale tabeli mieszania jest naprawdę tylko konkretny sposób powiedzenia, 296 00:13:38,070 --> 00:13:40,190 chcesz tablicę asocjacyjną. 297 00:13:40,190 --> 00:13:43,270 Chcesz być w stanie stowarzyszonych klawisze z wartościami. 298 00:13:43,270 --> 00:13:44,200 Klawisze z wartościami. 299 00:13:44,200 --> 00:13:45,640 Co to jest słownik, naprawdę? 300 00:13:45,640 --> 00:13:47,080 Cóż to cały pęk kluczy. 301 00:13:47,080 --> 00:13:50,320 Słowa takie jak jabłka, gruszki, i bananów, i wszystkich tych angielskich słów 302 00:13:50,320 --> 00:13:51,490 że możemy przekazać Państwu. 303 00:13:51,490 --> 00:13:54,820 >> I wartości, że jesteś skutecznie wstawienie do słownika 304 00:13:54,820 --> 00:13:57,790 są albo prawdziwe, albo brak, fałszywe. 305 00:13:57,790 --> 00:14:00,540 Innymi słowy, czy wsuwasz cała masa par wartości kluczowych, 306 00:14:00,540 --> 00:14:03,720 jabłko, prawda, gruszka, prawda, banan, prawda. 307 00:14:03,720 --> 00:14:07,446 Tak, że kiedy pobrać lub szukać się tych danych w tabeli hash 308 00:14:07,446 --> 00:14:10,070 z funkcją wyboru, jesteś albo powrót odpowiedź, 309 00:14:10,070 --> 00:14:13,260 Tak, znalazłem go w moim kompleksie tablica mieszająca, czy nie, to nie istnieje, 310 00:14:13,260 --> 00:14:14,540 więc return false. 311 00:14:14,540 --> 00:14:19,440 >> Tak więc, aby to zrobić, potrzebuję tylko dane Struktura jak zaproponowałem wcześniej. 312 00:14:19,440 --> 00:14:22,050 Po prostu trzeba być w stanie skojarzyć słowa 313 00:14:22,050 --> 00:14:25,570 jak, cytatu, symbolem, z wartością, jak prawdziwy. 314 00:14:25,570 --> 00:14:27,090 Więc nie jest mój tabeli mieszania. 315 00:14:27,090 --> 00:14:28,180 Miejmy niej korzystać. 316 00:14:28,180 --> 00:14:30,310 Więc jest kilka funkcji Trzeba zaimplementować. 317 00:14:30,310 --> 00:14:33,300 Mam zamiar iść do przodu i gryzą wyłączyć funkcję o nazwie wielkości. 318 00:14:33,300 --> 00:14:34,390 To nie potrzebuje żadnych argumentów. 319 00:14:34,390 --> 00:14:36,660 Nie muszę męczyć się z słowo, nieważne, w PHP. 320 00:14:36,660 --> 00:14:38,770 Jestem po prostu zamiar wrócić rozmiar. 321 00:14:38,770 --> 00:14:41,287 >> I tak na marginesie, PHP to minorly irytujący szczegół, 322 00:14:41,287 --> 00:14:44,620 gdzie jeśli coś jest globalny, trzeba powiedzieć funkcję, w której używasz 323 00:14:44,620 --> 00:14:46,220 to, hej, jest to zmienna globalna. 324 00:14:46,220 --> 00:14:49,330 Tak, drobne głupoty, ale ci musisz zrobić, to jednak. 325 00:14:49,330 --> 00:14:50,920 >> Więc co z ładunkiem? 326 00:14:50,920 --> 00:14:52,990 Idę do wdrożenia funkcja nazywa obciążenia 327 00:14:52,990 --> 00:14:56,790 że bierze w imię słowniku, tak jak w problemu ustawić pięć. 328 00:14:56,790 --> 00:14:59,554 I zanim przejdę, zauważyć, że nie mam 329 00:14:59,554 --> 00:15:00,970 zostały wpisując dość tych samych rzeczy. 330 00:15:00,970 --> 00:15:06,060 Co oczywiście różne w PHP temat w jaki sposób zadeklarować funkcję w porównaniu do C? 331 00:15:06,060 --> 00:15:06,616 Tak. 332 00:15:06,616 --> 00:15:07,490 PUBLICZNOŚCI: [niesłyszalne] 333 00:15:07,490 --> 00:15:08,573 Głośnik 1: bez powrotu. 334 00:15:08,573 --> 00:15:12,350 I rzeczywiście tak jest, PHP w zakresie w jakim jest to luźno wpisane, 335 00:15:12,350 --> 00:15:14,190 Jest też trochę zaniedbany w tym sensie. 336 00:15:14,190 --> 00:15:17,680 Nie określić jako programista co to zwraca. 337 00:15:17,680 --> 00:15:20,490 Trzeba by naprawdę wygląda na kod, aby to zbadał. 338 00:15:20,490 --> 00:15:22,670 Lub przeczytać komentarze lub dokumentacji. 339 00:15:22,670 --> 00:15:24,870 Więc plusów i minusów tego rodzaju decyzji. 340 00:15:24,870 --> 00:15:26,750 Ale muszę powiedzieć, słowo kluczowe, funkcja. 341 00:15:26,750 --> 00:15:28,360 A kiedy dowiadujemy się, JavaScript w kilka tygodni 342 00:15:28,360 --> 00:15:31,026 mamy zamiar zobaczyć to samo jeszcze raz, ale to ten sam pomysł. 343 00:15:31,026 --> 00:15:34,220 Nazwa funkcji, jej argument lub argumenty lub jej brak, a teraz 344 00:15:34,220 --> 00:15:35,630 tutaj jest wdrożenie. 345 00:15:35,630 --> 00:15:38,860 >> Więc mam zamiar wyciąć niektóre zakątki tylko być dramatyczna na chwilę. 346 00:15:38,860 --> 00:15:40,485 Ale mam zamiar iść dalej i powiedzieć. 347 00:15:40,485 --> 00:15:44,890 W ten sposób można załadować plik do tablicy. 348 00:15:44,890 --> 00:15:47,580 Istnieje funkcja w PHP o nazwie pliku. 349 00:15:47,580 --> 00:15:49,300 Oddać to nazwa pliku. 350 00:15:49,300 --> 00:15:53,950 To oddaje z powrotem tablicę, wewnątrz z których to każda linia z pliku. 351 00:15:53,950 --> 00:15:56,480 Od zero, jeden w górę minus 1 do n linii. 352 00:15:56,480 --> 00:15:57,210 To jest to, prawda? 353 00:15:57,210 --> 00:15:57,990 Nie ma f odczytu. 354 00:15:57,990 --> 00:15:58,826 Nie ma f get s. 355 00:15:58,826 --> 00:15:59,700 Nie ma procent s. 356 00:15:59,700 --> 00:16:00,420 Nie ma bóle głowy. 357 00:16:00,420 --> 00:16:01,220 Nie ma feof. 358 00:16:01,220 --> 00:16:03,950 Wszystkie z tych rzeczy, z którymi byłeś zapasy być może, 359 00:16:03,950 --> 00:16:06,550 z p ustawić cztery i pięć, odchodzi. 360 00:16:06,550 --> 00:16:09,450 >> Więc po prostu czytać te linie w plik, a następnie wiesz co? 361 00:16:09,450 --> 00:16:15,510 Jeśli chcę iteracyjne nad tymi słowami, Mogę zrobić, dla każdej linii jako linii. 362 00:16:15,510 --> 00:16:19,992 Pamiętaj, że to był rodzaj sprytny sposób iteracji nad tablicą, indeks 363 00:16:19,992 --> 00:16:25,090 przez indeks, a na każdym powołaniu iteracji bieżąca linia, linia dolara znak. 364 00:16:25,090 --> 00:16:31,560 I tu mam zamiar iść i powiedzieć, stół, wspornik, linia, staje się prawdą. 365 00:16:31,560 --> 00:16:35,880 >> Innymi słowy, jest to, jak się wstawić do mojej tabeli mieszania w PHP. 366 00:16:35,880 --> 00:16:38,740 Mówię dolarów tabeli znak, który jest mój asocjacyjna, że ​​był 367 00:16:38,740 --> 00:16:40,690 puste na linii kodu w górę powyżej. 368 00:16:40,690 --> 00:16:42,790 Następnie wskaźnik do niego Nie stosując numer 369 00:16:42,790 --> 00:16:45,300 ale dosłownie za pomocą słów, które mnie obchodzi. 370 00:16:45,300 --> 00:16:47,730 Może to jabłko lub gruszka lub banan lub cokolwiek, 371 00:16:47,730 --> 00:16:51,645 ale specjalnie mi indeksowania do niego jak zaproponowałem wcześniej. 372 00:16:51,645 --> 00:16:53,770 Biorę nazwa mojego asocjacyjna, a potem 373 00:16:53,770 --> 00:16:56,450 użyć cytatu w nawiasy kwadratowe z łańcucha, 374 00:16:56,450 --> 00:16:58,490 Zamiast samej liczbie. 375 00:16:58,490 --> 00:17:00,250 >> I tak, to jest to. 376 00:17:00,250 --> 00:17:01,720 Funkcja obciążenia odbywa. 377 00:17:01,720 --> 00:17:05,119 Raz, że iteruje pętli, włożyłam wszystko do tablicy mieszającej. 378 00:17:05,119 --> 00:17:07,810 Teraz małe zastrzeżenie, istnieje Mam kilka rzeczy trzeba naprawić. 379 00:17:07,810 --> 00:17:10,030 A wersja wyślę Internecie będzie miał wszystkie niuanse, 380 00:17:10,030 --> 00:17:12,670 ale to w większości tylko będzie pewne sprawdzanie błędów i kilka drobnych poprawek. 381 00:17:12,670 --> 00:17:14,044 Ale to rzeczywiście sedno tego. 382 00:17:14,044 --> 00:17:16,750 Jeśli teraz chcą wprowadzić Funkcja zwana 383 00:17:16,750 --> 00:17:19,869 sprawdzić, która spodziewa się Słowo jako argument, 384 00:17:19,869 --> 00:17:22,099 jak mogę się do tego zabrać? 385 00:17:22,099 --> 00:17:30,020 Cóż, ja po prostu powiedzieć, jeśli wewnątrz mojego stolika, przy lokalizacji słowa, 386 00:17:30,020 --> 00:17:30,652 Jeśli zostanie ustawiona. 387 00:17:30,652 --> 00:17:32,360 Więc jeśli nie jest-- faktycznie, wiesz co? 388 00:17:32,360 --> 00:17:34,830 Mam zamiar zrobić to w trochę Pseudokod. 389 00:17:34,830 --> 00:17:36,020 Ale idea jest taka sama. 390 00:17:36,020 --> 00:17:41,640 Jeśli równa prawda, return true. 391 00:17:41,640 --> 00:17:43,890 W porządku. 392 00:17:43,890 --> 00:17:46,851 Else-- można rodzaj zobaczyć, gdzie to going-- do return false. 393 00:17:46,851 --> 00:17:47,350 Gotowe. 394 00:17:47,350 --> 00:17:49,640 Sprawdź odbywa. 395 00:17:49,640 --> 00:17:50,940 >> Całkiem ładne, prawda? 396 00:17:50,940 --> 00:17:52,560 A więc to, co jest w tym naprawdę chodzi? 397 00:17:52,560 --> 00:17:53,680 I to też wyciąć kilka narożników. 398 00:17:53,680 --> 00:17:56,020 Spójrz na wersji on-line dla wszystkich drobnych niuansów. 399 00:17:56,020 --> 00:17:57,103 Ale to jest sedno tego. 400 00:17:57,103 --> 00:17:59,080 Główna do swojej asocjacyjna, a.k.a. 401 00:17:59,080 --> 00:18:02,910 Tablica mieszająca, sprawdzić, czy nie jest to wartość nie, jeśli jest ustawiony na true, a jeśli tak, 402 00:18:02,910 --> 00:18:03,930 return true. 403 00:18:03,930 --> 00:18:05,819 Więc my stopniała wszystkie złożoności. 404 00:18:05,819 --> 00:18:07,110 Więc rodzaj umysłu dmuchanie, prawda? 405 00:18:07,110 --> 00:18:09,680 Nie przeszkadzało kończąc go rozładować, ponieważ w fact-- Och, wiesz co? 406 00:18:09,680 --> 00:18:11,620 Tak, skończmy go rozładować. 407 00:18:11,620 --> 00:18:18,940 >> Rozładunku w tabeli mieszania może wyglądać jak funkcja rozładowania, powrócić. 408 00:18:18,940 --> 00:18:19,930 OK, więc to odciążenie. 409 00:18:19,930 --> 00:18:21,350 Bo nie ma nic wyładować, prawda? 410 00:18:21,350 --> 00:18:22,170 Nie ma malloc. 411 00:18:22,170 --> 00:18:24,280 Nie wprost zapytać System operacyjny na wszystko. 412 00:18:24,280 --> 00:18:25,571 Właśnie zacząłem przy użyciu zmiennych. 413 00:18:25,571 --> 00:18:30,510 I tak to też jest przejawem cechy języków wyższego poziomu. 414 00:18:30,510 --> 00:18:32,940 Więc znowu, większość tego terminu mamy do czynienia tutaj 415 00:18:32,940 --> 00:18:34,280 C. Super niskim poziomie. 416 00:18:34,280 --> 00:18:35,980 Możesz zobaczyć pamięci komputera. 417 00:18:35,980 --> 00:18:38,440 Ty możesz dotknąć czegokolwiek chcą w pamięci RAM komputera, 418 00:18:38,440 --> 00:18:39,440 na dobre i na złe. 419 00:18:39,440 --> 00:18:41,760 >> Tu, będziemy do rezygnacji z tego uprawnienia. 420 00:18:41,760 --> 00:18:44,730 Ale mój Boże, spójrz, jak znacznie mniej kodu napisałem. 421 00:18:44,730 --> 00:18:47,660 W rzeczywistości, jeśli nie rozmawiali i rozmawia przez mojego pisania, 422 00:18:47,660 --> 00:18:50,190 bylibyśmy zrobić z ten przykład pięć minut temu. 423 00:18:50,190 --> 00:18:52,150 Więc co cena jest płatne? 424 00:18:52,150 --> 00:18:54,100 Dobrze niech spojrzeć. 425 00:18:54,100 --> 00:18:55,340 Spójrzmy. 426 00:18:55,340 --> 00:18:59,340 Mam zamiar iść do przodu i uruchamiania CS50. 427 00:18:59,340 --> 00:19:02,160 Pozwól mi wejść dzisiejsze przykłady, gdzie 428 00:19:02,160 --> 00:19:03,970 Mam katalog tekstów, jak wcześniej. 429 00:19:03,970 --> 00:19:08,520 Zamierzam uruchomić rozwiązanie to jest z problemem ustawić pięć nazywa 430 00:19:08,520 --> 00:19:11,190 speller, które konta CS50 jest. 431 00:19:11,190 --> 00:19:14,040 >> I mam zamiar uruchomić go na czymś duża jak Biblii Króla Jakuba, 432 00:19:14,040 --> 00:19:16,547 po prostu tak, że naprawdę umieścić rozwiązania kadrowe na próbę. 433 00:19:16,547 --> 00:19:19,130 Teraz czasami internet jest trochę wolniej, trochę szybciej, 434 00:19:19,130 --> 00:19:20,338 może trochę potrwać, aby przewijać. 435 00:19:20,338 --> 00:19:23,730 Ale to trwało łącznie .56 sekund aby sprawdzić pisownię King James 436 00:19:23,730 --> 00:19:25,150 Biblia używając roztworu pracowników. 437 00:19:25,150 --> 00:19:25,620 Więc całkiem nieźle. 438 00:19:25,620 --> 00:19:27,786 Pozdrawiam może być o wiele wolniej, i to jest całkowicie w porządku. 439 00:19:27,786 --> 00:19:30,090 Ale to jest tutaj prawidłowe. 440 00:19:30,090 --> 00:19:32,440 Więc to rozwiązanie personel. 441 00:19:32,440 --> 00:19:34,785 Jeśli pójdę i oczyścić wersji PHP. 442 00:19:34,785 --> 00:19:36,990 I mam zamiar zrobić trochę jak pieczenia pokaż rzeczy. 443 00:19:36,990 --> 00:19:39,720 Mamy zamiar wziąć kod napisałem wcześniej, więc jest to całkowicie poprawne. 444 00:19:39,720 --> 00:19:42,678 Ponieważ kod napisałem nie będzie być właśnie teraz całkowicie poprawne. 445 00:19:42,678 --> 00:19:47,310 Ale jeśli uruchomić wersję PHP, co mam dać się już dziś? 446 00:19:47,310 --> 00:19:49,980 Zajęło mi pięć minut wdrożenie p ustawić pięć, mam prawo. 447 00:19:49,980 --> 00:19:51,770 Jaką cenę nie zapłaciłem? 448 00:19:51,770 --> 00:19:52,270 Tak. 449 00:19:52,270 --> 00:19:52,937 >> PUBLICZNOŚCI: Prędkość. 450 00:19:52,937 --> 00:19:53,645 Głośnik 1: Szybkość. 451 00:19:53,645 --> 00:19:54,380 Co masz na myśli? 452 00:19:54,380 --> 00:19:55,230 >> PUBLICZNOŚCI: To będzie trwać dłużej. 453 00:19:55,230 --> 00:19:55,660 >> Głośnik 1: W porządku. 454 00:19:55,660 --> 00:19:56,160 Zobaczmy. 455 00:19:56,160 --> 00:19:59,590 To będzie trwać dłużej, nie pisać, ale, aby go uruchomić. 456 00:19:59,590 --> 00:20:00,090 Tak. 457 00:20:00,090 --> 00:20:00,960 Warto więc spróbować. 458 00:20:00,960 --> 00:20:05,720 Więc mam zamiar iść do przodu i robić PHP speller, a ponieważ plik na 459 00:20:05,720 --> 00:20:06,360 nazywa ortografii. 460 00:20:06,360 --> 00:20:07,580 Więc ja nie uruchamiając Słownik, przypomnijmy, 461 00:20:07,580 --> 00:20:09,204 Używam programu o nazwie ortografii. 462 00:20:09,204 --> 00:20:12,450 Mam zamiar przejść w tym samym Plik, King James piąty. 463 00:20:12,450 --> 00:20:14,377 To leci przez. 464 00:20:14,377 --> 00:20:17,210 To może być tylko dostęp do Internetu, więc nie czytać zbyt wiele do tego. 465 00:20:17,210 --> 00:20:21,680 Ale to nie czuje się już na pewno. 466 00:20:21,680 --> 00:20:23,280 1.26 sekund. 467 00:20:23,280 --> 00:20:25,150 >> Teraz jest to jeszcze dość cholernie szybko, prawda? 468 00:20:25,150 --> 00:20:28,140 I tylko dlatego, że czuł się jak raczej trzy, lub cztery, lub pięć 469 00:20:28,140 --> 00:20:30,515 sekundy, to tylko dlatego, internet był za wolne. 470 00:20:30,515 --> 00:20:33,980 Komputer spędzony czas był 1,26 sekundy, w porównaniu Myślę 0,56. 471 00:20:33,980 --> 00:20:35,880 Tak więc ponad dwa razy powoli. 472 00:20:35,880 --> 00:20:39,170 Teraz to jeszcze cholernie szybko, ale to przejaw 473 00:20:39,170 --> 00:20:40,860 stanowi w istocie, że dokładna cena. 474 00:20:40,860 --> 00:20:43,460 >> Ponieważ jesteśmy interpretacji w linii kodu po linii, 475 00:20:43,460 --> 00:20:46,740 i że Program PHP czyta moje Kod góry do dołu, od lewej do prawej, 476 00:20:46,740 --> 00:20:47,940 to musi zrobić więcej myślenia. 477 00:20:47,940 --> 00:20:50,430 To musi rodzaj konwersji to wewnątrz siebie 478 00:20:50,430 --> 00:20:53,464 z odpowiednim urządzeniu Kod na bieżąco, by tak rzec, 479 00:20:53,464 --> 00:20:55,380 chociaż mechaniki są nieco inne. 480 00:20:55,380 --> 00:20:59,430 Zamiast po prostu karmienia do Intel CPU surowe zer i jedynek 481 00:20:59,430 --> 00:21:00,930 że rozumie natywnie. 482 00:21:00,930 --> 00:21:04,110 >> Więc absolutnie, ręce w dół, zapłaciliśmy cenę. 483 00:21:04,110 --> 00:21:09,120 Oraz kod napisany w języku jak PHP wydaje się być wolniejsze. 484 00:21:09,120 --> 00:21:10,050 Ale moim bogiem. 485 00:21:10,050 --> 00:21:12,740 Więc teraz, kiedy sprawdzić pisownię Plik spędzam dodatkowe 0,7 486 00:21:12,740 --> 00:21:17,280 albo tak sekund vs ciągu 20 godzin w celu wdrożenia szybsze sprawdzanie pisowni, prawda? 487 00:21:17,280 --> 00:21:18,397 Jest to swego rodzaju kompromis. 488 00:21:18,397 --> 00:21:20,980 A jeśli dopiero zaczynasz p ustawić pięć, może nie być w 20 godzin. 489 00:21:20,980 --> 00:21:22,188 Może być znacznie mniej niż to. 490 00:21:22,188 --> 00:21:23,600 Ale jest to kompromis, naprawdę. 491 00:21:23,600 --> 00:21:27,820 A jeśli używasz kodu na bardzo duży Zbiory danych, lub nawet starszym sprzęcie, 492 00:21:27,820 --> 00:21:32,650 te rodzaje różnic z pewnością może dodać. 493 00:21:32,650 --> 00:21:34,880 >> Wszelkie pytania do tej pory? 494 00:21:34,880 --> 00:21:35,617 Tak. 495 00:21:35,617 --> 00:21:36,492 >> PUBLICZNOŚCI: [niesłyszalne] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 Głośnik 1: Przepraszam, może Mówisz, że po raz kolejny? 498 00:21:39,978 --> 00:21:40,853 PUBLICZNOŚCI: [niesłyszalne] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 Głośnik 1: Dajesz się czas. 501 00:21:44,700 --> 00:21:45,283 No więc tak. 502 00:21:45,283 --> 00:21:47,322 Oszczędzasz czas nie trzeba go skompilować, 503 00:21:47,322 --> 00:21:48,530 jeśli o to pytasz. 504 00:21:48,530 --> 00:21:50,710 I rzeczywiście, w CS50, Większość programów 505 00:21:50,710 --> 00:21:53,668 chociaż mogą one potrwać napisać, że są stosunkowo krótkie. 506 00:21:53,668 --> 00:21:56,860 Kilkadziesiąt, kilkaset linii kodu, a więc skompilować dość szybko. 507 00:21:56,860 --> 00:21:58,470 Ale po uruchomieniu pisać większe programy, 508 00:21:58,470 --> 00:22:01,511 jak jeśli Microsoft lub jesteś Google i pisanie naprawdę duże programy 509 00:22:01,511 --> 00:22:05,360 w C lub C ++, lub podobnie skompilowany Języki, może przybierać wiele sekund, 510 00:22:05,360 --> 00:22:08,577 lub nawet minut lub dłużej skompilować miliony linii kodu. 511 00:22:08,577 --> 00:22:10,660 I tam też, że Różnica będzie się sumować. 512 00:22:10,660 --> 00:22:12,840 >> I rzeczywiście, gdy będziemy dziś przejście, tego samego dnia 513 00:22:12,840 --> 00:22:15,910 dzisiaj, do programowania WWW za pomocą PHP, jesteś 514 00:22:15,910 --> 00:22:18,460 będzie go znaleźć tak wiele bardziej przyjemne do pisania kodu 515 00:22:18,460 --> 00:22:21,501 kiedy nie musisz robić te głupie kroki, takie jak zmiany w terminalu 516 00:22:21,501 --> 00:22:24,202 Okno typu make witam, ponownie uruchom go, odświeżyć okno. 517 00:22:24,202 --> 00:22:25,910 Tylko tyle głupi czynności mechanicznych, które 518 00:22:25,910 --> 00:22:28,480 po prostu w sposób robienia ciekawe, praca zabawy. 519 00:22:28,480 --> 00:22:31,450 I rzeczywiście rzucamy, że się z PHP. 520 00:22:31,450 --> 00:22:34,960 I możemy współdziałać z nim szybciej. 521 00:22:34,960 --> 00:22:35,495 Tak. 522 00:22:35,495 --> 00:22:36,370 PUBLICZNOŚCI: [niesłyszalne] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 Głośnik 1: Jasne. 525 00:22:40,960 --> 00:22:42,876 Mogę wyjaśnić, co to oznacza należy interpretować? 526 00:22:42,876 --> 00:22:45,870 Podczas kompilowania język jak C, to idzie w dół 527 00:22:45,870 --> 00:22:48,140 jak powiedział do maszyny kodu, zer i jedynek. 528 00:22:48,140 --> 00:22:51,860 I Intel postanowił lat temu pewne wzorce z zer i jedynek 529 00:22:51,860 --> 00:22:56,220 stanowią dodawanie, odejmowanie lub, lub drukowania lub inne podstawowe operacje. 530 00:22:56,220 --> 00:23:00,250 W świecie języku interpretowanym takich jak PHP czy JavaScript, lub Python, 531 00:23:00,250 --> 00:23:03,120 lub Ruby lub bukiety inni, a nie ktoś, 532 00:23:03,120 --> 00:23:05,120 napisał interpreter-- w tym wypadku 533 00:23:05,120 --> 00:23:09,770 to się nazywa również PHP, identyczny z Nazwa language--, że zasadniczo 534 00:23:09,770 --> 00:23:13,840 ma dużą pętlę w nim, że iteracje na wszystkie linie kodu 535 00:23:13,840 --> 00:23:18,170 że karmię go jako wejście, jak cześć Kropka PHP lub słownika dot PHP. 536 00:23:18,170 --> 00:23:21,760 >> I wtedy można myśleć o ich wielkim Pętla jako posiadające wiele warunków. 537 00:23:21,760 --> 00:23:26,340 A warunki znaczy, jeżeli ludzka napisał słowa kluczowego dla, 538 00:23:26,340 --> 00:23:28,470 zacząć robić jego lub jej Kod znowu i znowu. 539 00:23:28,470 --> 00:23:31,360 Lub gdy człowiek ma napisany wiersz kodu, 540 00:23:31,360 --> 00:23:34,880 jeśli tylko wykonują swoje Następna linia warunkowo. 541 00:23:34,880 --> 00:23:37,740 Więc to jest naprawdę jak interpretowaniu że w ludzkim sensie, linia 542 00:23:37,740 --> 00:23:39,660 po linii, i że po prostu potrzeba czasu. 543 00:23:39,660 --> 00:23:41,340 To trwa nad głową. 544 00:23:41,340 --> 00:23:44,189 A więc to jest price-- dobre question-- płacimy. 545 00:23:44,189 --> 00:23:46,480 Więc zróbmy kolejną demonstrację to trochę bardziej dramatyczna. 546 00:23:46,480 --> 00:23:51,160 Nie jest, powiedziałbym, A stadiony to na 90% prawdopodobieństwo, z braku strasznie, 547 00:23:51,160 --> 00:23:53,869 ale będziesz zaskoczony z 10% prawdopodobieństwem. 548 00:23:53,869 --> 00:23:55,660 Więc co roku staramy w tym celu, w którym możemy 549 00:23:55,660 --> 00:23:59,061 spróbować napisać program, który przechodzi przez Problem ustawić zera, na które masz 550 00:23:59,061 --> 00:24:02,060 złożone swoje numery telefonów i wiele innych informacji demograficznych, 551 00:24:02,060 --> 00:24:06,030 i programowo wysłać wiadomość tekstową. 552 00:24:06,030 --> 00:24:08,540 I wtedy każdy jest telefon zaczyna piszczeć lub wibruje, 553 00:24:08,540 --> 00:24:11,460 i to jest po prostu niesamowite, ponieważ dobrze, spojrzeć na to, co komputery mogą zrobić. 554 00:24:11,460 --> 00:24:13,840 >> To rzadko działa prawidłowo Wydaje się, że w dużej mierze 555 00:24:13,840 --> 00:24:16,800 bo zazwyczaj się na czarnej liście przez Gmaila lub innej usługi 556 00:24:16,800 --> 00:24:19,630 dla rzeczywiście próbuje to zrobić na skali. 557 00:24:19,630 --> 00:24:24,940 Ale najśmieszniejsze jest też, od kiedy nie ma tu wszystkich, dzisiaj, 558 00:24:24,940 --> 00:24:27,690 zabawy fakt, ostatni raz Próbowałem to dwa lata temu, 559 00:24:27,690 --> 00:24:30,870 Myślę, że napisałem program który siedział w iteracji pętli 560 00:24:30,870 --> 00:24:34,040 w stosunku do wszystkich uczniów w klasie, i każdy z nich wiadomości tekstowej, 561 00:24:34,040 --> 00:24:37,534 i powiedział coś w stylu: dlaczego nie jesteś w wykładzie? 562 00:24:37,534 --> 00:24:39,170 Miłość, CS50 bota. 563 00:24:39,170 --> 00:24:42,580 >> Nie masz pojęcia, ile przepraszał i rodzaju bolesne e-maile 564 00:24:42,580 --> 00:24:46,970 Dostałem odpowiedź od n minus 100 osób, którzy nie byli tutaj 565 00:24:46,970 --> 00:24:47,960 tego dnia. 566 00:24:47,960 --> 00:24:52,116 I nawet zabawniejszy, bardziej haniebne story-- wiesz, postawmy go tam. 567 00:24:52,116 --> 00:24:53,740 Jest już na wideo kilka lat wstecz. 568 00:24:53,740 --> 00:24:56,810 Więc wkrótce zauważysz mnie Napisać do pętli, w której 569 00:24:56,810 --> 00:25:00,640 to jest bardzo łatwe do napisania błąd w które pętli tak, że po raz pierwszy 570 00:25:00,640 --> 00:25:02,800 przez pętlę, ty wysłanie wiadomości tekstowej. 571 00:25:02,800 --> 00:25:06,190 >> Za drugim razem przez pętlę I powinny Wysłano jeszcze jedną wiadomość tekstową, 572 00:25:06,190 --> 00:25:08,250 a potem jeszcze jeden tekst wiadomość, i jeszcze jedno. 573 00:25:08,250 --> 00:25:11,490 Ale okazuje się, jeśli popełnisz literówkę podczas programowania, czasem 574 00:25:11,490 --> 00:25:14,460 Można pisać programy, które wysyłają jednego wiadomości tekstowych, a następnie dwie wiadomości tekstowe, 575 00:25:14,460 --> 00:25:18,742 następnie trzy wiadomości tekstowe do wszystkich który już otrzymał wiadomość tekstową. 576 00:25:18,742 --> 00:25:21,450 A jak wiadomo, robi coś, Plus coś plus coś, 577 00:25:21,450 --> 00:25:25,910 oraz coś, jest duże O partii wiadomości tekstowych, lub n do kwadratu, 578 00:25:25,910 --> 00:25:29,830 lub $ 0,10 na wiadomość tekstową, $ 20,000. 579 00:25:29,830 --> 00:25:33,700 >> Na szczęście trafiłem Control-C wcześniej się stało, ale nie winni co najmniej jeden 580 00:25:33,700 --> 00:25:37,550 swoich poprzedników 20 dolarów za 200 jakieś dziwne wiadomości tekstowe, 581 00:25:37,550 --> 00:25:40,450 nie tylko poszedł do swojego telefonu, ale również był jak starszy telefon z klapką 582 00:25:40,450 --> 00:25:43,520 tak jak wypchnięty z jego Pamięć każdy inny osobisty tekst 583 00:25:43,520 --> 00:25:45,930 wiadomość, że rzeczywiście dostał. 584 00:25:45,930 --> 00:25:49,250 Tak więc mamy jeden cel dzisiaj, by tego nie robić. 585 00:25:49,250 --> 00:25:50,620 Może włączyć tryb samolotowy. 586 00:25:50,620 --> 00:25:51,120 W porządku. 587 00:25:51,120 --> 00:25:56,590 Warto więc przejść do Program tutaj callled-- 588 00:25:56,590 --> 00:25:59,060 że wezwę tekst dot PHP. 589 00:25:59,060 --> 00:26:01,074 I z góry, mam dwa pliki tutaj. 590 00:26:01,074 --> 00:26:06,030 Zrobiłem tylko plik dla pracowników, które ma cały personel jest informacją, wszystkie nazwy 591 00:26:06,030 --> 00:26:07,260 ze strony internetowej oczywiście za. 592 00:26:07,260 --> 00:26:09,756 A następnie na razie po prostu umieścić niektóre fałszywe numery 555-1212. 593 00:26:09,756 --> 00:26:11,380 Tak naprawdę to nie będzie nigdzie. 594 00:26:11,380 --> 00:26:15,140 Zauważmy jednak, wnętrze tego pliku CSV, których rozmawialiśmy o krótko przed 595 00:26:15,140 --> 00:26:16,540 w kontekście plików IO. 596 00:26:16,540 --> 00:26:18,730 >> Co znajduje się w pliku CSV? 597 00:26:18,730 --> 00:26:19,970 Zmiennych oddzielonych przecinkami. 598 00:26:19,970 --> 00:26:24,400 I to jest trochę jak bardzo lekki bazy danych, jeśli będzie. 599 00:26:24,400 --> 00:26:28,650 Jest to rodzaj jakby czterech kolumnach w tym pliku, a nie poszarpane, 600 00:26:28,650 --> 00:26:32,400 ale przecinki zasadniczo reprezentują kolumny w pliku. 601 00:26:32,400 --> 00:26:35,400 W pierwszej kolumnie jest TF lub nazwa urzędu certyfikacji. 602 00:26:35,400 --> 00:26:37,800 Druga kolumna jest ich nazwisko. 603 00:26:37,800 --> 00:26:39,820 Trzecia kolumna jest ich numer telefonu. 604 00:26:39,820 --> 00:26:44,760 I czwarta kolumna najwyraźniej jest-- Czwarta kolumna jest najwyraźniej co? 605 00:26:44,760 --> 00:26:45,870 OK, więc to jest ich nośnikiem. 606 00:26:45,870 --> 00:26:47,180 Więc Verizon, Sprint, lub lub co nie. 607 00:26:47,180 --> 00:26:48,620 A jeśli misspoke wcześniej, CSV. 608 00:26:48,620 --> 00:26:51,800 Oddzielonych przecinkami wartości jest tutaj CSV. 609 00:26:51,800 --> 00:26:54,260 >> Więc co mogę z tym zrobić? 610 00:26:54,260 --> 00:26:56,940 Cóż to jest tylko wielki plik tekstowy, i to trochę długo, prawda? 611 00:26:56,940 --> 00:26:58,690 Jak to będzie być trochę denerwujące. 612 00:26:58,690 --> 00:27:03,510 I okazuje się jednak, że jeśli Aby wysłać wiadomość tekstową do, powiedzmy, 613 00:27:03,510 --> 00:27:05,180 mówi Alex tutaj. 614 00:27:05,180 --> 00:27:09,690 Pozwólcie mi iść do mojej przeglądarce i wyjść z trybu pełnoekranowego 615 00:27:09,690 --> 00:27:11,660 tylko tak mogę przełączać się. 616 00:27:11,660 --> 00:27:20,280 Okazuje się, zobaczmy, jeśli pójdę w tu i zaloguj się do Gmaila, wszystko w porządku. 617 00:27:20,280 --> 00:27:22,950 Nie patrz na tej części. 618 00:27:22,950 --> 00:27:23,880 Wystarczy dostać się do zobaczyć. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 oczywiście zywo możliwe jeszcze zobaczyć, co robię. 621 00:27:28,800 --> 00:27:29,360 W porządku. 622 00:27:29,360 --> 00:27:31,850 >> Więc tutaj jest tylko Gmail z Konto Johna Harvardu. 623 00:27:31,850 --> 00:27:34,000 Więc jeśli chcę wysłać Alex wiadomości tekstowych, 624 00:27:34,000 --> 00:27:35,530 Mogę oczywiście utworzyć wiadomość. 625 00:27:35,530 --> 00:27:38,410 I okazuje się, i mam Testowałem go z Alex, zanim tutaj, 626 00:27:38,410 --> 00:27:42,260 więc można dodać pewną domenę wymienić się numerami telefonów ludzi, 627 00:27:42,260 --> 00:27:45,850 ponieważ nie istnieje w świecie rzeczy, o nazwie SMS na e-mail bramki. 628 00:27:45,850 --> 00:27:50,000 Który jest fantazyjny sposób na powiedzenie wszystkich z nas, którzy mają telefony komórkowe, które 629 00:27:50,000 --> 00:27:53,200 mają numery telefonów, oczywiście, prawdopodobnie istnieje dla przewoźnika, 630 00:27:53,200 --> 00:27:56,840 pewien sufiks jak w Vtext.com dla wiadomości tekstowej Verizon 631 00:27:56,840 --> 00:28:00,320 dot com, które można dodać do listy własny osobisty numer telefonu, a następnie 632 00:28:00,320 --> 00:28:03,540 Ty lub znajomych, lub twoi rodzice mogą tekst, który w tym konkretnym adresem. 633 00:28:03,540 --> 00:28:07,380 >> I Verizon ma serwer, e-mail Serwer, że po otrzymaniu tej wiadomości, 634 00:28:07,380 --> 00:28:11,180 Wygląda na części numerycznej, a następnie wykorzystuje niezależnie szczególną magię branży 635 00:28:11,180 --> 00:28:14,540 mają rzeczywiście wysłać go w ciągu fale radiowe do danej komórki 636 00:28:14,540 --> 00:28:15,040 komórkowy. 637 00:28:15,040 --> 00:28:18,030 Teraz to jest dobre, bo ja nie naprawdę wiedzą, jak wysłać wiadomość tekstową 638 00:28:18,030 --> 00:28:20,460 lub napisać jeszcze kod dla mojego telefonu komórkowego, 639 00:28:20,460 --> 00:28:23,580 i może to zrobić dokładnie, że dla ostateczny projekt, ale na razie wszystko 640 00:28:23,580 --> 00:28:24,770 Mam tu jest mój laptop. 641 00:28:24,770 --> 00:28:29,830 Więc chcę iteracyjne nad tym CSV Plik, linia po linii, po linii, po linii, 642 00:28:29,830 --> 00:28:35,160 chwycić każdego z numerów przez personel, i ich nośnik i programowo, 643 00:28:35,160 --> 00:28:39,770 łączyć, czyli podłącz telefon Numer z odpowiednią nazwą domeny 644 00:28:39,770 --> 00:28:40,820 a następnie wysłać e-mail. 645 00:28:40,820 --> 00:28:41,940 >> Więc to jest dużo schodów. 646 00:28:41,940 --> 00:28:45,530 I powodzenia robi, że w C To jest koszmar sytuacji 647 00:28:45,530 --> 00:28:48,350 otworzyć plik, aby ją przeczytać linia po linii, po linii, jak ty 648 00:28:48,350 --> 00:28:51,100 Obserwujemy, lub może wkrótce z problemem ustawić pięć, jeśli nie 649 00:28:51,100 --> 00:28:53,560 Problem ustawione cztery, a następnie dynamicznie łączyć 650 00:28:53,560 --> 00:28:57,020 Dwa łańcuchy ze sobą, gdyż w C, wziąć dwa ciągi i połączyć je, 651 00:28:57,020 --> 00:29:00,900 co prawda minimalnie musisz zrobić, najczęściej? 652 00:29:00,900 --> 00:29:03,020 Musisz zadeklarować więcej pamięci, prawda? 653 00:29:03,020 --> 00:29:04,710 I zapytać, malloc, mogę mieć więcej pamięci? 654 00:29:04,710 --> 00:29:07,060 Więc mogę umieścić połowę tego tu, połowa to tutaj. 655 00:29:07,060 --> 00:29:08,150 To tylko tak wiele kroków. 656 00:29:08,150 --> 00:29:10,310 I w tym momencie straciłeś Zainteresowanie głupim małym demo 657 00:29:10,310 --> 00:29:11,851 gdzie można dokonać wszystkich na telefon sygnał. 658 00:29:11,851 --> 00:29:14,590 Zróbmy tego typu PHP styl, w którym po prostu 659 00:29:14,590 --> 00:29:16,210 zacząć używać więcej tego zmywaku. 660 00:29:16,210 --> 00:29:18,050 >> A pomysły są zasadniczo takie same, 661 00:29:18,050 --> 00:29:20,710 ale nie musimy martwić się zbyt wiele o tym niższym poziomie. 662 00:29:20,710 --> 00:29:22,950 Zobaczmy więc jak mógłbym za to zabrać. 663 00:29:22,950 --> 00:29:26,664 I tak, że ja nie powtarzać błędów z przeszłości, 664 00:29:26,664 --> 00:29:28,330 Napisałem kilka uwag dla siebie tutaj. 665 00:29:28,330 --> 00:29:31,070 I zobaczmy, czy mogę się z nami chodzić przez niektóre z zasadniczych etapów 666 00:29:31,070 --> 00:29:33,861 a następnie na miłość czasem słychać, że będziesz być może wyciąć kilka rożnych w końcu. 667 00:29:33,861 --> 00:29:38,007 Mam zamiar iść do przodu i nie otwierają Uchwyt PHP, aby uruchomić ten plik. 668 00:29:38,007 --> 00:29:39,590 I mam zamiar iść do przodu i to zrobić. 669 00:29:39,590 --> 00:29:41,490 Uchwyt pliku, jak będziesz wkrótce, w rzeczywistości 670 00:29:41,490 --> 00:29:44,790 wywołuje funkcję o nazwie f otwarte. 671 00:29:44,790 --> 00:29:46,280 I pamiętaj, to otwiera plik. 672 00:29:46,280 --> 00:29:48,800 A cytat, koniec cytatu, r oznacza co znowu? 673 00:29:48,800 --> 00:29:49,800 Wystarczy otworzyć do odczytu. 674 00:29:49,800 --> 00:29:51,210 Teraz w zestawie P, to zrobił. 675 00:29:51,210 --> 00:29:54,500 I obsługi może być cokolwiek, fu, bar, bas, dowolna nazwa zmiennej. 676 00:29:54,500 --> 00:29:57,470 Ale ogólnie komputer Naukowiec nazwałbym otwarty plik, 677 00:29:57,470 --> 00:30:00,962 dając uchwyt pliku, coś się trzymać tak powiem. 678 00:30:00,962 --> 00:30:02,670 Idę zrobić niektórzy sprawdzanie błędów. 679 00:30:02,670 --> 00:30:07,260 Więc jeśli uchwyt jest fałszywa, podobnie jak w C, mam zamiar zrobić coś takiego, 680 00:30:07,260 --> 00:30:09,545 nie można otworzyć pliku, ukośnika n. 681 00:30:09,545 --> 00:30:11,420 I wtedy ja po prostu się iść do przodu i wyjść. 682 00:30:11,420 --> 00:30:14,340 I okazuje się, w PHP, Nie jestem wewnątrz funkcji. 683 00:30:14,340 --> 00:30:16,160 Nie ma główną funkcją tutaj. 684 00:30:16,160 --> 00:30:17,450 Więc nie wrócę, per se. 685 00:30:17,450 --> 00:30:18,120 I wyjść. 686 00:30:18,120 --> 00:30:19,619 Która jest w zasadzie to samo. 687 00:30:19,619 --> 00:30:22,510 A ja wychodzenia z prawdopodobnie jeden rok. 688 00:30:22,510 --> 00:30:24,220 One po prostu oznacza błąd pewnego rodzaju. 689 00:30:24,220 --> 00:30:25,580 To niezerowe, więc jest to błąd. 690 00:30:25,580 --> 00:30:30,220 >> W porządku, więc jeśli jestem tu teraz w moim programie mam otwarty plik. 691 00:30:30,220 --> 00:30:34,250 Mam zamiar iść do przodu i zadeklarować tablica nazywa adresy, 692 00:30:34,250 --> 00:30:38,610 i C musiałbym znać rozmiar tablicy z góry, prawda? 693 00:30:38,610 --> 00:30:41,910 Albo będę musiał zadeklarować to jest wskaźnikiem, a następnie za pomocą malloc. 694 00:30:41,910 --> 00:30:44,720 A następnie za każdym razem czytam za pośrednictwem innego wiersza w pliku, 695 00:30:44,720 --> 00:30:46,620 Będę musiał malloc więcej pamięci, malloc więcej pamięci. 696 00:30:46,620 --> 00:30:47,703 To jest ból w szyi. 697 00:30:47,703 --> 00:30:50,950 I na szczęście, PHP, Ruby, i Python i JavaScript, oni 698 00:30:50,950 --> 00:30:53,880 wzrośnie swoje tablice automatycznie. 699 00:30:53,880 --> 00:30:54,830 Nie więcej malloc. 700 00:30:54,830 --> 00:30:56,227 Nie więcej zarządzania pamięcią. 701 00:30:56,227 --> 00:30:57,560 Komputer dba o to. 702 00:30:57,560 --> 00:31:00,330 Ale cena, jaką płacisz. 703 00:31:00,330 --> 00:31:01,350 To trochę wolniej. 704 00:31:01,350 --> 00:31:03,190 A dla takiego programu nie będziemy zauważać. 705 00:31:03,190 --> 00:31:04,720 Mamy zamiar wysłać do 100 wiadomości tekstowych. 706 00:31:04,720 --> 00:31:06,136 Na przykład, nie będzie go czuć. 707 00:31:06,136 --> 00:31:08,430 To naprawdę zaczyna się tylko do znaczenia język wyboru 708 00:31:08,430 --> 00:31:11,490 gdy dane lub programy się naprawdę, naprawdę spora, 709 00:31:11,490 --> 00:31:14,120 jak to będzie miało bardziej z naszych rzeczy w oparciu internetowej. 710 00:31:14,120 --> 00:31:15,450 >> Ale teraz niech posunąć się naprzód. 711 00:31:15,450 --> 00:31:20,120 Podczas gdy okazuje się, że to Funkcja w C o nazwie f uzyskać CSV. 712 00:31:20,120 --> 00:31:24,570 Plik się CSV, które trwa uchwyt pliku jako argument, 713 00:31:24,570 --> 00:31:28,810 i przechodzi następnie, wiersz, przez wiersz, po wierszu, aby przeczytać w wiersz. 714 00:31:28,810 --> 00:31:30,964 Więc po prostu odczytuje linię tekstu z pliku. 715 00:31:30,964 --> 00:31:34,130 Ale co jest miłe o tej funkcji, nie po prostu podaj mi wiersz tekstu. 716 00:31:34,130 --> 00:31:37,320 Wygląda na te przecinki, i analizuje wiersz. 717 00:31:37,320 --> 00:31:41,740 I analizować wiersz oznacza podzielić że w pewnych wartości w tym zakresie. 718 00:31:41,740 --> 00:31:45,510 >> Innymi słowy, znak dolara wiersz jest zmienną, która jest 719 00:31:45,510 --> 00:31:47,010 da mi kilka indeksów. 720 00:31:47,010 --> 00:31:49,635 To ma być Pierwsza kolumna w moim pliku CSV. 721 00:31:49,635 --> 00:31:52,510 To będzie drugi Kolumna ta ma być trzeci 722 00:31:52,510 --> 00:31:53,968 i to będzie czwarty. 723 00:31:53,968 --> 00:31:57,440 Bo pamiętam, i program Excel nie Współpracujemy ostatni raz zrobiliśmy to, 724 00:31:57,440 --> 00:32:03,350 ale jeśli mogę pobrać personel dot CSV. 725 00:32:03,350 --> 00:32:04,940 Ups, nie zmieniać nazwy. 726 00:32:04,940 --> 00:32:09,120 Gdybym pobrać Departament Transportu CSV i spróbuj otworzyć go, 727 00:32:09,120 --> 00:32:12,510 Już registered-- oh nie aktualizuje Excel od ostatniego razu. 728 00:32:12,510 --> 00:32:15,880 Zobaczysz, że Departament Transportu CSV, mam cztery kolumny. 729 00:32:15,880 --> 00:32:18,720 Więc kiedy czytam w Pierwszy rząd do Abby tutaj, 730 00:32:18,720 --> 00:32:23,582 Znak dolara wiersz 0 jest Abby, Znak dolara wiersz jeden jest Lyons, 731 00:32:23,582 --> 00:32:27,740 Znak dolara wiersz dwa jest jej numer, a następnie przewoźnik jej telefonu. 732 00:32:27,740 --> 00:32:28,410 >> Więc to wszystko. 733 00:32:28,410 --> 00:32:30,740 I to jest dobre, bo nie muszą się teraz dowiedzieć się, 734 00:32:30,740 --> 00:32:32,800 gdzie wszystkie te przecinkami rzeczywistości. 735 00:32:32,800 --> 00:32:35,300 Więc mam zamiar iść do przodu i to zrobić, biorąc pod uwagę, że definicja, 736 00:32:35,300 --> 00:32:38,960 Mam zamiar powiedzieć, że jej nazwa jest w przedziale rzędu zerowego, jak obiecał. 737 00:32:38,960 --> 00:32:41,150 I mam zamiar grab-- i faktycznie, wiesz co? 738 00:32:41,150 --> 00:32:42,780 Nie będę się martwić jej imię, w tym przypadku. 739 00:32:42,780 --> 00:32:43,988 Zamierzam zachować to prostsze. 740 00:32:43,988 --> 00:32:48,610 Mam zamiar zrobić jej numer jest w przedziale rzędu dwóch, myślę. 741 00:32:48,610 --> 00:32:50,510 A jej przewoźnik był w których? 742 00:32:50,510 --> 00:32:53,405 Wiersz trzy, jedna na drugą. 743 00:32:53,405 --> 00:32:54,280 Więc nic nowego. 744 00:32:54,280 --> 00:32:56,770 To jest po prostu zerem indeksowanie do tablicy. 745 00:32:56,770 --> 00:32:58,760 >> A teraz mam zamiar wykonać następujące czynności. 746 00:32:58,760 --> 00:33:03,930 Jeżeli przewoźnik odpowiada równa AT & T-- Jestem po prostu będzie miał loop-- 747 00:33:03,930 --> 00:33:06,790 Chcę utworzyć wiadomość e-mail adres, który wygląda tak. 748 00:33:06,790 --> 00:33:12,320 To będzie 617-555-1212 co, co to jest, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 jest to, co chcę zrobić. 750 00:33:13,490 --> 00:33:15,260 Więc jak mam to zrobić? 751 00:33:15,260 --> 00:33:16,730 Mam zamiar wykonać następujące czynności. 752 00:33:16,730 --> 00:33:22,460 Jej adres będzie jej numer, i teraz, pozwól mi iść naprzód i to zrobić. 753 00:33:22,460 --> 00:33:23,760 To jest jakiś modny składni. 754 00:33:23,760 --> 00:33:27,250 Mógłbym zrobić procent ów podstęp, ale w rzeczywistości może po prostu to zrobić. 755 00:33:27,250 --> 00:33:29,900 >> Więc to jest rzecz, PHP, ale rozważmy to, co robię. 756 00:33:29,900 --> 00:33:31,630 Dolarów podpisać adres na lewa, tylko zmienna. 757 00:33:31,630 --> 00:33:32,300 Daj mi zmienną. 758 00:33:32,300 --> 00:33:33,390 Nie mam określić typ. 759 00:33:33,390 --> 00:33:34,570 PHP będzie zrozumieć. 760 00:33:34,570 --> 00:33:36,580 Z prawej strony, co to za typ danych 761 00:33:36,580 --> 00:33:38,399 tej całej sprawy na prawa strona? 762 00:33:38,399 --> 00:33:40,190 Wygląda jak struna, ponieważ jest podwójna 763 00:33:40,190 --> 00:33:42,280 cytuje z lewej i prawej. 764 00:33:42,280 --> 00:33:44,210 Teraz jest jakiś modny nowa składnia tutaj. 765 00:33:44,210 --> 00:33:47,550 Jest nawiasy klamrowe, a liczba znak dolara. 766 00:33:47,550 --> 00:33:52,860 Ale zgadywać co to jest składnia Prawdopodobnie mówiąc PHP zrobić dla mnie? 767 00:33:52,860 --> 00:33:53,360 Tak. 768 00:33:53,360 --> 00:33:54,630 Wystarczy wpisać wartość istnieje. 769 00:33:54,630 --> 00:33:55,530 Więc nie ma procent s. 770 00:33:55,530 --> 00:33:58,160 Możemy użyć druku f lub s drukuj f lub coś podobnego, 771 00:33:58,160 --> 00:34:00,070 ale PHP i dużo w językach wyższego poziomu, 772 00:34:00,070 --> 00:34:03,070 masz zamiar zobaczyć, że można zrobić to samo funkcjonalnie, może 773 00:34:03,070 --> 00:34:04,019 Sześć różnych sposobów. 774 00:34:04,019 --> 00:34:06,310 I tak zaczyna być kwestia wzornictwa i stylu. 775 00:34:06,310 --> 00:34:09,902 Więc to jest tylko tajemnicze spojrzenie sposób powiedzieć, daj mi adres e-mail, 776 00:34:09,902 --> 00:34:12,110 ale wtyczki liczby w pomiędzy tymi nawiasy. 777 00:34:12,110 --> 00:34:15,440 I nawiasy klamrowe nie będzie kończy się w końcowym adres. 778 00:34:15,440 --> 00:34:18,010 >> Teraz możemy pominąć niektóre z te linie dla dobra czasem słychać. 779 00:34:18,010 --> 00:34:21,210 Więc jeśli przewoźnik odpowiada równa verHorizon-- whoops, 780 00:34:21,210 --> 00:34:24,989 Verizon-- Chcę coś zrobić bardzo podobne, gdy adres dostaje, 781 00:34:24,989 --> 00:34:27,569 cytat, koniec cytatu, numer w text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 I wtedy mogę zrobić tego samego rodzaju rzeczą dla reszty nośników. 784 00:34:35,050 --> 00:34:37,090 Ale ja po prostu nie kropka, kropka, kropka teraz. 785 00:34:37,090 --> 00:34:43,050 A teraz załóżmy, że Chcę dodać tablicę, wcisnąć. 786 00:34:43,050 --> 00:34:45,969 Chcę dodać do tablica, zwany adresy. 787 00:34:45,969 --> 00:34:50,409 >> Ten adres, to jak ci coś dodać do tablicy w PHP. 788 00:34:50,409 --> 00:34:51,610 Nie musisz robić malloc. 789 00:34:51,610 --> 00:34:53,068 Nie musisz zmienić rozmiar tablicy. 790 00:34:53,068 --> 00:34:54,259 Wystarczy powiedzieć, tablicy, pchnięcie. 791 00:34:54,259 --> 00:34:57,300 Co chcesz push-- co tablicy chcesz wcisnąć coś na? 792 00:34:57,300 --> 00:34:58,000 Adresy. 793 00:34:58,000 --> 00:34:59,550 Co chcesz przesunąć na adresy? 794 00:34:59,550 --> 00:35:00,350 Adres. 795 00:35:00,350 --> 00:35:02,430 A w rzeczywistości, jeśli naprawdę chcesz być mądry, 796 00:35:02,430 --> 00:35:05,610 niektóre lukrem składniowym za to, że tak powiem, 797 00:35:05,610 --> 00:35:10,230 co oznacza po prostu, jak można to zrobić w ładniejsza sposób, byłoby to zrobić. 798 00:35:10,230 --> 00:35:14,060 To także powoduje uprawy tablica adresów według wielkości jednego, 799 00:35:14,060 --> 00:35:17,130 a następnie rzuć, że dodatkowe adres e-mail do niego. 800 00:35:17,130 --> 00:35:17,630 Tak. 801 00:35:17,630 --> 00:35:19,730 >> PUBLICZNOŚCI: [niesłyszalne] 802 00:35:19,730 --> 00:35:22,520 >> GŁOŚNIK 1: literówka na innego if-- och, przewoźnika. 803 00:35:22,520 --> 00:35:23,070 Dobrze. 804 00:35:23,070 --> 00:35:26,971 To również nie podoba mój brak wdrożyć część niniejszego programu 805 00:35:26,971 --> 00:35:27,470 później. 806 00:35:27,470 --> 00:35:28,810 Ale dziękuję za uwagę. 807 00:35:28,810 --> 00:35:30,671 Jeszcze jeden błąd. 808 00:35:30,671 --> 00:35:31,170 Dziękuję. 809 00:35:31,170 --> 00:35:33,746 Chcemy być Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Tak. 811 00:35:34,340 --> 00:35:34,839 W porządku. 812 00:35:34,839 --> 00:35:36,330 Gdzie więc nas opuścić? 813 00:35:36,330 --> 00:35:38,224 Napisaliśmy kodu do otwarcia pliku. 814 00:35:38,224 --> 00:35:40,390 Mamy pętlę na iterację nad wierszy w pliku. 815 00:35:40,390 --> 00:35:43,650 Mamy kod, który dodaje do mojego tablicy, po jednym na raz, Prawidłowo 816 00:35:43,650 --> 00:35:44,790 sformatowany adres e-mail. 817 00:35:44,790 --> 00:35:48,480 Więc wszystko, co naprawdę pozostaje tylko wysłać e-mail do każdego z nich. 818 00:35:48,480 --> 00:35:52,830 >> Więc Poszedłem dalej i Przygotował się w następujący sposób. 819 00:35:52,830 --> 00:35:59,580 Co mam zamiar zrobić tutaj jest-- i niech iść dalej i przejść do jakiegoś rzeczywistego kodu, 820 00:35:59,580 --> 00:36:00,620 która wygląda tak. 821 00:36:00,620 --> 00:36:02,950 Więc tutaj jest fabrycznie pieczone Wersja pisałem wcześniej. 822 00:36:02,950 --> 00:36:04,700 I zauważyć, skończyłem realizacji Sprint. 823 00:36:04,700 --> 00:36:06,130 Skończyłem realizacji T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Skończyłem realizacji Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 I z góry przepraszam. 826 00:36:09,622 --> 00:36:12,080 Istnieje kilka nośników, które niektórzy uczniowie w klasie mają 827 00:36:12,080 --> 00:36:14,640 że nie przeszkadza wyliczanie w razie stanie tutaj. 828 00:36:14,640 --> 00:36:16,015 Tak więc nie wszystkie teksty zgaśnie. 829 00:36:16,015 --> 00:36:17,556 Ale zobaczmy, co jeszcze muszę zrobić. 830 00:36:17,556 --> 00:36:19,660 I zamknąć plik, po prostu jak w p ustawić cztery. 831 00:36:19,660 --> 00:36:20,835 >> I to jest nowa składnia. 832 00:36:20,835 --> 00:36:22,710 I zobaczymy trochę bit to w czasie, 833 00:36:22,710 --> 00:36:24,450 zwłaszcza z p ustawić siedem i osiem. 834 00:36:24,450 --> 00:36:28,140 Ale to jest składnia dla tworzenia specjalny rodzaj konstrukcji. 835 00:36:28,140 --> 00:36:31,490 Okazuje się, że to biblioteka, która pochodzi z PHP, o nazwie PHP program pocztowy. 836 00:36:31,490 --> 00:36:33,840 Jego celem w życiu jest programowo wysyłać e-maile. 837 00:36:33,840 --> 00:36:36,840 Jest Kod ktoś inny napisał, że ułatwia nam wysyłać e-maile, 838 00:36:36,840 --> 00:36:39,131 więc nie musimy trzymać tam iz powrotem do Gmaila, 839 00:36:39,131 --> 00:36:41,151 i wklejając w adresów e-mail osób. 840 00:36:41,151 --> 00:36:44,150 Jest cała masa linii tutaj że szczerze mówiąc, po prostu rodzaj skopiowane 841 00:36:44,150 --> 00:36:45,660 i wklejony z dokumentacji. 842 00:36:45,660 --> 00:36:47,409 A w rzeczywistości, jeśli jesteś nowoczesny, zostawiłem wszystko 843 00:36:47,409 --> 00:36:50,550 adresów URL dokumentacji w kodzie, że będziemy pisać później. 844 00:36:50,550 --> 00:36:52,360 I zauważyć, że wśród rzeczy robię 845 00:36:52,360 --> 00:36:55,710 jest, mówię tej biblioteki, używać serwera Gmaila, prawda? 846 00:36:55,710 --> 00:36:59,360 SMTP rozmawialiśmy krótko na temat, kiedy były w Yale o byciu Simple Mail 847 00:36:59,360 --> 00:37:00,110 protokół transmisji. 848 00:37:00,110 --> 00:37:02,920 Jest to protokół, który serwery używane do wysyłania wiadomości e-mail, 849 00:37:02,920 --> 00:37:05,150 i that's-- Gmail ma jeden z tych. 850 00:37:05,150 --> 00:37:07,290 Port, jest to numer portu TCP. 851 00:37:07,290 --> 00:37:09,630 To dobrze, jeśli nie widziałem 587 wcześniej. 852 00:37:09,630 --> 00:37:11,420 Wystarczy wiedzieć, że z dokumentacji. 853 00:37:11,420 --> 00:37:12,250 Oto moja nazwa użytkownika. 854 00:37:12,250 --> 00:37:13,670 Mam zamiar używać bota CF50. 855 00:37:13,670 --> 00:37:16,690 I w pewnym momencie, jestem po prostu będzie wpisać właściwe hasło bota. 856 00:37:16,690 --> 00:37:18,690 A potem na dół, zauważył, co pozostaje. 857 00:37:18,690 --> 00:37:22,840 >> Ustawiłem od adresu być bot na CS50.net. 858 00:37:22,840 --> 00:37:26,240 Myślę, że nie będę żałować, wysyłając wiadomości tekstowych do 800 osób, które 859 00:37:26,240 --> 00:37:30,590 mówi, tęsknię za tobą, miłość CS50 bot, być może dla tych, którzy nie mogli zrobić to dzisiaj. 860 00:37:30,590 --> 00:37:33,160 A następnie w linii 76, co mam zrobić? 861 00:37:33,160 --> 00:37:39,010 Ten rodzaj wygląda jak C Więc dla i jest równa 0, n equals-- teraz liczyć jest nowy. 862 00:37:39,010 --> 00:37:42,077 Okazuje się, że jeśli chcesz, aby ilość rzeczy w tablicy, 863 00:37:42,077 --> 00:37:43,660 nie trzeba pamiętać go już. 864 00:37:43,660 --> 00:37:45,370 Możesz po prostu zapytać Funkcja o nazwie count, 865 00:37:45,370 --> 00:37:48,320 i powie to, ile adresy są w tej tablicy. 866 00:37:48,320 --> 00:37:53,210 >> A potem mam zamiar dodać adres do wiadomości e-mail. 867 00:37:53,210 --> 00:37:55,090 I wiem to z korzystając z dokumentacji. 868 00:37:55,090 --> 00:37:56,900 Jest funkcja adres dodatek. 869 00:37:56,900 --> 00:37:58,980 A teraz nie zauważyć jest jeden kawałek składni. 870 00:37:58,980 --> 00:38:01,470 Widzieliśmy to już wcześniej w C. Podobny w duchu. 871 00:38:01,470 --> 00:38:04,100 Można myśleć o dolara maila jako zmienna, co to jest. 872 00:38:04,100 --> 00:38:08,100 Ale to struktura wewnątrz które są nie tylko właściwości, 873 00:38:08,100 --> 00:38:09,400 zmienne, jeśli będzie. 874 00:38:09,400 --> 00:38:13,480 Ale okazuje się, że w PHP, które jest programowanie obiektowe 875 00:38:13,480 --> 00:38:16,520 język, jak Java, jeśli wziął APC. 876 00:38:16,520 --> 00:38:21,420 >> Znak dolara mail jeśli chcesz to-- ma również funkcje wewnątrz niej, 877 00:38:21,420 --> 00:38:22,380 lub metody. 878 00:38:22,380 --> 00:38:24,720 Więc to znaczy, że Specjalny PHP Mailer 879 00:38:24,720 --> 00:38:29,280 biblioteka, jeśli mam ich zmienną, jeśli chcę wywołać funkcję, która 880 00:38:29,280 --> 00:38:31,559 pochodzi z tej biblioteki, dla dzisiejszych potrzeb, 881 00:38:31,559 --> 00:38:33,100 po prostu wiem użyć notacji strzałki. 882 00:38:33,100 --> 00:38:34,150 Nie ma zapisu dot. 883 00:38:34,150 --> 00:38:35,220 To tylko strzałka. 884 00:38:35,220 --> 00:38:36,380 Ale to nie jest wskaźnik. 885 00:38:36,380 --> 00:38:38,680 To jest po prostu pożyczył od składni C jest. 886 00:38:38,680 --> 00:38:43,620 Tak nazywają dodać adres wewnątrz obiekt lub Zmienna biblioteki. 887 00:38:43,620 --> 00:38:44,440 >> W porządku. 888 00:38:44,440 --> 00:38:45,570 Jest to magiczna linia. 889 00:38:45,570 --> 00:38:46,740 To w jaki sposób wysłać e-mail. 890 00:38:46,740 --> 00:38:50,040 To jest równoznaczne z otwarciem Gmail, wpisując go i uderzając wysłać. 891 00:38:50,040 --> 00:38:54,870 Ale to będzie, zamiast wysyłać Na ten adres e-mail, z tym ciałem, 892 00:38:54,870 --> 00:38:57,120 z bota CS50. 893 00:38:57,120 --> 00:38:58,710 A teraz przycisk linii. 894 00:38:58,710 --> 00:39:03,130 Ten wiersz był nieobecny w jak 2011 kiedy myślę, że w zeszłym próbowałem. 895 00:39:03,130 --> 00:39:05,640 Ta linia jest, oczywiście, kasuje adresy. 896 00:39:05,640 --> 00:39:07,920 Więc logicznie, jeśli I nie wyczyścić adres 897 00:39:07,920 --> 00:39:11,740 Po każdej iteracji, pierwszy e-mail lub wiadomość tekstowa trafia do Alice, 898 00:39:11,740 --> 00:39:14,320 drugi idzie do Alicja i Bob, trzeci 899 00:39:14,320 --> 00:39:17,870 idzie do Alice i Bob i Charlie, stąd bardzo kosztowna pomyłka 900 00:39:17,870 --> 00:39:18,760 Zrobiłem w tym roku. 901 00:39:18,760 --> 00:39:21,080 >> Więc zobaczymy. 902 00:39:21,080 --> 00:39:24,200 Czy są jakieś pytania zanim wyślemy Ci wszystkie tekst 903 00:39:24,200 --> 00:39:28,210 Komunikat z 10 procentowym prawdopodobieństwem? 904 00:39:28,210 --> 00:39:28,940 Jakiekolwiek pytania? 905 00:39:28,940 --> 00:39:30,330 W porządku. 906 00:39:30,330 --> 00:39:36,100 Miejmy mi iść tu i zmiany hasło do tego, co powinno działać, 907 00:39:36,100 --> 00:39:37,780 prawdopodobnie będzie się na czarnej liście przez Gmaila. 908 00:39:37,780 --> 00:39:39,821 Więc może nie wszyscy pójdziemy się, ponieważ prawdopodobnie 909 00:39:39,821 --> 00:39:42,960 nie podoba nam wysyłanie 800 e-maili w pętli for wszystko na raz. 910 00:39:42,960 --> 00:39:45,140 Ponieważ to nie jest Szczególnie zachowanie ludzkie. 911 00:39:45,140 --> 00:39:47,460 >> Och, mam zamiar zmienić jedną rzecz. 912 00:39:47,460 --> 00:39:50,850 W górę w górę, będę sent-- zmienić plik do studentów dot CSV. 913 00:39:50,850 --> 00:39:55,420 I nie otworzy się, ale jest to identyczne Plik CSV z nie 100 pracowników, 914 00:39:55,420 --> 00:39:58,970 ale 800 studentów, po prostu z Harvardu, bo Yale 915 00:39:58,970 --> 00:40:00,207 ma wgłębienie października w tym tygodniu. 916 00:40:00,207 --> 00:40:03,290 I wydaje się, że rodzaju rzeczy jerk zrobić, aby tekst wszystkie z nich, dlaczego 917 00:40:03,290 --> 00:40:04,750 nie są one w klasie na wakacjach. 918 00:40:04,750 --> 00:40:05,250 Dobrze. 919 00:40:05,250 --> 00:40:08,310 Tylko studentów Harvardu dziś wewnątrz tego pliku. 920 00:40:08,310 --> 00:40:12,320 A teraz wróćmy moim oknie terminala. 921 00:40:12,320 --> 00:40:13,710 Jestem trochę zdenerwowany. 922 00:40:13,710 --> 00:40:22,000 >> OK, więc teraz mam zamiar iść do katalog, kropka i tekst PHP PHP. 923 00:40:22,000 --> 00:40:24,950 Jak o jeden dzielny wolontariusz? 924 00:40:24,950 --> 00:40:26,690 Więc nie chcę tego na mnie. 925 00:40:26,690 --> 00:40:28,410 OK, chodź na górę. 926 00:40:28,410 --> 00:40:29,162 Jak masz na imię? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 Głośnik 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Chodź, Maya. 930 00:40:31,610 --> 00:40:34,120 W porządku. 931 00:40:34,120 --> 00:40:35,389 Zobaczymy, czy to działa. 932 00:40:35,389 --> 00:40:38,430 Kładę własny adres e-mail w file-- mój własny numer telefonu w pliku, 933 00:40:38,430 --> 00:40:40,110 tak, mam nadzieję, że będę miał jedną, jak również. 934 00:40:40,110 --> 00:40:40,819 Miło cię poznać. 935 00:40:40,819 --> 00:40:41,443 MAYA: Podobnie. 936 00:40:41,443 --> 00:40:44,510 Głośnik 1: Więc wszystko co musisz zrobić, to naciśnij klawisz Enter, aby wysłać 800 wiadomości tekstowych, 937 00:40:44,510 --> 00:40:45,466 jeśli nie zepsuć. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Miły. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Czy może trochę potrwać, statystycznie, aż dojdziemy do wiadomości e-mail address-- 942 00:40:58,430 --> 00:41:00,573 wiadomość tekstowa to w pokoju teraz. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Miejmy marudzić i zobaczyć. 945 00:41:05,390 --> 00:41:06,940 >> PUBLICZNOŚCI: [gwizdy] 946 00:41:06,940 --> 00:41:08,270 >> Głośnik 1: O, tak. 947 00:41:08,270 --> 00:41:09,230 >> PUBLICZNOŚCI: Och, haczyka. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> Głośnik 1: Dla pętli are-- tego nie jest powolny, ponieważ PHP. 950 00:41:19,180 --> 00:41:21,810 To jest powolny, ponieważ Gmail jest dławienie nas i nie 951 00:41:21,810 --> 00:41:25,170 pozwalając nam wysłać więcej niż jak jeden e-mail na sekundę. 952 00:41:25,170 --> 00:41:26,300 Byle co? 953 00:41:26,300 --> 00:41:29,990 Była to trudna rzecz dla mnie sprawdzić na domu z tylko mnie i mojej jednego telefonu, tak. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Jest to, że mam nadzieję, że z bota? 956 00:41:41,111 --> 00:41:41,610 Tak? 957 00:41:41,610 --> 00:41:42,110 Nie? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Powiedz tak. 960 00:41:46,620 --> 00:41:47,479 Nie? 961 00:41:47,479 --> 00:41:49,374 To od znajomego? 962 00:41:49,374 --> 00:41:49,874 Niezręczny. 963 00:41:49,874 --> 00:41:50,374 OK. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Prawie pewien, że to działa, choć. 966 00:42:00,090 --> 00:42:00,910 O o. 967 00:42:00,910 --> 00:42:03,190 Black-- one och, chwileczkę. 968 00:42:03,190 --> 00:42:04,280 Och, wiesz co? 969 00:42:04,280 --> 00:42:06,100 Chwileczkę. 970 00:42:06,100 --> 00:42:07,802 Tylko Maya i ja-- Mia, to było? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 Głośnik 1: Maya, będą wiem co zrobiłem źle tutaj. 973 00:42:12,110 --> 00:42:14,890 Och, chwileczkę. 974 00:42:14,890 --> 00:42:23,320 Myślę, że właśnie wysłał 100 wiadomości tekstowe do 555-1212. 975 00:42:23,320 --> 00:42:24,346 Czekaj. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Nie mogę wygrać każdego roku. 978 00:42:29,270 --> 00:42:30,180 OK. 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 Ustalić, że w post produkcji. 982 00:42:36,219 --> 00:42:36,718 Cholera! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Po od adresu. 985 00:42:40,390 --> 00:42:41,301 OK, stand by. 986 00:42:41,301 --> 00:42:41,800 Przepraszam. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 To bolesne, co roku. 989 00:42:47,080 --> 00:42:48,640 OK, w jednej chwili. 990 00:42:48,640 --> 00:42:50,530 To jest dobre. 991 00:42:50,530 --> 00:42:54,010 Ja zamiast zamiar to zrobić. 992 00:42:54,010 --> 00:42:55,470 Adres Drukuj. 993 00:42:55,470 --> 00:42:56,030 OK, stand by. 994 00:42:56,030 --> 00:43:01,340 Adresy Print, uchwyt i. 995 00:43:01,340 --> 00:43:02,710 Tak, podoba mi się. 996 00:43:02,710 --> 00:43:10,220 Dolar sign-- OK, postaram się wyjaśnić, co mam robi się w momencie, po Zabrakło mi tego. 997 00:43:10,220 --> 00:43:11,670 Co roku. 998 00:43:11,670 --> 00:43:13,125 OK, jedziemy. 999 00:43:13,125 --> 00:43:15,750 Mam just-- i nie chcę pokazać wszystkich na numer telefonu, 1000 00:43:15,750 --> 00:43:17,740 ale Maya może potwierdzić skinieniem głowy, 1001 00:43:17,740 --> 00:43:20,800 które widzi każdy jest numer telefonu w klasie 1002 00:43:20,800 --> 00:43:26,750 że mam zamiar skopiować do program o nazwie Gmail. 1003 00:43:26,750 --> 00:43:30,860 A jeśli w Gmailu, co chcemy powiedzieć? 1004 00:43:30,860 --> 00:43:32,137 Tęsknię za Tobą. 1005 00:43:32,137 --> 00:43:33,220 Love-- to nie ode mnie. 1006 00:43:33,220 --> 00:43:35,230 I nawet nie uderzył jeszcze wysłać. 1007 00:43:35,230 --> 00:43:39,450 Więc zrób tego, czy uda mi się powiększyć. 1008 00:43:39,450 --> 00:43:40,300 OK. 1009 00:43:40,300 --> 00:43:42,480 Więc używam programu o nazwie teraz Gmail. 1010 00:43:42,480 --> 00:43:44,490 Jeśli Maya, którą chcesz kliknij przycisk Wyślij, 1011 00:43:44,490 --> 00:43:46,970 będziemy symulować, co to Kod powinien zrobić. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Byle co? 1014 00:43:55,254 --> 00:43:56,062 >> [BEEPS] 1015 00:43:56,062 --> 00:43:56,870 >> PUBLICZNOŚCI: Tak. 1016 00:43:56,870 --> 00:43:58,030 >> 1 głośnik: Tak? 1017 00:43:58,030 --> 00:43:59,210 Zbawienie? 1018 00:43:59,210 --> 00:44:00,427 >> PUBLICZNOŚCI: Tak. 1019 00:44:00,427 --> 00:44:01,260 Głośnik 1: Tęsknię za tobą. 1020 00:44:01,260 --> 00:44:02,718 I mam zamiar wysłać resztę. 1021 00:44:02,718 --> 00:44:06,060 Wysłałem połowę, bo nie sądzę, Gmail pozwoli ci przejść. 1022 00:44:06,060 --> 00:44:12,410 Więc po prostu pamiętać, dzisiaj jest dzień że dowiedziałem się, że mogę korzystać z Gmaila. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 To było przerażające. 1025 00:44:15,810 --> 00:44:17,140 Wielkie brawa na Maya. 1026 00:44:17,140 --> 00:44:18,980 Dziękuję. 1027 00:44:18,980 --> 00:44:21,280 Dobrze, tak. 1028 00:44:21,280 --> 00:44:22,210 co 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 >> Mamy kilka dźwięków, tak? 1032 00:44:26,580 --> 00:44:27,080 W porządku. 1033 00:44:27,080 --> 00:44:30,590 Teraz mam zamiar uzyskać 700 naprawdę nieszczęśliwych e-maile z powrotem z kolegami. 1034 00:44:30,590 --> 00:44:32,400 Tak przynajmniej zobaczymy jeśli to było warto. 1035 00:44:32,400 --> 00:44:33,300 Więc co się stało? 1036 00:44:33,300 --> 00:44:35,300 Będę dowiedzieć się, co poszło źle po fakcie, 1037 00:44:35,300 --> 00:44:38,340 ale tylko patrzeć, jak łatwo było to zrobić w PHP. 1038 00:44:38,340 --> 00:44:44,598 Więc co możemy zrobić teraz, że rzeczywiście mamy ten ekspresyjność PHP. 1039 00:44:44,598 --> 00:44:45,970 To was--, że było straszne. 1040 00:44:45,970 --> 00:44:46,480 W porządku. 1041 00:44:46,480 --> 00:44:48,430 Więc to, co powinno wyszło. 1042 00:44:48,430 --> 00:44:52,770 To było mnie testuje dziś rano na moim telefon, rzeczywista zrzut ekranu z mojego telefonu. 1043 00:44:52,770 --> 00:44:56,180 >> A teraz zastanówmy się, dlaczego my rzeczywiście wprowadzenie 1044 00:44:56,180 --> 00:44:57,840 wszystkie te rzeczy w pierwszej kolejności. 1045 00:44:57,840 --> 00:45:01,625 Tak więc celem nie jest Napisać te programy, które 1046 00:45:01,625 --> 00:45:03,250 zapisane są w linii poleceń, tak? 1047 00:45:03,250 --> 00:45:05,000 Więc napisałem prosty witam Program napisałem 1048 00:45:05,000 --> 00:45:09,155 mały program, który robi warunkowe, i używane linię odczytu i tak dalej. 1049 00:45:09,155 --> 00:45:11,530 I w teorii, po prostu napisał program, który wysłał 1050 00:45:11,530 --> 00:45:14,290 800 wiadomości tekstowych, lub dać 800. 1051 00:45:14,290 --> 00:45:16,830 A ten program to wszystko nadal działać w linii poleceń. 1052 00:45:16,830 --> 00:45:18,538 I to oczywiście jest nie w internecie, prawda? 1053 00:45:18,538 --> 00:45:22,160 Celem jest teraz rozpocząć używanie to, co twierdzą, jest łatwiejszy w obsłudze 1054 00:45:22,160 --> 00:45:24,720 język, przypuszczam, bardziej potężny język w kategoriach 1055 00:45:24,720 --> 00:45:27,104 z cech, które się z nim, aby rozpocząć 1056 00:45:27,104 --> 00:45:29,850 pisanie kodu, który generuje stron internetowych. 1057 00:45:29,850 --> 00:45:33,248 >> Więc ostatni raz, a w zeszłym tygodniu, rozmawialiśmy o HTTP i HTML. 1058 00:45:33,248 --> 00:45:36,350 A co jest miłe o HTML jest to, że jest to po prostu czysty tekst. 1059 00:45:36,350 --> 00:45:38,220 A tekst jest z pewnością coś, co można 1060 00:45:38,220 --> 00:45:42,040 drukowanie przez dosłownie wywołanie print f funkcja lub funkcja druku. 1061 00:45:42,040 --> 00:45:46,160 I rzeczywiście, to co PHP teraz będzie pozwalają nam robić. 1062 00:45:46,160 --> 00:45:48,610 Tak więc wśród tych przykładach mają w dzisiejszym kodu źródłowego, 1063 00:45:48,610 --> 00:45:51,610 Ponadto w niektórych z kodem że kładę się tam przed chwilą, 1064 00:45:51,610 --> 00:45:55,440 mamy programy takie jak ten na przykład. 1065 00:45:55,440 --> 00:45:58,760 Froshims lub Freshman Stacjonarne Sport, był w rzeczywistości 1066 00:45:58,760 --> 00:46:01,500 jeden z pierwszych extracurriculars Zostałem zaangażowany lat temu. 1067 00:46:01,500 --> 00:46:03,750 A mój współlokator i ja, z inne dzieci na terenie kampusu, 1068 00:46:03,750 --> 00:46:05,280 wykorzystane do uruchomienia programu froshims. 1069 00:46:05,280 --> 00:46:07,420 Dostaję moje wiadomości tekstowe teraz. 1070 00:46:07,420 --> 00:46:14,030 >> Teraz więc, już w dzień, więc to minął w 1996 roku lub tak, nie było internetu, 1071 00:46:14,030 --> 00:46:17,395 ale nie było tam process-- nie była strona froshims. 1072 00:46:17,395 --> 00:46:20,270 A więc jeśli chcesz zapisać się na piłka nożna czy siatkówka czy cokolwiek, 1073 00:46:20,270 --> 00:46:22,240 by wypełnić tę rzecz nazywa kawałek papieru, 1074 00:46:22,240 --> 00:46:25,060 i chcesz przejść przez Harvard podwórze, i chcesz go przesunąć 1075 00:46:25,060 --> 00:46:29,230 w gnieździe mail Proctor, który był w Wigglesworth, jeden z akademików. 1076 00:46:29,230 --> 00:46:31,270 A ten pan był zarejestrowany. 1077 00:46:31,270 --> 00:46:33,570 A on lub ona będzie wtedy komponowanie e-mail do Ciebie 1078 00:46:33,570 --> 00:46:36,514 ręcznie, tak jak ja po prostu nie tutaj z Maya, 1079 00:46:36,514 --> 00:46:38,930 i wtedy można być potwierdzone jak będąc zarejestrowana. 1080 00:46:38,930 --> 00:46:40,840 >> Więc to było jak niskie wiszące owoce, że tak powiem. 1081 00:46:40,840 --> 00:46:42,930 To było głupie, że używaliśmy papieru do tego. 1082 00:46:42,930 --> 00:46:45,024 Chciałam, żebyśmy byli w stanie po prostu pójść na stronie internetowej, 1083 00:46:45,024 --> 00:46:47,440 lub mają pierwszaków przejść na stronę internetową, zarejestrować się za sport, 1084 00:46:47,440 --> 00:46:50,398 i po prostu zautomatyzować wiele z tych rzeczy przez umieszczenie ich nazwiska i e-maile 1085 00:46:50,398 --> 00:46:51,850 i tak dalej w bazie danych. 1086 00:46:51,850 --> 00:46:56,510 I rzeczywiście, pierwszą wersję strony internetowej, za pomocą bardzo brzydki HTML, 1087 00:46:56,510 --> 00:46:58,195 mógł wyglądać mniej więcej tak. 1088 00:46:58,195 --> 00:47:01,070 To był rzeczywiście, jak na ironię, więcej żenujące, patrząc od tej tyłu 1089 00:47:01,070 --> 00:47:01,460 następnie. 1090 00:47:01,460 --> 00:47:02,890 Ale użyłem języka programowania. 1091 00:47:02,890 --> 00:47:06,060 Nie PHP, Perl, ale raczej o nazwie, który jest starszy język, 1092 00:47:06,060 --> 00:47:07,251 ale bardzo podobny w duchu. 1093 00:47:07,251 --> 00:47:09,000 A ja po prostu całkowicie nauczył go do siebie. 1094 00:47:09,000 --> 00:47:12,208 I zajęło mi trochę czasu, aby zrozumieć to, prosząc wiele pytań przyjaciół. 1095 00:47:12,208 --> 00:47:14,080 Ale pomysły były dokładnie takie same. 1096 00:47:14,080 --> 00:47:18,050 Bo co tak naprawdę PHP zaprojektowany Nie jest na rzeczy z linii poleceń 1097 00:47:18,050 --> 00:47:20,450 po prostu grał, ale dla programowania WWW. 1098 00:47:20,450 --> 00:47:24,960 >> To naprawdę przywiązany w swojej funkcji ustawić w internecie, w następujący sposób. 1099 00:47:24,960 --> 00:47:26,370 Jest froshims. 1100 00:47:26,370 --> 00:47:28,720 A gdybym chciał zarejestrować się w tej formie, 1101 00:47:28,720 --> 00:47:30,930 to jest dość brzydki, na pewno, ale pozwól mi iść do przodu 1102 00:47:30,930 --> 00:47:34,440 i być mniej wygodne student, i cokolwiek sport dla Matthews, 1103 00:47:34,440 --> 00:47:35,630 kliknij przycisk Zarejestruj. 1104 00:47:35,630 --> 00:47:39,780 Co chcę być w stanie zrobić to przedstawienia informacji z formularza, 1105 00:47:39,780 --> 00:47:42,400 Nie do serwera Google, takich jak zrobiliśmy ostatni czas, całkowicie 1106 00:47:42,400 --> 00:47:47,100 oszukiwanie przy użyciu ich zaplecza, ja chcą wprowadzić mój własny kod zaplecza. 1107 00:47:47,100 --> 00:47:51,410 Co oznacza zapis PHP Kod, który mieszka pod adresem URL 1108 00:47:51,410 --> 00:47:54,180 że dane formularza można składać. 1109 00:47:54,180 --> 00:47:57,510 >> A następnie kod, napisany w PHP na serwerze, 1110 00:47:57,510 --> 00:47:59,400 może wtedy odpowiedzieć na to dane wprowadzone przez użytkownika. 1111 00:47:59,400 --> 00:48:03,287 Podobnie jak jego nazwisko, lub poziom komfortu, lub w akademiku, a następnie coś z tym zrobić. 1112 00:48:03,287 --> 00:48:05,120 W tym przypadku, po prostu głupio drukowane go 1113 00:48:05,120 --> 00:48:06,750 jako tekst, który nie jest wszystko, co ładne. 1114 00:48:06,750 --> 00:48:09,590 Ale można na pewno sobie wyobrazić, jeśli znasz HTML, 1115 00:48:09,590 --> 00:48:13,010 i wkrótce wiem jak generować Kopiuj z nadrukiem F i druku, 1116 00:48:13,010 --> 00:48:16,500 i podobne funkcje, można z pewnością generuje ładniejszą stronę internetową, która mówi, 1117 00:48:16,500 --> 00:48:17,929 hej David, jesteś zarejestrowany. 1118 00:48:17,929 --> 00:48:20,220 Jesteś mniej wygodne student z Matthews, prawda? 1119 00:48:20,220 --> 00:48:23,880 >> Możesz po prostu użyć całą masę% SES, lub nawiasy klamrowe i znak dolara 1120 00:48:23,880 --> 00:48:27,750 Zapis użyłem przed chwilą, w celu generować tekst, który jest bardziej przyjazny dla użytkownika 1121 00:48:27,750 --> 00:48:28,567 niż to. 1122 00:48:28,567 --> 00:48:30,150 Warto więc przyjrzeć się tym jednym pliku. 1123 00:48:30,150 --> 00:48:34,666 Froshim zera dot PHP wygląda następująco. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Kiedy przeładować CS50 IDE, froshim zera wygląda tak. 1126 00:48:43,500 --> 00:48:45,700 To froshim zera dot PHP. 1127 00:48:45,700 --> 00:48:47,730 A co można zauważyć tego pliku? 1128 00:48:47,730 --> 00:48:49,506 >> PUBLICZNOŚCI: [niesłyszalne] 1129 00:48:49,506 --> 00:48:50,922 Głośnik 1: Przepraszam, trochę głośniej? 1130 00:48:50,922 --> 00:48:53,250 PUBLICZNOŚCI: [niesłyszalne] To wszystko w HTML. 1131 00:48:53,250 --> 00:48:57,130 I rzeczywiście, jest to, ponieważ co ciekawe o PHP 1132 00:48:57,130 --> 00:48:58,880 jest to, że został on zaprojektowany się, lepiej 1133 00:48:58,880 --> 00:49:02,110 czy na gorsze, przemieszane z kodu HTML. 1134 00:49:02,110 --> 00:49:05,850 I rzeczywiście, chociaż Plik, froshim zerowy dot PHP, 1135 00:49:05,850 --> 00:49:11,470 PHP posiada komentarz w górę o tym, że to wszystko to tylko HTML. 1136 00:49:11,470 --> 00:49:17,655 Ale dla odmiany, jeśli otworzy, niech powiedzmy, zarejestruj zerowy dot PHP, które 1137 00:49:17,655 --> 00:49:19,550 po prostu ma duży komentarz na górze. 1138 00:49:19,550 --> 00:49:26,500 To też wygląda niemal całkowicie jak HTML, z wyjątkiem co? 1139 00:49:26,500 --> 00:49:29,350 Linia, co, 21 wygląda trochę dziwnie. 1140 00:49:29,350 --> 00:49:32,739 >> Ale zauważmy Wchodzę w tryb PHP z otwartym uchwytem znakiem zapytania PHP. 1141 00:49:32,739 --> 00:49:33,780 Potem mam kilka rzeczy. 1142 00:49:33,780 --> 00:49:36,724 A następnie na końcu tej linii prawie mam, znak zapytania PHP. 1143 00:49:36,724 --> 00:49:38,390 I to jest to, co mam na myśli, wymieszane. 1144 00:49:38,390 --> 00:49:41,910 Możesz pisać w HTML, które po prostu serwer ma wypluć. 1145 00:49:41,910 --> 00:49:45,090 Ale jeśli chcesz coś zrobić dynamiczne w trakcie wykonywania przez strony, 1146 00:49:45,090 --> 00:49:47,699 jak wstawić swoje imię lub akademiku lub poziom komfortu, 1147 00:49:47,699 --> 00:49:49,490 Można użyć funkcji jak druku r, co jest 1148 00:49:49,490 --> 00:49:52,492 wydrukować rekurencyjne, co oznacza po prostu, wydrukować tę zmienną, formatowanie 1149 00:49:52,492 --> 00:49:53,200 jakkolwiek chcesz. 1150 00:49:53,200 --> 00:49:55,880 To naprawdę nie jest dla cele człowieka, to tylko 1151 00:49:55,880 --> 00:49:58,290 do debugowania lub do celów diagnostycznych. 1152 00:49:58,290 --> 00:49:59,460 Tak to jest, jak to zrobiłem. 1153 00:49:59,460 --> 00:50:06,100 >> Gdybym zamiast iść froshims dwie kropki PHP, zauważyć, że działanie tej formy 1154 00:50:06,100 --> 00:50:09,680 nie jest zarejestrowany zerowy dot PHP jako old-- poprzedni rzeczywistości. 1155 00:50:09,680 --> 00:50:11,222 Ale to zarejestrował dwie kropki PHP. 1156 00:50:11,222 --> 00:50:13,680 Warto więc przyjrzeć się, jak ten jeden zachowuje się trochę inaczej. 1157 00:50:13,680 --> 00:50:15,140 Jeśli pójdę do wersji drugiej. 1158 00:50:15,140 --> 00:50:20,430 Jeśli tutaj, jeśli się zarejestrować jako Dawida mniej wygodne, z akademika w Mathews, 1159 00:50:20,430 --> 00:50:21,480 zarejestrować. 1160 00:50:21,480 --> 00:50:23,770 Więc tym razem powiedziałem, są zarejestrowane, nie bardzo. 1161 00:50:23,770 --> 00:50:25,370 Zobaczmy, co ja tutaj. 1162 00:50:25,370 --> 00:50:29,760 Jeśli patrzę na rejestrze dwie kropki PHP, to ma trochę więcej kodu PHP. 1163 00:50:29,760 --> 00:50:35,410 To trochę czystsze, choć wciąż otacza trochę długo na tej linii. 1164 00:50:35,410 --> 00:50:36,260 Zauważ tutaj. 1165 00:50:36,260 --> 00:50:40,300 Wydrukować mój znacznik HTML, mój tag głowy, mój tag tytuł, głowa, ciało. 1166 00:50:40,300 --> 00:50:45,410 >> I wtedy zaczynają mówić takie rzeczy jak wejść w tryb PHP. 1167 00:50:45,410 --> 00:50:48,540 I tak tego tagu, otwarty nawias PHP-- znak zapytania PHP mówi, 1168 00:50:48,540 --> 00:50:53,460 hej, serwer, execute-- interpretacji następujące rzeczy jak PHP 1169 00:50:53,460 --> 00:50:55,030 aż pojawi się znacznik końcowy. 1170 00:50:55,030 --> 00:50:58,590 I choć może nie znam żadnego inne PHP niż widziałem dotychczas, 1171 00:50:58,590 --> 00:51:01,290 można trochę przeczytać to dość intuicyjnie. 1172 00:51:01,290 --> 00:51:10,670 Jeśli nazwa jest pusta lub komfort pusty, lub akademik jest pusty, co mam zrobić? 1173 00:51:10,670 --> 00:51:12,830 Co mam powiedzieć użytkownikowi? 1174 00:51:12,830 --> 00:51:15,330 Musisz podać swoje imię i nazwisko, Komfort i osobowym, i tak dalej. 1175 00:51:15,330 --> 00:51:17,750 Innego, mówię, jesteś zarejestrowany, również nie bardzo. 1176 00:51:17,750 --> 00:51:19,190 >> I nie mówię naprawdę bo nie ma w bazie. 1177 00:51:19,190 --> 00:51:20,200 Nie robię nic z tych danych. 1178 00:51:20,200 --> 00:51:22,408 Jestem po prostu ją wyrzucać do celów demonstracyjnych. 1179 00:51:22,408 --> 00:51:24,320 Teraz rodzaj skimped na linii 22. 1180 00:51:24,320 --> 00:51:26,400 Jest więcej składni tam, ale znak dolara 1181 00:51:26,400 --> 00:51:28,320 podkreślenia post jest rodzaj interesujące. 1182 00:51:28,320 --> 00:51:30,300 I to jest to, co miłe, o PHP. 1183 00:51:30,300 --> 00:51:35,610 W PHP, masz to, co nazywa się kilka Super zmienne globalne. 1184 00:51:35,610 --> 00:51:38,430 Są jakby jeszcze bardziej ważne niż zmiennych globalnych. 1185 00:51:38,430 --> 00:51:41,370 A te wszystkie aktywowane jako takie, pochodzą z PHP. 1186 00:51:41,370 --> 00:51:44,550 Więc jeśli masz serwer, który ma zainstalowany serwer WWW, takich jak Apache, 1187 00:51:44,550 --> 00:51:49,390 i zainstalować język wsparcie dla PHP, wszystko nagle jesteś 1188 00:51:49,390 --> 00:51:52,250 można rozpocząć korzystanie z tych super zmienne globalne w kodzie. 1189 00:51:52,250 --> 00:51:54,330 >> A co jest miłe o PHP jest to, że jeśli tylko 1190 00:51:54,330 --> 00:51:57,540 zapisać plik, który kończy się kropką PHP, umieścić go na serwerze WWW, 1191 00:51:57,540 --> 00:52:01,260 a następnie przesłać formularz do niego za pomocą tego znacznika akcji i tagu formularza, 1192 00:52:01,260 --> 00:52:05,110 że atrybut działania w Formularz tag, PHP i internetowej 1193 00:52:05,110 --> 00:52:09,360 całkowicie domyśla się, jak pobrać wszystkie z tych par wartości kluczowych z 1194 00:52:09,360 --> 00:52:11,633 adresu URL, jak pytanie Mark Q równa się koty, 1195 00:52:11,633 --> 00:52:14,782 będzie dowiedzieć się, jak Q i koty. 1196 00:52:14,782 --> 00:52:17,710 Jeśli wysyłasz zdjęcie lub nazwę użytkownika, lub hasło, takich jak Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP będzie dowiedzieć się, dla Ciebie gdzie wszystkie te dane są. 1198 00:52:21,360 --> 00:52:23,821 A to po prostu wręczyć Ci tablica asocjacyjna 1199 00:52:23,821 --> 00:52:27,560 zwany znak dolara podkreślenia poczta, lub znak dolara podkreślenia się, 1200 00:52:27,560 --> 00:52:30,590 w zależności od tego, czy jesteś za pomocą GET lub POST zgłoszeń. 1201 00:52:30,590 --> 00:52:32,950 A to po prostu wręczyć ci super zmienna globalna, 1202 00:52:32,950 --> 00:52:37,254 tak, że jeśli chcesz, aby na imię że użytkownik składane za pośrednictwem tej sieci 1203 00:52:37,254 --> 00:52:41,894 Formularz, dosłownie po prostu powiedzieć nazwę zmiennej globalnej Super, cytuję, 1204 00:52:41,894 --> 00:52:43,380 koniec cytatu, nazwa. 1205 00:52:43,380 --> 00:52:46,144 A cytat, koniec cytatu komfort, i cytat, koniec cytatu akademiku. 1206 00:52:46,144 --> 00:52:48,810 I będziemy w stanie zrobić to i tak dużo więcej w PHP. 1207 00:52:48,810 --> 00:52:50,540 I mimo, że był to wicher rzut oka na to, 1208 00:52:50,540 --> 00:52:51,980 będziemy nurkować w znacznie bardziej w przyszłym tygodniu. 1209 00:52:51,980 --> 00:52:54,247 Będziemy wprowadzać do bazy danych tak, że jesteś naprawdę 1210 00:52:54,247 --> 00:52:56,816 zamierza rozpocząć realizację własne based-- e-handlu 1211 00:52:56,816 --> 00:52:59,150 jak strony w zaledwie tydzień. 1212 00:52:59,150 --> 00:53:02,750 Więc zobaczymy następnym razem, a nadzieję, że masz wiadomości tekstowe. 1213 00:53:02,750 --> 00:53:05,450 Żegnaj. 1214 00:53:05,450 --> 00:53:06,950 >> [MUZYKI] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [OTWARCIE DRZWI] 1217 00:53:12,950 --> 00:53:14,475 >> GŁOŚNIK 2: Hej. 1218 00:53:14,475 --> 00:53:15,350 GŁOŚNIK 3: Co się dzieje? 1219 00:53:15,350 --> 00:53:17,750 GŁOŚNIK 2: Co ty robisz? 1220 00:53:17,750 --> 00:53:19,850 GŁOŚNIK 3: Praca na zestaw problemów. 1221 00:53:19,850 --> 00:53:21,050 GŁOŚNIK 2: Ładny. 1222 00:53:21,050 --> 00:53:22,550 Przybij piątkę. 1223 00:53:22,550 --> 00:53:23,150 >> [PRZYBIJ PIĄTKĘ] 1224 00:53:23,150 --> 00:53:25,584 >> Co are-- uh, co ty tu robisz? 1225 00:53:25,584 --> 00:53:26,750 GŁOŚNIK 3: Po prostu wychodzić. 1226 00:53:26,750 --> 00:53:28,134 Właśnie wróciłem z siłowni. 1227 00:53:28,134 --> 00:53:30,050 I nie mógł pomóc, ale zauważysz, kiedy wysokiej fived, 1228 00:53:30,050 --> 00:53:32,450 że masz dość szorstkie dłonie. 1229 00:53:32,450 --> 00:53:33,950 Chodzisz na siłownie? 1230 00:53:33,950 --> 00:53:35,150 >> GŁOŚNIK 2: Nie 1231 00:53:35,150 --> 00:53:36,650 Nie. 1232 00:53:36,650 --> 00:53:38,450 >> GŁOŚNIK 3: Koleś, wyglądasz całkiem duży. 1233 00:53:38,450 --> 00:53:45,950 Co jest złe, bo każdy wie, 8-ball jest wielkim człowiekiem w kampusie. 1234 00:53:45,950 --> 00:53:48,050 Przybij piątkę. 1235 00:53:48,050 --> 00:53:49,550 >> GŁOŚNIK 2: Uh, nie. 1236 00:53:49,550 --> 00:53:50,450 Nie, myślę, że jestem dobry. 1237 00:53:50,450 --> 00:53:52,300 Myślę, że jestem dobry. 1238 00:53:52,300 --> 00:53:54,097