1 00:00:00,000 --> 00:00:04,410 >> [За възпроизвеждане на музика] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> SPEAKER 1: Това е CS50 и това е края на седмицата седем. 4 00:00:15,770 --> 00:00:20,240 Днес е може би къде сме Наистина те учи езици. 5 00:00:20,240 --> 00:00:24,100 Ние въведохме в последните няколко HTML и CSS седмици, нито една от които 6 00:00:24,100 --> 00:00:25,240 са езиците за програмиране. 7 00:00:25,240 --> 00:00:28,600 И наистина, въпреки че не сме направили Посетете почти всички тагове 8 00:00:28,600 --> 00:00:33,410 че HTML идва с и почти всички от имотите, които CSS идва с, 9 00:00:33,410 --> 00:00:35,007 това е един вид го за HTML и CSS. 10 00:00:35,007 --> 00:00:36,840 Ние просто ще принцип започнете предполагайки, че вие 11 00:00:36,840 --> 00:00:39,545 разберат основните идеи от етикети и атрибути, 12 00:00:39,545 --> 00:00:41,850 и страници, които се изпращат от клиент-сървър. 13 00:00:41,850 --> 00:00:45,280 >> Защото днес ние започваме да погледнем друг език за програмиране, PHP. 14 00:00:45,280 --> 00:00:47,110 Отиваме да направите това супер бързо. 15 00:00:47,110 --> 00:00:50,910 Ние няма да ви научи PHP по себе си, много като ние не се стремим да ви научи 16 00:00:50,910 --> 00:00:52,670 С, сам по себе си, а за програмиране. 17 00:00:52,670 --> 00:00:55,088 И наистина, една от най- цели за този курс 18 00:00:55,088 --> 00:00:57,820 е не да ви научи C, или HTML, CSS или, или PHP, 19 00:00:57,820 --> 00:01:00,370 или произволен брой други бръмча думи или акроними, 20 00:01:00,370 --> 00:01:03,097 а науката компютър и как да програмирате фундаментално. 21 00:01:03,097 --> 00:01:05,930 И наистина, днес ние започнете да приемате тези обучителни колелата всички 22 00:01:05,930 --> 00:01:10,600 допълнително с полет през език, наречен PHP, както следва. 23 00:01:10,600 --> 00:01:13,640 >> Ето какво този език прилича. 24 00:01:13,640 --> 00:01:17,790 Оказва се, че не е необходимо за основна функция в програма писмен 25 00:01:17,790 --> 00:01:19,470 на език, наречен PHP. 26 00:01:19,470 --> 00:01:22,585 Така, че вече звучи малко по-прости от C, с които сме запознати. 27 00:01:22,585 --> 00:01:25,370 Оказва се, че ако Искам да декларира променлива, 28 00:01:25,370 --> 00:01:29,470 можете да го направите почти идентичен C. Но има ясно една разлика тук 29 00:01:29,470 --> 00:01:31,850 когато Декларирам низ, или може би две разлики. 30 00:01:31,850 --> 00:01:32,725 Как изглежда по-различно? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> АУДИТОРИЯ: знака на долара. 33 00:01:37,160 --> 00:01:39,951 >> SPEAKER 1: Да, има долар подпише, които ние никога не сте виждали преди. 34 00:01:39,951 --> 00:01:41,451 И това, което липсва? 35 00:01:41,451 --> 00:01:41,950 Да? 36 00:01:41,950 --> 00:01:42,820 >> АУДИТОРИЯ: [недоловим] 37 00:01:42,820 --> 00:01:44,403 >> SPEAKER 1: Да, няма тип данни. 38 00:01:44,403 --> 00:01:48,410 Така се оказва, че PHP е това, което ние обадете хлабаво типов език, където 39 00:01:48,410 --> 00:01:49,959 C е силно написали. 40 00:01:49,959 --> 00:01:52,500 Вдъхновен написали просто означава, че има различни типове данни, 41 00:01:52,500 --> 00:01:54,470 има струни, и цели числа, както и на плувка. 42 00:01:54,470 --> 00:01:56,330 Но цифрите на компютъра, който освобождава. 43 00:01:56,330 --> 00:01:58,664 Можете човешкото програмиста не е нужно да го разбера. 44 00:01:58,664 --> 00:02:00,580 Така че всичко, което трябва да направите, да декларира променлива е 45 00:02:00,580 --> 00:02:03,220 знака за долар, името на вашия променлива, и след това, например, 46 00:02:03,220 --> 00:02:04,760 цитат цитата, здравей свят. 47 00:02:04,760 --> 00:02:07,662 >> Ами това е, което един състояние прилича на PHP. 48 00:02:07,662 --> 00:02:08,328 Всички разлики? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Не. 51 00:02:11,150 --> 00:02:12,540 Така се оказва, те са идентични. 52 00:02:12,540 --> 00:02:14,665 И вие може да има по малко клонове или повече клонове, 53 00:02:14,665 --> 00:02:16,557 но синтактични обрати точно същото. 54 00:02:16,557 --> 00:02:18,390 Булеви изрази може да се поръча заедно. 55 00:02:18,390 --> 00:02:20,400 Булеви изрази може да бъде anded заедно. 56 00:02:20,400 --> 00:02:21,430 Вие все още имате ключове. 57 00:02:21,430 --> 00:02:23,790 Дори и да не сте използвали те, те не съществуват в C 58 00:02:23,790 --> 00:02:26,020 и те са функционално еквивалент в PHP. 59 00:02:26,020 --> 00:02:28,260 >> И в действителност, в PHP те са малко по-мощен. 60 00:02:28,260 --> 00:02:32,540 В C, можете само да сравни някои типове данни като цели числа и символи, 61 00:02:32,540 --> 00:02:36,320 докато в PHP всъщност можете да сравнявате пълните отглеждам низове, без да има 62 00:02:36,320 --> 00:02:38,460 да се притеснявате за указатели и подобни. 63 00:02:38,460 --> 00:02:39,430 Така че тук е за контур. 64 00:02:39,430 --> 00:02:41,270 Това е само Псевдокод код, ако щете. 65 00:02:41,270 --> 00:02:43,400 Но това е структурно идентичен с C. 66 00:02:43,400 --> 00:02:47,520 >> Ето една линия, докато, Псевдокод therefore-- идентичен с C. 67 00:02:47,520 --> 00:02:49,390 Ето една задача, докато loop-- идентични. 68 00:02:49,390 --> 00:02:51,390 И така, има вид този модел тук, при който 69 00:02:51,390 --> 00:02:54,400 има няколко други синтактична Характеристика ние наистина ще видим. 70 00:02:54,400 --> 00:02:57,340 Всъщност, тук е хубаво начин в PHP, при която 71 00:02:57,340 --> 00:02:59,350 ако искате да превъртите над масив, и вие 72 00:02:59,350 --> 00:03:02,309 не искам да скочи през умствени и синтактични обръчите от които имат 73 00:03:02,309 --> 00:03:05,178 инт аз равна на 0, аз по-малко от п, аз плюс plus-- които 74 00:03:05,178 --> 00:03:07,040 е просто много досадно синтаксис. 75 00:03:07,040 --> 00:03:10,654 Може да се каже малко повече флуидно за всеки номера 76 00:03:10,654 --> 00:03:13,320 като брой, където в този случай знак за долар номера, аз съм се предположи, 77 00:03:13,320 --> 00:03:15,400 е като номера масив наречен. 78 00:03:15,400 --> 00:03:18,810 И тогава аз съм се предположи, номер, единствено число, ще бъде променлива. 79 00:03:18,810 --> 00:03:22,940 >> И какво ще направи PHP за мен, както аз обхождане над тази линия е, на всяка итерация, 80 00:03:22,940 --> 00:03:28,450 това ще актуализира променлива номер бъде Ith елемент в цифри, в множествено число. 81 00:03:28,450 --> 00:03:30,060 Така че просто се справя с всичко това за мен. 82 00:03:30,060 --> 00:03:32,750 Не квадратни скоби, не знака за долар, не точка и запетая. 83 00:03:32,750 --> 00:03:34,117 Това е само малко по-просто. 84 00:03:34,117 --> 00:03:35,950 Е, ако искате масив, оказва се, вие 85 00:03:35,950 --> 00:03:38,908 може да се направи нещо доста подобно на C. Синтаксисът е малко по-различна. 86 00:03:38,908 --> 00:03:41,000 Но тук се нарича масив долара, подписано номера. 87 00:03:41,000 --> 00:03:44,261 И аз използвам в PHP, квадратна скоби, оказва се. 88 00:03:44,261 --> 00:03:47,260 И ние ще видим това отново Все още в JavaScript-- друг език. 89 00:03:47,260 --> 00:03:49,968 Аз просто използвайте квадратна скоба нотация да имат разделени със запетая 90 00:03:49,968 --> 00:03:51,530 от цели числа, в този случай. 91 00:03:51,530 --> 00:03:53,010 Но това ми дава масив. 92 00:03:53,010 --> 00:03:56,270 >> Но още по-мощен в PHP, ние също имаме това, което обикновено са 93 00:03:56,270 --> 00:03:57,640 наречено асоциативни масиви. 94 00:03:57,640 --> 00:03:59,540 И много езици имат те, както добре. 95 00:03:59,540 --> 00:04:03,810 Това, което за C масиви е, че индексите 96 00:04:03,810 --> 00:04:06,940 за масив, на нещо, което използвате в квадратни скоби, чрез които 97 00:04:06,940 --> 00:04:08,600 възможност за достъп до елементи, трябва да бъде това, което? 98 00:04:08,600 --> 00:04:10,620 >> АУДИТОРИЯ: [недоловим] 99 00:04:10,620 --> 00:04:14,220 >> SPEAKER 1: Те трябва да бъдат числа или числа, по-специално от нула по нагоре. 100 00:04:14,220 --> 00:04:17,140 Е, в PHP, и тя се превръща вън, и на други езици, 101 00:04:17,140 --> 00:04:20,820 можете да започнете да има индекси, които не са числови. 102 00:04:20,820 --> 00:04:23,880 Но те са всъщност думи или фрази, така че вместо 103 00:04:23,880 --> 00:04:27,070 опитайте се да си спомните къде нещо е, или съхраняват в променлива I, 104 00:04:27,070 --> 00:04:31,720 всъщност можете да използвате една дума и да каже that-- може да се каже и дума по този начин. 105 00:04:31,720 --> 00:04:34,730 >> Така знак за долар цитат е име на променлива тук. 106 00:04:34,730 --> 00:04:39,360 Това е малко по-фънки синтаксис това е свързването на стойност два ключа 107 00:04:39,360 --> 00:04:41,250 чифта за тази променлива. 108 00:04:41,250 --> 00:04:45,490 По-специално, това ми дава масив, който е с дължина 2. 109 00:04:45,490 --> 00:04:47,660 Но индексите не са 0 и 1. 110 00:04:47,660 --> 00:04:51,250 Индексите са цитат край на цитата символ и цитирам цитата цена. 111 00:04:51,250 --> 00:04:55,990 И стойностите на тези показатели, съответно е FB за Facebook 112 00:04:55,990 --> 00:05:00,360 и $ 79.53, когато продължи Проверих на цената за това. 113 00:05:00,360 --> 00:05:01,210 >> Какво означава това? 114 00:05:01,210 --> 00:05:04,136 Е, това означава, че вместо да пишете код 115 00:05:04,136 --> 00:05:09,612 като тази, в която аз да направя нещо като долар sign-- или по-скоро, в C 116 00:05:09,612 --> 00:05:11,070 Аз дори няма да има знак за долар. 117 00:05:11,070 --> 00:05:13,490 Аз ще направя нещо, като цитати и след това 118 00:05:13,490 --> 00:05:18,410 Аз ще направя скоба и да получите най-малко произволно числено индексира стойност. 119 00:05:18,410 --> 00:05:21,430 От днес в PHP, ако искам да отида в някои стойност, 120 00:05:21,430 --> 00:05:24,742 ние някак имате повече семантична изразителност. 121 00:05:24,742 --> 00:05:27,450 Само един луксозен начин на казвайки можем просто се обадете нещата такива, каквито са. 122 00:05:27,450 --> 00:05:29,800 >> И ако искате да получите в нещо, символ, 123 00:05:29,800 --> 00:05:32,180 сега можете буквално да направя цитирам цитата символ 124 00:05:32,180 --> 00:05:34,910 в квадратни скоби вместо просто число. 125 00:05:34,910 --> 00:05:36,450 Така че е хубаво удобство. 126 00:05:36,450 --> 00:05:38,140 И това е нещо като това за сега. 127 00:05:38,140 --> 00:05:40,240 Има букети от други функции в PHP. 128 00:05:40,240 --> 00:05:43,180 И наистина, PHP идва с пословичната кухненската мивка. 129 00:05:43,180 --> 00:05:48,640 Десетки, стотици функции идват с PHP-- толкова много повече, отколкото дойде с C. 130 00:05:48,640 --> 00:05:51,360 >> И това не е предназначен за смаже а по-скоро да ви помогне 131 00:05:51,360 --> 00:05:53,900 ти осъзнаваш, че ние не вече трябва да напишете кода 132 00:05:53,900 --> 00:05:55,590 това е нещо като тук концептуално. 133 00:05:55,590 --> 00:05:58,465 Сега ние можем просто да започнете да се възползвате на много по-напреднали функции 134 00:05:58,465 --> 00:05:59,920 че езици като PHP имат. 135 00:05:59,920 --> 00:06:02,630 Така че ние не трябва да се притеснявате за движи нещата в паметта. 136 00:06:02,630 --> 00:06:05,338 Ние не трябва да се притеснявате за изчистване и всичко това по-ниско ниво, 137 00:06:05,338 --> 00:06:09,390 мощни детайли, които ще се борят ви с това, ако не се борят с, pset5, 138 00:06:09,390 --> 00:06:13,380 но можете да започнете да скоро приемаме за даденост. 139 00:06:13,380 --> 00:06:17,770 >> Всъщност, нека да напише супер проста програма в PHP, както следва. 140 00:06:17,770 --> 00:06:21,550 Отивам да отидете главата в CS50 IDE тук, и това, което аз ще направя 141 00:06:21,550 --> 00:06:29,370 е създаване на нов файл, че много просто ще се нарича просто 'Здравей' дот PHP. 142 00:06:29,370 --> 00:06:31,860 Така че, вместо точка в, това е ще се нарича точка PHP. 143 00:06:31,860 --> 00:06:34,260 И тогава в този файл, Мога да започнете да пишете. 144 00:06:34,260 --> 00:06:36,960 Но се оказва, че едно нещо, което трябва да знаете 145 00:06:36,960 --> 00:06:41,470 PHP е, че всеки файл по принцип, трябва да се започне с някакъв специален синтаксис. 146 00:06:41,470 --> 00:06:44,570 Подобна по смисъл с HTML, но отново, PHP е език за програмиране, а не 147 00:06:44,570 --> 00:06:45,590 език за маркиране. 148 00:06:45,590 --> 00:06:48,700 >> Така че всеки файл, и това е нещо като на глупави търсите Ще призная. 149 00:06:48,700 --> 00:06:50,480 Open скоба, въпросителен знак PHP. 150 00:06:50,480 --> 00:06:53,060 И това е само на начин език е да се каже, 151 00:06:53,060 --> 00:06:58,400 хей, компютърна тук идва някакъв код написан на език, наречен PHP. 152 00:06:58,400 --> 00:07:01,900 И тогава в самия край на файла, правиш вид нещо като обратното. 153 00:07:01,900 --> 00:07:04,860 Вие не пиша PHP отново, просто направя въпросителен знак, ъгъл скоба. 154 00:07:04,860 --> 00:07:08,500 И тогава всичко ще ви постави вътре на тези две тагове, така да се каже, 155 00:07:08,500 --> 00:07:11,490 ще бъде, или трябва да бъде, PHP код. 156 00:07:11,490 --> 00:07:13,180 >> Така че нека да направим нещо супер просто. 157 00:07:13,180 --> 00:07:19,370 Отивам да вървим напред и да направя печат дефиниция, здравей свят, наклонена черта п, спаси. 158 00:07:19,370 --> 00:07:27,310 И сега в моя бърза, аз отивам да направя, направи hello-- не, аз ще направя, 159 00:07:27,310 --> 00:07:28,726 дот наклонена черта здрасти. 160 00:07:28,726 --> 00:07:31,250 Не, дот наклонена черта, хм. 161 00:07:31,250 --> 00:07:32,990 Така че нещо не е по-различно. 162 00:07:32,990 --> 00:07:36,920 И наистина, това е ключова разлика между PHP и езици като C C. 163 00:07:36,920 --> 00:07:38,730 е така наречената компилиран език. 164 00:07:38,730 --> 00:07:40,929 Какво означаваше за да се компилира C? 165 00:07:40,929 --> 00:07:41,970 Какво е влиянието? 166 00:07:41,970 --> 00:07:42,898 Да. 167 00:07:42,898 --> 00:07:45,220 >> АУДИТОРИЯ: Пише го в машинен код така че може да се управлява от компютъра. 168 00:07:45,220 --> 00:07:46,011 >> SPEAKER 1: Точно така. 169 00:07:46,011 --> 00:07:49,075 Ние трябва първо да го превърне в така наречените машинен код, нули и единици, 170 00:07:49,075 --> 00:07:51,950 преди тя действително ще бъде изпълнима и разбира от компютъра. 171 00:07:51,950 --> 00:07:52,840 От Intel вътре. 172 00:07:52,840 --> 00:07:54,530 Чрез процесора вътре в компютъра. 173 00:07:54,530 --> 00:07:58,170 PHP, за разлика от това, е това, което се нарича интерпретиран език, които 174 00:07:58,170 --> 00:08:02,230 означава, че вие ​​не го компилирате в нули и единици, машинен код, 175 00:08:02,230 --> 00:08:04,360 вас, вместо да го оставите като изходен код. 176 00:08:04,360 --> 00:08:08,130 А ти, вместо да го давате като вход към програма, преводач 177 00:08:08,130 --> 00:08:11,960 че някой друг е написал преди години, че той разбира, 178 00:08:11,960 --> 00:08:14,310 ред по ред, герой за герой. 179 00:08:14,310 --> 00:08:16,120 С други думи, хората там са писали 180 00:08:16,120 --> 00:08:19,670 програма, която ще изглежда в кода си, ред по ред, 181 00:08:19,670 --> 00:08:21,680 и да разбера какво компютърът трябва да се направи, 182 00:08:21,680 --> 00:08:25,960 без конвертиране директно нули и единици. 183 00:08:25,960 --> 00:08:28,370 >> Така че, ако го вижда за контур, този така наречен преводач 184 00:08:28,370 --> 00:08:30,630 ще бъде като, добре, че трябва направи нещо отново и отново и отново. 185 00:08:30,630 --> 00:08:31,150 Какво трябва да направя? 186 00:08:31,150 --> 00:08:32,159 Нека погледнем на следващия ред. 187 00:08:32,159 --> 00:08:33,367 Нека погледнем на следващия ред. 188 00:08:33,367 --> 00:08:35,350 И тя наистина го интерпретира ред по ред. 189 00:08:35,350 --> 00:08:37,220 Така че, за да го изпълни, не използвам грим. 190 00:08:37,220 --> 00:08:39,409 Не използвам дот наклонена черта в този случай. 191 00:08:39,409 --> 00:08:43,530 Аз вместо да направя PHP, което е на името на програма, а.к.а. 192 00:08:43,530 --> 00:08:46,562 Преводач, това е предварително инсталиран в CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 и сега трябва да премине аргумент на командния ред, която 194 00:08:48,770 --> 00:08:52,290 е просто името на файл, който искам да тълкува. 195 00:08:52,290 --> 00:08:54,740 Или по-небрежно, че искам да се изпълнява. 196 00:08:54,740 --> 00:08:57,000 И ако аз натиснете влиза, там ние я имаме. 197 00:08:57,000 --> 00:08:57,825 Здравей Свят. 198 00:08:57,825 --> 00:08:59,950 Сега се оказва, че аз употребяван печат деф умишлено 199 00:08:59,950 --> 00:09:01,600 да ни се преодолее от C до PHP. 200 00:09:01,600 --> 00:09:05,150 Повечето програмисти PHP, както ще видите, дори не се притеснява, използвайки печат деф. 201 00:09:05,150 --> 00:09:08,290 Те просто използвайте функция, наречена за печат, които C не са имали. 202 00:09:08,290 --> 00:09:11,390 И така, ако аз го изпълнете отново сега, тя всъщност държи функционално еднакви. 203 00:09:11,390 --> 00:09:13,730 Не мога да използвам на сто-те и процента I и т.н., 204 00:09:13,730 --> 00:09:16,250 но има и други начини в PHP да направим това. 205 00:09:16,250 --> 00:09:18,100 Но това е само за се каже, че синтактично, 206 00:09:18,100 --> 00:09:21,850 различна от някои странни неща нагоре отгоре, и някои странни герои надолу 207 00:09:21,850 --> 00:09:25,960 в долната част, понятията сега на програмиране в този друг език 208 00:09:25,960 --> 00:09:27,860 ще бъдат едни и същи. 209 00:09:27,860 --> 00:09:30,120 >> Всъщност, нека да направим още един пример. 210 00:09:30,120 --> 00:09:32,520 Така че аз ще отида напред и затворете файла. 211 00:09:32,520 --> 00:09:37,740 Позволете ми да се създаде друг, който Ще се обадя на условия 1 точка PHP. 212 00:09:37,740 --> 00:09:40,770 Така че не е нула, защото това, което направих Беше ми върна изглеждаше преди няколко седмици, 213 00:09:40,770 --> 00:09:43,490 имахме файл, наречен условия 1 точка C. И какво 214 00:09:43,490 --> 00:09:47,590 Аз пък бе я превръща в моята главата, и тук на хартия, 215 00:09:47,590 --> 00:09:51,290 и скоро на курса уебсайт, ред по ред в PHP. 216 00:09:51,290 --> 00:09:55,520 >> Така че в C версия, ние направихме нещо като низ и стане получите низ. 217 00:09:55,520 --> 00:09:58,200 Така че това е малко по-различна да направя, че в PHP. 218 00:09:58,200 --> 00:10:01,390 Вместо това, аз съм просто ще да се направи, или по-скоро, аз 219 00:10:01,390 --> 00:10:05,870 би направил инт п получава получите INT, в този пример по-рано. 220 00:10:05,870 --> 00:10:12,600 Така че, вместо това, аз ще направя п получава прочетете линия, бих искал цяло число, 221 00:10:12,600 --> 00:10:13,670 Моля те. 222 00:10:13,670 --> 00:10:15,110 Така че това е само моя ред. 223 00:10:15,110 --> 00:10:17,260 И така, оказва се, и Аз ще знам само това 224 00:10:17,260 --> 00:10:20,480 от които са прочели или видели функцията преди, прочетете линии на функция в PHP 225 00:10:20,480 --> 00:10:23,810 приема аргумент, че е бърз за човека и неговата цел в живота 226 00:10:23,810 --> 00:10:26,220 е да се прочете ред с текст че той или тя типове в. 227 00:10:26,220 --> 00:10:29,160 И тогава тя съхранява, че текст в променлива п. 228 00:10:29,160 --> 00:10:32,200 >> И сега бих могъл да искам да направя нещо както направих аз преди седмици, които по подобен седмица 229 00:10:32,200 --> 00:10:33,290 един от класа. 230 00:10:33,290 --> 00:10:36,600 Ако п е по-голямо от нула, тогава, аз ще съм 231 00:10:36,600 --> 00:10:42,930 да се заемат, че синтаксиса ние просто видях, принт дефиниция, ти взе положително число, 232 00:10:42,930 --> 00:10:44,360 наклонена черта п. 233 00:10:44,360 --> 00:10:49,990 Иначе, ако п е равно на нула е равен, аз съм Ще вървим напред и да се каже, печат дефиниция, 234 00:10:49,990 --> 00:10:54,090 сте избрали нула наклонена черта п. 235 00:10:54,090 --> 00:10:56,830 Else, случаят тук следва Разбира се, печат дефиниция, 236 00:10:56,830 --> 00:10:58,620 сте избрали отрицателно число. 237 00:10:58,620 --> 00:11:00,970 >> И със сигурност можем да приложат логиката на това нещо 238 00:11:00,970 --> 00:11:03,390 в един куп различни начини, но въпросът тук 239 00:11:03,390 --> 00:11:07,210 е, че синтактично, едва нищо ново. 240 00:11:07,210 --> 00:11:09,830 Това е просто, знака за долар и нова функция и прочетете линия. 241 00:11:09,830 --> 00:11:12,090 Но в основата си, какво ново сега е аз съм тълкуването на настоящия. 242 00:11:12,090 --> 00:11:13,910 Аз съм го прехвърляха като вход към друга програма. 243 00:11:13,910 --> 00:11:16,620 Така че, ако искам да изпълня този, ако Аз не прави никакви грешки, 244 00:11:16,620 --> 00:11:20,140 Отивам да стартирате PHP, на условия 1 точка PHP, Влез, 245 00:11:20,140 --> 00:11:23,440 Отивам да изпишете номера 50, и нека приемем за момента тя работи. 246 00:11:23,440 --> 00:11:25,940 Тъй като логиката е същата неща като една седмица. 247 00:11:25,940 --> 00:11:28,020 >> Добре, така че това е доста underwhelming, нали? 248 00:11:28,020 --> 00:11:30,240 Бихме могли да направим това по никакъв брой езици. 249 00:11:30,240 --> 00:11:33,200 Нека да направим нещо много по-мощен. 250 00:11:33,200 --> 00:11:35,610 Нека ударът проблем зададете пет. 251 00:11:35,610 --> 00:11:37,370 Така че аз ще отида напред и да направим това. 252 00:11:37,370 --> 00:11:42,920 Отивам да създадете файл наречено речника дот PHP, 253 00:11:42,920 --> 00:11:45,424 и наклонена като може да сте да катеря надолу много бележки, 254 00:11:45,424 --> 00:11:47,340 бележките ще помогнат само вас, ако ти е позволено 255 00:11:47,340 --> 00:11:48,923 да приложат проблеми, установени пет в PHP. 256 00:11:48,923 --> 00:11:52,706 Но ще видим колко бързо сега може да приложи същия този проблем набор. 257 00:11:52,706 --> 00:11:56,830 >> Така че в речника дот PHP, аз отивам да се предположи, че вече е 258 00:11:56,830 --> 00:11:58,514 файл в света, наречен правопис. 259 00:11:58,514 --> 00:12:01,430 И наистина, аз направих това предварително, и ние няма да минеш през тази линия 260 00:12:01,430 --> 00:12:03,596 по ред, но ако сте Любопитен късно и наистина искам 261 00:12:03,596 --> 00:12:06,250 да приключи ума си около разлики между С и PHP, 262 00:12:06,250 --> 00:12:09,030 буквално сравни този файл, правопис, от днешна изходния код 263 00:12:09,030 --> 00:12:11,190 че ние ще публикуваме по-късно Днес, срещу р набор 264 00:12:11,190 --> 00:12:15,309 пет правопис точка в която ние ви даваме, и това е почти една и съща линия по ред. 265 00:12:15,309 --> 00:12:16,600 Има още няколко доларови знаци. 266 00:12:16,600 --> 00:12:18,330 Няколко функции са малко по-различна. 267 00:12:18,330 --> 00:12:20,038 Но това е добър начин на нещо като виждам как 268 00:12:20,038 --> 00:12:22,740 ви преведе един език на друг. 269 00:12:22,740 --> 00:12:24,812 И това е почти идентична линия за линия. 270 00:12:24,812 --> 00:12:27,770 Но аз отивам да се предположи, че това съществува, и това, което аз ще направя тук 271 00:12:27,770 --> 00:12:31,310 е се опитват да взривят си интересуваме от reimplementing 272 00:12:31,310 --> 00:12:36,210 целостта на проблема определя петте начин бързо, отколкото сте правили до този момент. 273 00:12:36,210 --> 00:12:39,330 Така например, аз отивам да се първото Декларирам глобална променлива, наречена размер, 274 00:12:39,330 --> 00:12:40,444 и да го настроите да е равна на нула. 275 00:12:40,444 --> 00:12:41,610 Сега това не е много спестявания. 276 00:12:41,610 --> 00:12:44,170 Коефициентите са приложени размер на почти същото, 277 00:12:44,170 --> 00:12:48,440 или намек намек, воля довечера или утре, само с помощта на глобална променлива, наречена 278 00:12:48,440 --> 00:12:49,900 размер, и определя равен на нула. 279 00:12:49,900 --> 00:12:52,660 Това не е особено Изумителен спойлер. 280 00:12:52,660 --> 00:12:57,180 >> Така че това, което са структури на вашите данни избор, тези от вас, които са се хвърли в 281 00:12:57,180 --> 00:13:02,170 и четат спец, структури от данни какво са повечето от вас са използвали? 282 00:13:02,170 --> 00:13:06,840 A хеш таблица или да опитате, може би някои от тях варианти. 283 00:13:06,840 --> 00:13:10,490 Така че прилагането на хеш таблица най-малко, е вид много реда код, 284 00:13:10,490 --> 00:13:10,990 нали? 285 00:13:10,990 --> 00:13:13,700 И не всички от тях може да бъде функционално в този момент в седмицата, 286 00:13:13,700 --> 00:13:14,366 но това е добре. 287 00:13:14,366 --> 00:13:19,300 Защото в PHP, ако аз Искам хеш таблица, направено. 288 00:13:19,300 --> 00:13:20,260 Нали така? 289 00:13:20,260 --> 00:13:22,610 Така че тази променлива, че съм Просто обявена е очевидно 290 00:13:22,610 --> 00:13:26,180 наречен знак за долар на маса, на въвеждане преди. 291 00:13:26,180 --> 00:13:28,902 >> Но аз наистина просто искам, най- В края на деня, масив. 292 00:13:28,902 --> 00:13:31,610 Но не числено индексира масив, защото това е като две седмица 293 00:13:31,610 --> 00:13:33,440 неща, когато говорихме за масиви. 294 00:13:33,440 --> 00:13:34,850 Искам хеш таблица. 295 00:13:34,850 --> 00:13:38,070 Но хеш таблица е наистина само на бетон начин да се каже, 296 00:13:38,070 --> 00:13:40,190 искате асоциативен масив. 297 00:13:40,190 --> 00:13:43,270 Вие искате да бъдете в състояние да асоциирани ключове със стойности. 298 00:13:43,270 --> 00:13:44,200 Ключове с ценности. 299 00:13:44,200 --> 00:13:45,640 Какво е речник, наистина? 300 00:13:45,640 --> 00:13:47,080 Ами това е цял куп ключове. 301 00:13:47,080 --> 00:13:50,320 Думи като ябълки, круши и банани, и всички тези думи на английски език 302 00:13:50,320 --> 00:13:51,490 че да ви предаде. 303 00:13:51,490 --> 00:13:54,820 >> И стойностите, които сте ефективно поставите в речника 304 00:13:54,820 --> 00:13:57,790 са или истина, или отсъствие, невярна. 305 00:13:57,790 --> 00:14:00,540 С други думи поставяте цял куп ключови двойки стойности, 306 00:14:00,540 --> 00:14:03,720 ябълка, вярно, круша, вярно, банан, вярно. 307 00:14:03,720 --> 00:14:07,446 Така, че когато изтегляте или да потърсите нагоре, че данните във вашия хеш таблица 308 00:14:07,446 --> 00:14:10,070 с чека си функция, вие сте или да се върна отговор, 309 00:14:10,070 --> 00:14:13,260 да, аз го намерих в моя комплекс хеш таблица, или не, това не е налице, 310 00:14:13,260 --> 00:14:14,540 така че можете върне фалшиви. 311 00:14:14,540 --> 00:14:19,440 >> Така че, за да направите това, всичко, което трябва, е на данните структура като аз предложих преди. 312 00:14:19,440 --> 00:14:22,050 Просто трябва да бъде в състояние да се сдружават думи 313 00:14:22,050 --> 00:14:25,570 като, цитирам цитата, символ, със стойност харесват, вярно. 314 00:14:25,570 --> 00:14:27,090 Така че там е моят хеш-таблица. 315 00:14:27,090 --> 00:14:28,180 Нека реално да я използва. 316 00:14:28,180 --> 00:14:30,310 Така че има няколко функции Аз трябва да се прилагат. 317 00:14:30,310 --> 00:14:33,300 Отивам да вървим напред и да хапят изключване функция, наречена размер. 318 00:14:33,300 --> 00:14:34,390 Това отнема без аргументи. 319 00:14:34,390 --> 00:14:36,660 Не е нужно да се занимавам с думата, нищожен, в PHP. 320 00:14:36,660 --> 00:14:38,770 Аз съм просто ще се върне размер. 321 00:14:38,770 --> 00:14:41,287 >> И като настрана, PHP има това minorly досадни подробности, 322 00:14:41,287 --> 00:14:44,620 където, ако нещо не е глобален, трябва да имате кажете на функцията, в която вие използвате 323 00:14:44,620 --> 00:14:46,220 го, хей, това е глобална променлива. 324 00:14:46,220 --> 00:14:49,330 Така че, малка глупост, но вие трябва да го направим пак. 325 00:14:49,330 --> 00:14:50,920 >> Така че какво да кажем за товар? 326 00:14:50,920 --> 00:14:52,990 Отивам да се приложат функция, наречена натоварване 327 00:14:52,990 --> 00:14:56,790 който взема в името на речник, точно като в проблем зададете пет. 328 00:14:56,790 --> 00:14:59,554 И преди да се пристъпи, забележите, че не съм 329 00:14:59,554 --> 00:15:00,970 били пишете доста едни и същи неща. 330 00:15:00,970 --> 00:15:06,060 Какво е очевидно различно в PHP за как се декларира функция спрямо C? 331 00:15:06,060 --> 00:15:06,616 Да. 332 00:15:06,616 --> 00:15:07,490 АУДИТОРИЯ: [недоловим] 333 00:15:07,490 --> 00:15:08,573 SPEAKER 1: Не Тип възвръщаемост. 334 00:15:08,573 --> 00:15:12,350 И наистина, това е случай, PHP доколкото това е хлабаво написали, 335 00:15:12,350 --> 00:15:14,190 Също така е малко помия в този смисъл. 336 00:15:14,190 --> 00:15:17,680 Вие не посочите като програмист това, което се връща тази функция. 337 00:15:17,680 --> 00:15:20,490 Може би трябва да погледнем реално в кода, за да разбера, че. 338 00:15:20,490 --> 00:15:22,670 Или прочетете коментарите или документацията. 339 00:15:22,670 --> 00:15:24,870 Така че плюсове и минуси на тези видове решения. 340 00:15:24,870 --> 00:15:26,750 Но аз трябва да кажа, Ключовата дума, функция. 341 00:15:26,750 --> 00:15:28,360 И когато ние се учим JavaScript в няколко седмици 342 00:15:28,360 --> 00:15:31,026 ние ще видим едно и също нещо отново, но това е една и съща идея. 343 00:15:31,026 --> 00:15:34,220 Името на функцията, тезата му или аргументи или липсата на такива, а сега 344 00:15:34,220 --> 00:15:35,630 тук е изпълнението. 345 00:15:35,630 --> 00:15:38,860 >> Така че аз отивам да се намалят някои ъгли просто да бъде драматична само за миг. 346 00:15:38,860 --> 00:15:40,485 Но аз ще отида напред и да кажа това. 347 00:15:40,485 --> 00:15:44,890 Ето как може да се зареди файл в масив. 348 00:15:44,890 --> 00:15:47,580 Има една функция в PHP, наречен файл. 349 00:15:47,580 --> 00:15:49,300 Можете да го името на файла ръчно. 350 00:15:49,300 --> 00:15:53,950 Тя ви подава обратно масив, вътре от които е всеки ред от файла. 351 00:15:53,950 --> 00:15:56,480 От нула, едно, нагоре за N минус 1 линии. 352 00:15:56,480 --> 00:15:57,210 Това е всичко, нали? 353 00:15:57,210 --> 00:15:57,990 Няма по е прочетено. 354 00:15:57,990 --> 00:15:58,826 Няма по GET е лидер. 355 00:15:58,826 --> 00:15:59,700 Няма по процента ите. 356 00:15:59,700 --> 00:16:00,420 Няма по главоболие. 357 00:16:00,420 --> 00:16:01,220 Няма по feof. 358 00:16:01,220 --> 00:16:03,950 Всички тези неща, с които сте били бореше може би, 359 00:16:03,950 --> 00:16:06,550 с р зададете четири и пет, си отива. 360 00:16:06,550 --> 00:16:09,450 >> Така че аз просто прочетете тези редове в файла, и след това знаете ли какво? 361 00:16:09,450 --> 00:16:15,510 Ако искам да обхождане тези думи, Което мога да направя, за всеки линии като линия. 362 00:16:15,510 --> 00:16:19,992 Не забравяйте, че това е вид хитра начин на итерации над масив, индекс 363 00:16:19,992 --> 00:16:25,090 с индекс, и на всяка итерация призвание текущия ред, знак за долар линия. 364 00:16:25,090 --> 00:16:31,560 И точно тук, аз ще отида и казват маса, скоби линия, получава истина. 365 00:16:31,560 --> 00:16:35,880 >> С други думи, това е начинът, I вмъкнете в моя хеш таблица в PHP. 366 00:16:35,880 --> 00:16:38,740 Казвам знак за долар маса, която е моя асоциативен масив, който е 367 00:16:38,740 --> 00:16:40,690 празна на реда с код до горе. 368 00:16:40,690 --> 00:16:42,790 Тогава аз индекс в него не, като се използват редица, 369 00:16:42,790 --> 00:16:45,300 а буквално с помощта на ключова дума, която ме интересува. 370 00:16:45,300 --> 00:16:47,730 Може би това е ябълка или круша или банан или каквото и да, 371 00:16:47,730 --> 00:16:51,645 но специално аз съм индексиране в Харесва ми, предложен по-рано. 372 00:16:51,645 --> 00:16:53,770 Взимам името на моя асоциативен масив, и тогава аз 373 00:16:53,770 --> 00:16:56,450 използвате цитат цитата в квадратни скоби с низ, 374 00:16:56,450 --> 00:16:58,490 вместо действително номер. 375 00:16:58,490 --> 00:17:00,250 >> И така, това е всичко. 376 00:17:00,250 --> 00:17:01,720 Функцията за натоварване е направено. 377 00:17:01,720 --> 00:17:05,119 След като това контур итерации, Вложил съм всичко в хеш таблица. 378 00:17:05,119 --> 00:17:07,810 Сега малка забележка, има няколко неща, които е необходимо да се определи. 379 00:17:07,810 --> 00:17:10,030 И версията Аз ще пост онлайн ще има всички нюанси, 380 00:17:10,030 --> 00:17:12,670 но това е най-вече просто ще бъде известна проверка за грешки и някои малки ощипвам. 381 00:17:12,670 --> 00:17:14,044 Но това е наистина същността на това. 382 00:17:14,044 --> 00:17:16,750 Ако аз сега искат да приложат функцията наречен 383 00:17:16,750 --> 00:17:19,869 проверите, което очаква Думата като доводът му, 384 00:17:19,869 --> 00:17:22,099 как бих могъл да го направим това? 385 00:17:22,099 --> 00:17:30,020 Е, аз просто ще кажа, ако вътрешността на моята маса, при местоположението на думата, 386 00:17:30,020 --> 00:17:30,652 ако е зададен. 387 00:17:30,652 --> 00:17:32,360 Така че, ако има is-- Всъщност, знаеш ли какво? 388 00:17:32,360 --> 00:17:34,830 Отивам да го направя в малко Псевдокод. 389 00:17:34,830 --> 00:17:36,020 Но идеята е същата. 390 00:17:36,020 --> 00:17:41,640 Ако това се равнява вярно, върнете вярно. 391 00:17:41,640 --> 00:17:43,890 Всичко е наред. 392 00:17:43,890 --> 00:17:46,851 Else-- можете да видите къде вид това е going-- да се върне фалшиви. 393 00:17:46,851 --> 00:17:47,350 Готово. 394 00:17:47,350 --> 00:17:49,640 Проверка се прави. 395 00:17:49,640 --> 00:17:50,940 >> Доста приятно, нали? 396 00:17:50,940 --> 00:17:52,560 И така, какво е това наистина се бе? 397 00:17:52,560 --> 00:17:53,680 И това също, аз нарязани някои ъгли. 398 00:17:53,680 --> 00:17:56,020 Виж версията онлайн за всички леки нюанси. 399 00:17:56,020 --> 00:17:57,103 Но това е същността на това. 400 00:17:57,103 --> 00:17:59,080 Index във вашия асоциативен масив, а.к.а. 401 00:17:59,080 --> 00:18:02,910 Hash маса, да видим дали има стойност там, ако е настроен да е вярно, и ако е така, 402 00:18:02,910 --> 00:18:03,930 върнете вярно. 403 00:18:03,930 --> 00:18:05,819 Така че ние сме сведено Всички сложността. 404 00:18:05,819 --> 00:18:07,110 Така вид против разпенващ, нали? 405 00:18:07,110 --> 00:18:09,680 Аз няма да се притеснява да го завърши с разтоварване, защото в fact-- О, знаеш ли какво? 406 00:18:09,680 --> 00:18:11,620 Да, нека да го завърши с разтоварване. 407 00:18:11,620 --> 00:18:18,940 >> Оставете в хеш таблица може да изглежда като функция разтоварване, върнете. 408 00:18:18,940 --> 00:18:19,930 ОК, така че това е разтоварване. 409 00:18:19,930 --> 00:18:21,350 Защото няма нищо да се разтоварят, нали? 410 00:18:21,350 --> 00:18:22,170 Няма по изчистване. 411 00:18:22,170 --> 00:18:24,280 Не съм изрично да поиска от операционна система за нищо. 412 00:18:24,280 --> 00:18:25,571 Току-що започна да използва променливи. 413 00:18:25,571 --> 00:18:30,510 И така, това също е проява на характеристики на по-високи езици ниво. 414 00:18:30,510 --> 00:18:32,940 Така отново, повечето от този термин ние сме били, занимаващи се тук 415 00:18:32,940 --> 00:18:34,280 с C. Super ниско ниво. 416 00:18:34,280 --> 00:18:35,980 Можете да видите паметта на компютъра. 417 00:18:35,980 --> 00:18:38,440 Можете да докоснете всичко, което Искам в RAM на компютъра, 418 00:18:38,440 --> 00:18:39,440 за добро или за лошо. 419 00:18:39,440 --> 00:18:41,760 >> До тук, отиваме да се откажат от тази власт. 420 00:18:41,760 --> 00:18:44,730 Но, Боже мой, виж как много по-малко код съм написал. 421 00:18:44,730 --> 00:18:47,660 В действителност, ако не говорехме и говорим за моето писане, 422 00:18:47,660 --> 00:18:50,190 щяхме да сме били прави с този пример преди пет минути. 423 00:18:50,190 --> 00:18:52,150 Така че това, което е цената се плаща? 424 00:18:52,150 --> 00:18:54,100 Ами нека да разгледаме. 425 00:18:54,100 --> 00:18:55,340 Нека да разгледаме. 426 00:18:55,340 --> 00:18:59,340 Отивам да вървим напред и да тичам CS50. 427 00:18:59,340 --> 00:19:02,160 Позволете ми първо да отида в днешните примери, в които 428 00:19:02,160 --> 00:19:03,970 Имам директорията на текстове, както и преди. 429 00:19:03,970 --> 00:19:08,520 Отивам да тичам разтвора, че той идва с проблем зададете пет нарича 430 00:19:08,520 --> 00:19:11,190 правопис, който е в профила му CS50. 431 00:19:11,190 --> 00:19:14,040 >> И аз отивам да я изпълните на нещо голяма като Библията на крал Джеймз, 432 00:19:14,040 --> 00:19:16,547 Просто, за да можем наистина да тури решения на персонала на изпитание. 433 00:19:16,547 --> 00:19:19,130 Сега понякога интернет е малко по-бавно, малко по-бързо, 434 00:19:19,130 --> 00:19:20,338 може да отнеме известно време, за да преминете. 435 00:19:20,338 --> 00:19:23,730 Но тя взе общо .56 секунди да проверите правописа на крал Джеймс 436 00:19:23,730 --> 00:19:25,150 Библията използва разтворът на персонала. 437 00:19:25,150 --> 00:19:25,620 Така че доста добре. 438 00:19:25,620 --> 00:19:27,786 Yours може да бъде много по-бавно, и това е напълно наред. 439 00:19:27,786 --> 00:19:30,090 Но тя е правилна тук. 440 00:19:30,090 --> 00:19:32,440 Така че това е решение на персонала. 441 00:19:32,440 --> 00:19:34,785 Ако отида в и почистване на PHP версия. 442 00:19:34,785 --> 00:19:36,990 И аз ще направя малко като печене шоу нещо. 443 00:19:36,990 --> 00:19:39,720 Отиваме да вземе кода написах по-рано, така че е съвсем верен. 444 00:19:39,720 --> 00:19:42,678 Тъй като кодът написах не върви коректна точно сега. 445 00:19:42,678 --> 00:19:47,310 Но ако аз тичам на PHP версия, какво трябва да се откаже от днес? 446 00:19:47,310 --> 00:19:49,980 Отне ми пет минути, за да приложат р зададете пет, аз твърдя. 447 00:19:49,980 --> 00:19:51,770 На каква цена са ми се плаща? 448 00:19:51,770 --> 00:19:52,270 Да. 449 00:19:52,270 --> 00:19:52,937 >> АУДИТОРИЯ: Speed. 450 00:19:52,937 --> 00:19:53,645 SPEAKER 1: Speed. 451 00:19:53,645 --> 00:19:54,380 Какво имаш предвид? 452 00:19:54,380 --> 00:19:55,230 >> АУДИТОРИЯ: Това ще отнеме повече време. 453 00:19:55,230 --> 00:19:55,660 >> SPEAKER 1: Добре. 454 00:19:55,660 --> 00:19:56,160 Да видим. 455 00:19:56,160 --> 00:19:59,590 Това ще отнеме повече време, да не пиша, но за да го стартирате. 456 00:19:59,590 --> 00:20:00,090 Да. 457 00:20:00,090 --> 00:20:00,960 Така че нека да опитаме това. 458 00:20:00,960 --> 00:20:05,720 Така че тук аз ще отида напред и да направим PHP на правопис, а защото на файла 459 00:20:05,720 --> 00:20:06,360 наречено правопис. 460 00:20:06,360 --> 00:20:07,580 Така че аз не бягам от речника, изземване, 461 00:20:07,580 --> 00:20:09,204 Бягам програмата, наречена правопис. 462 00:20:09,204 --> 00:20:12,450 Отивам да премине в същото файл, King James петата. 463 00:20:12,450 --> 00:20:14,377 Той лети с. 464 00:20:14,377 --> 00:20:17,210 Това би могло да бъде само скорост на интернет, така че не се чете прекалено много в това. 465 00:20:17,210 --> 00:20:21,680 Но тя се чувства по-дълго със сигурност. 466 00:20:21,680 --> 00:20:23,280 1,26 секунди. 467 00:20:23,280 --> 00:20:25,150 >> Сега това е все още доста адски бързо, нали? 468 00:20:25,150 --> 00:20:28,140 И единствената причина, че се чувствах като по-скоро три, или четири, или пет 469 00:20:28,140 --> 00:20:30,515 секунди, това е само защото Интернет беше бавен. 470 00:20:30,515 --> 00:20:33,980 Времето на компютъра, прекарано беше 1.26 секунди, спрямо мисля 0.56. 471 00:20:33,980 --> 00:20:35,880 Така че повече от два пъти по-бавно. 472 00:20:35,880 --> 00:20:39,170 Сега, че все още е доста проклинам бързо, но това е проява 473 00:20:39,170 --> 00:20:40,860 на, наистина, че точна цена. 474 00:20:40,860 --> 00:20:43,460 >> Тъй като ние сме за устен в кода ред по ред, 475 00:20:43,460 --> 00:20:46,740 и че програмата PHP е четене ми Код горе до долу, от ляво на дясно, 476 00:20:46,740 --> 00:20:47,940 тя трябва да направи повече мислене. 477 00:20:47,940 --> 00:20:50,430 Тя трябва да конвертирате вид то вътре в себе си 478 00:20:50,430 --> 00:20:53,464 към съответната машина код в движение, така да се каже, 479 00:20:53,464 --> 00:20:55,380 въпреки че механиката са малко по-различно. 480 00:20:55,380 --> 00:20:59,430 Вместо просто хранене на Intel CPU суровите единиците и нулите 481 00:20:59,430 --> 00:21:00,930 че той разбира, роден. 482 00:21:00,930 --> 00:21:04,110 >> Така че абсолютно, ръцете надолу, сме платили цена. 483 00:21:04,110 --> 00:21:09,120 И код, написан на език като PHP е по-бавна. 484 00:21:09,120 --> 00:21:10,050 Но, Боже мой. 485 00:21:10,050 --> 00:21:12,740 Така че сега, когато съм проверка на правописа ми файл, аз прекарвам допълнително 0.7 486 00:21:12,740 --> 00:21:17,280 или така секунди срещу 20 часа за изпълнение по-бърза проверка на правописа, нали? 487 00:21:17,280 --> 00:21:18,397 Това е вид компромис. 488 00:21:18,397 --> 00:21:20,980 И ако сте само началото стр определя пет, може да не е 20 часа. 489 00:21:20,980 --> 00:21:22,188 Може да бъде много по-малко от това. 490 00:21:22,188 --> 00:21:23,600 Но това е компромис, за истински. 491 00:21:23,600 --> 00:21:27,820 И ако сте с код за наистина голям набори от данни, или на още по-стар хардуер, 492 00:21:27,820 --> 00:21:32,650 тези видове разлики Със сигурност може да се добави. 493 00:21:32,650 --> 00:21:34,880 >> Всякакви въпроси до този момент? 494 00:21:34,880 --> 00:21:35,617 Да. 495 00:21:35,617 --> 00:21:36,492 >> АУДИТОРИЯ: [недоловим] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 SPEAKER 1: Съжаляваме, може да ти го кажа още веднъж? 498 00:21:39,978 --> 00:21:40,853 АУДИТОРИЯ: [недоловим] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 SPEAKER 1: Вие сте се отказват от време. 501 00:21:44,700 --> 00:21:45,283 Е, така да. 502 00:21:45,283 --> 00:21:47,322 Вие сте спестяване на време чрез не се налага да го компилирате, 503 00:21:47,322 --> 00:21:48,530 ако това е това, което иска. 504 00:21:48,530 --> 00:21:50,710 И наистина, в CS50, голямата част от програмите, 505 00:21:50,710 --> 00:21:53,668 въпреки че може да отнеме известно време да пиша, те са сравнително кратък. 506 00:21:53,668 --> 00:21:56,860 Няколко десетки, няколко стотин реда код, и така те съставят доста бързо. 507 00:21:56,860 --> 00:21:58,470 Но когато започнете написването големи програми, 508 00:21:58,470 --> 00:22:01,511 като, ако сте Microsoft или сте Google и писане наистина големи програми 509 00:22:01,511 --> 00:22:05,360 в С или C ++, или по подобен начин, съставен езици, може да отнеме много секунди, 510 00:22:05,360 --> 00:22:08,577 или дори минути или повече за съберат милиони реда код. 511 00:22:08,577 --> 00:22:10,660 И там също, че Разликата ще се добави. 512 00:22:10,660 --> 00:22:12,840 >> И в действителност, след като ние преход днес, същия ден 513 00:22:12,840 --> 00:22:15,910 днес, за да уеб програмиране използвайки PHP, вие сте 514 00:22:15,910 --> 00:22:18,460 Ще го намерите толкова много по-приятно да се напише код 515 00:22:18,460 --> 00:22:21,501 когато не е нужно да правите тези глупави стъпки, като промяна на вашия терминал 516 00:22:21,501 --> 00:22:24,202 прозорец, тип грим здравей, повторното го стартирате, презаредите прозореца. 517 00:22:24,202 --> 00:22:25,910 Просто толкова много глупави механични стъпки, които 518 00:22:25,910 --> 00:22:28,480 Просто получите в начина на правене интересното, най-забавната работа. 519 00:22:28,480 --> 00:22:31,450 И наистина ние изхвърляме, че далеч с PHP. 520 00:22:31,450 --> 00:22:34,960 И ние можем да си взаимодействат с по-бързо. 521 00:22:34,960 --> 00:22:35,495 Да. 522 00:22:35,495 --> 00:22:36,370 АУДИТОРИЯ: [недоловим] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 SPEAKER 1: Разбира се. 525 00:22:40,960 --> 00:22:42,876 Мога ли да се изясни какво е означава да се тълкува? 526 00:22:42,876 --> 00:22:45,870 Когато компилирате език като C, тя върви надолу 527 00:22:45,870 --> 00:22:48,140 както казахме да машина код, нули и единици. 528 00:22:48,140 --> 00:22:51,860 И Intel реши преди години, че някои модели на нули и единици 529 00:22:51,860 --> 00:22:56,220 представляват допълнение, или изваждане, или печат, или други основни операции. 530 00:22:56,220 --> 00:23:00,250 В света на интерпретиран език като PHP или JavaScript, или Python, 531 00:23:00,250 --> 00:23:03,120 или Ruby или чепки други, вместо някой 532 00:23:03,120 --> 00:23:05,120 е написал interpreter-- в този случай, 533 00:23:05,120 --> 00:23:09,770 тя също е наречена PHP, идентичен с име на language--, че по същество 534 00:23:09,770 --> 00:23:13,840 има голям цикъл в него, че итерации над всички линии от кода 535 00:23:13,840 --> 00:23:18,170 че аз я храня като вход, като здравей дот PHP, или речника дот PHP. 536 00:23:18,170 --> 00:23:21,760 >> И тогава може да се мисли за тяхната голяма контур, както с много условия. 537 00:23:21,760 --> 00:23:26,340 И тези условия казват, ако човешко е написал на ключовата дума за, 538 00:23:26,340 --> 00:23:28,470 започнете да правите си код отново и отново. 539 00:23:28,470 --> 00:23:31,360 Или ако човекът има писмено линията на код, 540 00:23:31,360 --> 00:23:34,880 ако само изпълни своята Следващата линия условно. 541 00:23:34,880 --> 00:23:37,740 Така че това е наистина като за устен то в човешкия смисъл линия 542 00:23:37,740 --> 00:23:39,660 по ред, и че просто отнема време. 543 00:23:39,660 --> 00:23:41,340 Това отнема режийни. 544 00:23:41,340 --> 00:23:44,189 И така, това е price-- добра question-- плащаме. 545 00:23:44,189 --> 00:23:46,480 Така че нека да направим още една демо че е малко по-драматично. 546 00:23:46,480 --> 00:23:51,160 Налице е, бих казал, на стадион това при 90% вероятност за липса ужасно, 547 00:23:51,160 --> 00:23:53,869 но вие ще бъдете изумени с 10% вероятност. 548 00:23:53,869 --> 00:23:55,660 Така че всяка година ние се опитваме за да направите това, с което ние 549 00:23:55,660 --> 00:23:59,061 опитайте се да се напише програма, която минава през проблем зададете нула, за които сте 550 00:23:59,061 --> 00:24:02,060 подадени вашите телефонни номера и един много друга демографска информация, 551 00:24:02,060 --> 00:24:06,030 и ние програмно можете да изпратите текстово съобщение. 552 00:24:06,030 --> 00:24:08,540 И тогава телефона на всички започва да издава звукови сигнали или вибриращи, 553 00:24:08,540 --> 00:24:11,460 и това е просто невероятно, защото добре, погледнете какво компютри могат да направят. 554 00:24:11,460 --> 00:24:13,840 >> Това рядко се работи правилно Изглежда, в голямата си част 555 00:24:13,840 --> 00:24:16,800 защото аз обикновено се в черния списък от Gmail или друга услуга 556 00:24:16,800 --> 00:24:19,630 за всъщност се опитва да направи това по десетобалната система. 557 00:24:19,630 --> 00:24:24,940 Но смешно нещо е прекалено, тъй като ние не разполагат с всички тук днес, 558 00:24:24,940 --> 00:24:27,690 забавно Всъщност последният път, когато Опитах това преди две години, 559 00:24:27,690 --> 00:24:30,870 Мисля, че съм написал програма които седяха в една линия итерации 560 00:24:30,870 --> 00:24:34,040 над всички ученици в класа, и всеки от тях текстово съобщение, 561 00:24:34,040 --> 00:24:37,534 и тя каза нещо подобно, Защо не си в лекция? 562 00:24:37,534 --> 00:24:39,170 Любов, CS50 бот. 563 00:24:39,170 --> 00:24:42,580 >> Нямаш представа колко извинителен и сортиране на болезнени имейли 564 00:24:42,580 --> 00:24:46,970 Получавал съм в отговор от страна на п минус 100 души, които не са били тук 565 00:24:46,970 --> 00:24:47,960 онзи ден. 566 00:24:47,960 --> 00:24:52,116 И дори по-смешно, по-срамно story-- Знаете ли, че, нека да го сложи там. 567 00:24:52,116 --> 00:24:53,740 Това е вече на видео за няколко години назад. 568 00:24:53,740 --> 00:24:56,810 Така че скоро ще ме видите напиши за цикъл, при който 569 00:24:56,810 --> 00:25:00,640 това е много лесно да се напише, че бъг в за линия, така че за първи път 570 00:25:00,640 --> 00:25:02,800 през примката, вие изпрати на едно текстово съобщение. 571 00:25:02,800 --> 00:25:06,190 >> За втори път през контур I е трябвало да изпрати още едно текстово съобщение, 572 00:25:06,190 --> 00:25:08,250 и след това един по-дълъг текст съобщение, и още един. 573 00:25:08,250 --> 00:25:11,490 Но се оказва, ако направите правописна грешка при програмирането, понякога 574 00:25:11,490 --> 00:25:14,460 могат да пишат програми, които изпращат една текстово съобщение, след две текстови съобщения, 575 00:25:14,460 --> 00:25:18,742 след това три текстови съобщения до всички, който вече е получил текстово съобщение. 576 00:25:18,742 --> 00:25:21,450 И както знаете, прави нещо, плюс нещо, плюс нещо, 577 00:25:21,450 --> 00:25:25,910 плюс нещо, е голям O на много на текстови съобщения, или п квадрат, 578 00:25:25,910 --> 00:25:29,830 или по 0.10 $ на текстово съобщение, $ 20,000. 579 00:25:29,830 --> 00:25:33,700 >> За щастие аз удари Control-C преди това е случило, но аз го дължа най-малко един 580 00:25:33,700 --> 00:25:37,550 от вашите предшественици $ 20 за 200 някои странни текстови съобщения, които, 581 00:25:37,550 --> 00:25:40,450 не само отиде до телефона си, но също беше като по-стар флип телефон 582 00:25:40,450 --> 00:25:43,520 така ми харесва избута си памет всяка друга лична текст 583 00:25:43,520 --> 00:25:45,930 съобщение, че е намерила в действителност. 584 00:25:45,930 --> 00:25:49,250 Така че ние имаме една цел днес, за да не го направя. 585 00:25:49,250 --> 00:25:50,620 Може би включите режим самолет. 586 00:25:50,620 --> 00:25:51,120 Всичко е наред. 587 00:25:51,120 --> 00:25:56,590 Така че нека да отидат в един програма тук callled-- 588 00:25:56,590 --> 00:25:59,060 че аз ще се обадя на текст дот PHP. 589 00:25:59,060 --> 00:26:01,074 И по-рано, аз имам два файла тук. 590 00:26:01,074 --> 00:26:06,030 Направих файл само за персонала, който има всички от информация на персонала, всички имена 591 00:26:06,030 --> 00:26:07,260 от сайта на курса. 592 00:26:07,260 --> 00:26:09,756 И тогава, за сега аз съм сложил някои фалшиви номера 555-1212. 593 00:26:09,756 --> 00:26:11,380 Така че това не би действително отиде навсякъде. 594 00:26:11,380 --> 00:26:15,140 Но забележете вътрешността на този файл CSV, които ние говорихме за кратко, преди да 595 00:26:15,140 --> 00:26:16,540 в контекста на файл IO. 596 00:26:16,540 --> 00:26:18,730 >> Какво е файл CSV? 597 00:26:18,730 --> 00:26:19,970 Разделени със запетаи променливи. 598 00:26:19,970 --> 00:26:24,400 И това е нещо като много лека база данни, ако щете. 599 00:26:24,400 --> 00:26:28,650 Има вид на нещо като четири колони в този файл, а има назъбени, 600 00:26:28,650 --> 00:26:32,400 но запетаите същество представляват колони във файла. 601 00:26:32,400 --> 00:26:35,400 В първата колона е TF или името на CA. 602 00:26:35,400 --> 00:26:37,800 Втората колона е фамилното име на автора. 603 00:26:37,800 --> 00:26:39,820 Трета колона е телефонния си номер. 604 00:26:39,820 --> 00:26:44,760 И четвърто колона очевидно is-- Четвъртият колона е очевидно какво? 605 00:26:44,760 --> 00:26:45,870 ОК, така че това е техния носител. 606 00:26:45,870 --> 00:26:47,180 Така че Verizon, Sprint или, или какво не. 607 00:26:47,180 --> 00:26:48,620 И ако аз misspoke рано, CSV. 608 00:26:48,620 --> 00:26:51,800 Разделени със запетая стойности е CSV тук. 609 00:26:51,800 --> 00:26:54,260 >> И така, какво мога да направя с това? 610 00:26:54,260 --> 00:26:56,940 Ами това е просто един голям текстов файл, и това е вид дълго, нали? 611 00:26:56,940 --> 00:26:58,690 Подобно на това ще да бъде вид досадно. 612 00:26:58,690 --> 00:27:03,510 И се оказва, обаче, че ако аз искате да изпратите текстово съобщение до, нека 613 00:27:03,510 --> 00:27:05,180 Alex кажа тук. 614 00:27:05,180 --> 00:27:09,690 Позволете ми да отида в моя браузър и да излезете от режим на цял екран 615 00:27:09,690 --> 00:27:11,660 само за да мога да превключвате назад и напред. 616 00:27:11,660 --> 00:27:20,280 Оказва се, нека да видим, ако отида в Оттук и влезете в Gmail, всичко е наред. 617 00:27:20,280 --> 00:27:22,950 Не гледайте към тази част. 618 00:27:22,950 --> 00:27:23,880 Само мога да видя. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 разбира се на живо може да още виждате какво правя. 621 00:27:28,800 --> 00:27:29,360 Всичко е наред. 622 00:27:29,360 --> 00:27:31,850 >> Така че тук е само с Gmail Предвид Джон Харвард. 623 00:27:31,850 --> 00:27:34,000 Така че, ако искате да изпратите текстово съобщение до Alex, 624 00:27:34,000 --> 00:27:35,530 Мога да разбира съставите съобщение. 625 00:27:35,530 --> 00:27:38,410 И се оказва, и аз съм го тествали с Алекс преди тук, 626 00:27:38,410 --> 00:27:42,260 така че можете да добавите определен домейн Име на телефонни номера на хората, 627 00:27:42,260 --> 00:27:45,850 защото съществува в света неща, наречени SMS на приятел шлюзове. 628 00:27:45,850 --> 00:27:50,000 Което е луксозен начин на казвайки всички от нас, които имат мобилни телефони, които 629 00:27:50,000 --> 00:27:53,200 има телефонни номера, разбира се, там вероятно е за вашата носител, 630 00:27:53,200 --> 00:27:56,840 определен суфикс като най- Vtext.com за Verizon текстово съобщение 631 00:27:56,840 --> 00:28:00,320 дот ком, които можете да добавите към вашия личен телефонен номер, и след това 632 00:28:00,320 --> 00:28:03,540 Вие или приятели, или родителите ти да вие текст в този конкретен адрес. 633 00:28:03,540 --> 00:28:07,380 >> И Verizon има сървър, имейл сървър, че при получаване на този имейл, 634 00:28:07,380 --> 00:28:11,180 поглежда към цифровата част и след това използва каквото и специална промишленост магия 635 00:28:11,180 --> 00:28:14,540 те трябва да всъщност го изпрати над ефира на вашата конкретна клетка 636 00:28:14,540 --> 00:28:15,040 телефон. 637 00:28:15,040 --> 00:28:18,030 Сега това е хубаво, защото аз не правя наистина знаят как да изпратите текстово съобщение 638 00:28:18,030 --> 00:28:20,460 или да пишат код, все още за мобилния си телефон, 639 00:28:20,460 --> 00:28:23,580 и може да се направи точно това за окончателен проект, но за сега всичко 640 00:28:23,580 --> 00:28:24,770 Имам е моя лаптоп тук. 641 00:28:24,770 --> 00:28:29,830 Затова искам да обхождане, че CSV файл, ред, по ред, по ред, по ред, 642 00:28:29,830 --> 00:28:35,160 вземете всеки от телефонни номера на персонала, и техния носител и programatically, 643 00:28:35,160 --> 00:28:39,770 свързвам, че е, свържете телефона номер с подходящо име на домейн 644 00:28:39,770 --> 00:28:40,820 и след това да изпрати съобщение. 645 00:28:40,820 --> 00:28:41,940 >> Така че това е много стъпки. 646 00:28:41,940 --> 00:28:45,530 И късмет правиш, че в C. Това е кошмар на ситуация, 647 00:28:45,530 --> 00:28:48,350 да отворите файл, за да го прочетете линия, по ред, по ред, колкото 648 00:28:48,350 --> 00:28:51,100 виждаме, или може скоро да видим с проблем зададете пет, ако не и 649 00:28:51,100 --> 00:28:53,560 проблем зададете четири, а след това динамично да свързвам 650 00:28:53,560 --> 00:28:57,020 две струни заедно, защото в C, да вземе две струни и да ги комбинира, 651 00:28:57,020 --> 00:29:00,900 това, което правиш минимално трябва да направите най-вероятно? 652 00:29:00,900 --> 00:29:03,020 Вие трябва да декларират повече памет, нали? 653 00:29:03,020 --> 00:29:04,710 И питам, изчистване, може ли да имам повече памет? 654 00:29:04,710 --> 00:29:07,060 Така че мога да сложа половината от тази тук, половината от тази тук. 655 00:29:07,060 --> 00:29:08,150 Това е просто толкова много стъпки. 656 00:29:08,150 --> 00:29:10,310 И от този момент сте загубили интерес към глупаво малко демо 657 00:29:10,310 --> 00:29:11,851 , където можете да направите телефона звуков сигнал на всеки. 658 00:29:11,851 --> 00:29:14,590 Нека да направим този вид на PHP стил, с което ние просто 659 00:29:14,590 --> 00:29:16,210 започнете да използвате повече от това кухненска мивка. 660 00:29:16,210 --> 00:29:18,050 >> И идеите са фундаментално еднакви, 661 00:29:18,050 --> 00:29:20,710 но ние не трябва да се притеснявате твърде много за които по-ниско ниво. 662 00:29:20,710 --> 00:29:22,950 Така че нека да видим как бих могъл го направим. 663 00:29:22,950 --> 00:29:26,664 И точно, така че аз не правя повтаря грешките от миналото, 664 00:29:26,664 --> 00:29:28,330 Аз съм писал някои бележки за себе си тук. 665 00:29:28,330 --> 00:29:31,070 И нека да видим дали мога да ходим през някои от основните стъпки, 666 00:29:31,070 --> 00:29:33,861 и след това заради времето, ние ще може би нарязани някои ъгли в края. 667 00:29:33,861 --> 00:29:38,007 Отивам да вървим напред и да направим отворена скоба PHP за да започне този файл. 668 00:29:38,007 --> 00:29:39,590 И аз ще отида напред и да направим това. 669 00:29:39,590 --> 00:29:41,490 Дръжка на файла, тъй като ще Веднага виждате, всъщност 670 00:29:41,490 --> 00:29:44,790 призовава функция, наречена е отворена. 671 00:29:44,790 --> 00:29:46,280 И не забравяйте, това отваря файл. 672 00:29:46,280 --> 00:29:48,800 И цитатът, край на цитата, R означава това, което, отново? 673 00:29:48,800 --> 00:29:49,800 Просто го отвори за четене. 674 00:29:49,800 --> 00:29:51,210 Сега в р комплект за, си направил това. 675 00:29:51,210 --> 00:29:54,500 И се справят може да бъде всичко, Фу, бар, БАН, всяко име на променлива. 676 00:29:54,500 --> 00:29:57,470 Но като цяло компютър учен би нарекъл отворен файл, 677 00:29:57,470 --> 00:30:00,962 като ви файлов манипулатор, нещо, за да се задържи така да се каже. 678 00:30:00,962 --> 00:30:02,670 Аз съм просто ще направя някои проверка за грешки. 679 00:30:02,670 --> 00:30:07,260 Така че, ако дръжката е невярна, също като в C, аз отивам да правя нещо подобно, 680 00:30:07,260 --> 00:30:09,545 не може да отвори файла, наклонена черта п. 681 00:30:09,545 --> 00:30:11,420 И тогава аз съм просто ще да вървим напред и да излезете. 682 00:30:11,420 --> 00:30:14,340 И се оказва, в PHP, Аз не съм в тялото на функцията. 683 00:30:14,340 --> 00:30:16,160 Няма по-основна функция тук. 684 00:30:16,160 --> 00:30:17,450 Така че аз не се върне, само по себе си. 685 00:30:17,450 --> 00:30:18,120 I излезете. 686 00:30:18,120 --> 00:30:19,619 Кое е по същество едно и също нещо. 687 00:30:19,619 --> 00:30:22,510 И аз да излизате с едно у-вероятно. 688 00:30:22,510 --> 00:30:24,220 Едно просто означава грешка от някакъв вид. 689 00:30:24,220 --> 00:30:25,580 Това е различна от нула, така че това е грешка. 690 00:30:25,580 --> 00:30:30,220 >> Добре, така че ако аз съм тук сега в моята програма съм отвори файла. 691 00:30:30,220 --> 00:30:34,250 Отивам да вървим напред и да декларират масив наречен адреси, 692 00:30:34,250 --> 00:30:38,610 и в C аз ще трябва да се знае размер на масива предварително, нали? 693 00:30:38,610 --> 00:30:41,910 Или ще трябва да декларира това е указател, а след това използвайте изчистване. 694 00:30:41,910 --> 00:30:44,720 И тогава всеки път, когато чета през друг ред във файла, 695 00:30:44,720 --> 00:30:46,620 Отивам да се наложи да изчистване повече памет, изчистване повече памет. 696 00:30:46,620 --> 00:30:47,703 Това е болка в областта на шията. 697 00:30:47,703 --> 00:30:50,950 И слава Богу, PHP и Ruby, и Python, и JavaScript, те 698 00:30:50,950 --> 00:30:53,880 ще растат вашите редици за вас автоматично. 699 00:30:53,880 --> 00:30:54,830 Няма повече изчистване. 700 00:30:54,830 --> 00:30:56,227 Няма повече управление на паметта. 701 00:30:56,227 --> 00:30:57,560 Компютърът ще се погрижи за това. 702 00:30:57,560 --> 00:31:00,330 Но цената, която плащате. 703 00:31:00,330 --> 00:31:01,350 Това е малко по-бавно. 704 00:31:01,350 --> 00:31:03,190 И за програма като тази ние няма да забележи. 705 00:31:03,190 --> 00:31:04,720 Отиваме да изпрати 100 текстови съобщения. 706 00:31:04,720 --> 00:31:06,136 Например няма да го почувствам. 707 00:31:06,136 --> 00:31:08,430 IT наистина започва само да значение на езика по избор 708 00:31:08,430 --> 00:31:11,490 когато вашите данни или вашите програми получите наистина, наистина доста голям, 709 00:31:11,490 --> 00:31:14,120 както е случаят, още повече, че Нашият уеб базиран неща. 710 00:31:14,120 --> 00:31:15,450 >> Но за сега нека да продължим напред. 711 00:31:15,450 --> 00:31:20,120 Докато се оказва, че има функция в C е наречена получите CSV. 712 00:31:20,120 --> 00:31:24,570 File получите CSV, че отнема подаде дръжка за аргумент, 713 00:31:24,570 --> 00:31:28,810 и тя ще действа тогава, ред, чрез ред, по ред, да се чете в един ред. 714 00:31:28,810 --> 00:31:30,964 Така че той просто чете линия на текст от файл. 715 00:31:30,964 --> 00:31:34,130 Но това, което е хубаво за тази функция, тя не просто ме предаде ред от текста. 716 00:31:34,130 --> 00:31:37,320 Тя изглежда за тези запетаи, и прави разбор на линията. 717 00:31:37,320 --> 00:31:41,740 И да прави разбор на линията означава да се раздели Агенцията по определени стойности в този контекст. 718 00:31:41,740 --> 00:31:45,510 >> С други думи, знака за долар ред е променлива, която е 719 00:31:45,510 --> 00:31:47,010 ще ми даде един куп индекси. 720 00:31:47,010 --> 00:31:49,635 Това ще бъде най- първата колона в моя CSV. 721 00:31:49,635 --> 00:31:52,510 Това ще бъде вторият колона, това ще бъде трети, 722 00:31:52,510 --> 00:31:53,968 и това ще бъде четвъртият. 723 00:31:53,968 --> 00:31:57,440 Защото изземване, и Excel не сътрудничат за последен път сме направили това, 724 00:31:57,440 --> 00:32:03,350 но ако изтегля персонала са разпръснати CSV. 725 00:32:03,350 --> 00:32:04,940 Опа, не, преименувате. 726 00:32:04,940 --> 00:32:09,120 Ако изтеглите дот персонала CSV, и се опитайте да го отворите, 727 00:32:09,120 --> 00:32:12,510 Вече съм registered-- о I не сте обновили Excel, тъй като миналия път. 728 00:32:12,510 --> 00:32:15,880 Ще видите, че в точка персонала CSV, имам четири колони. 729 00:32:15,880 --> 00:32:18,720 Така че, когато прочетох в първи ред за Аби тук, 730 00:32:18,720 --> 00:32:23,582 знак за долар поредна 0 е Аби, знак за долар ред един е Lyons, 731 00:32:23,582 --> 00:32:27,740 знак за долар поредни две е номера й, и след това носител на телефона си. 732 00:32:27,740 --> 00:32:28,410 >> Така че това е всичко. 733 00:32:28,410 --> 00:32:30,740 И това е хубаво, защото аз не е нужно да разбера сега 734 00:32:30,740 --> 00:32:32,800 където всички тези запетаи в действителност. 735 00:32:32,800 --> 00:32:35,300 Така че аз ще отида напред и направите това, предвид факта, че определението, 736 00:32:35,300 --> 00:32:38,960 Отивам да се каже, че името й е в ред скоба нула, както беше обещано. 737 00:32:38,960 --> 00:32:41,150 И аз отивам да grab-- и Всъщност, знаеш ли какво? 738 00:32:41,150 --> 00:32:42,780 Аз няма да се притеснявате за името й, в този случай. 739 00:32:42,780 --> 00:32:43,988 Отивам да се запази по-лесно. 740 00:32:43,988 --> 00:32:48,610 Отивам да правя номера й е в ред скоба две, мисля. 741 00:32:48,610 --> 00:32:50,510 И носител й беше в къде? 742 00:32:50,510 --> 00:32:53,405 Row три, една над. 743 00:32:53,405 --> 00:32:54,280 Така че нищо ново там. 744 00:32:54,280 --> 00:32:56,770 Това е просто нула индексиране в масив. 745 00:32:56,770 --> 00:32:58,760 >> И сега, аз отивам да направите следното. 746 00:32:58,760 --> 00:33:03,930 Ако превозвачът равнява равнява AT & T-- Аз съм просто ще имате loop-- 747 00:33:03,930 --> 00:33:06,790 Искам да създам имейл адрес, който изглежда така. 748 00:33:06,790 --> 00:33:12,320 Това ще бъде 617-555-1212 най-, какво е това, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 е това, което искам да направя. 750 00:33:13,490 --> 00:33:15,260 И така, как мога да направя това? 751 00:33:15,260 --> 00:33:16,730 Отивам да направите следното. 752 00:33:16,730 --> 00:33:22,460 Нейният адрес ще бъде номера й, и сега, нека да вървим напред и да направим това. 753 00:33:22,460 --> 00:33:23,760 Това е някаква фънки синтаксис. 754 00:33:23,760 --> 00:33:27,250 Можех да направя трик на сто ите, но аз всъщност може просто да направите това. 755 00:33:27,250 --> 00:33:29,900 >> Така че това е нещо, с PHP, но нека да разгледаме това, което правя. 756 00:33:29,900 --> 00:33:31,630 Dollars подписват адрес на ляво, просто променлива. 757 00:33:31,630 --> 00:33:32,300 Дай ми една променлива. 758 00:33:32,300 --> 00:33:33,390 Не е нужно да се уточни вида. 759 00:33:33,390 --> 00:33:34,570 PHP ще го разбера. 760 00:33:34,570 --> 00:33:36,580 От дясната страна, какъв е типът на данните 761 00:33:36,580 --> 00:33:38,399 на тази цялата работа по отдясно? 762 00:33:38,399 --> 00:33:40,190 Прилича на низ, защото има двойна 763 00:33:40,190 --> 00:33:42,280 цитира в левия и десния край. 764 00:33:42,280 --> 00:33:44,210 Сега има някои фънки нов синтаксис тук. 765 00:33:44,210 --> 00:33:47,550 Има фигурните скоби, и номера на знака за долар. 766 00:33:47,550 --> 00:33:52,860 Но вземе познайте какво е това синтаксис Вероятно казва PHP да направиш за мен? 767 00:33:52,860 --> 00:33:53,360 Да. 768 00:33:53,360 --> 00:33:54,630 Само поставете стойност там. 769 00:33:54,630 --> 00:33:55,530 Така че без процента ите. 770 00:33:55,530 --> 00:33:58,160 Можем да използваме печат е, или е печат е или нещо подобно, 771 00:33:58,160 --> 00:34:00,070 но PHP и много високи езици ниво, 772 00:34:00,070 --> 00:34:03,070 започваш да се види, че сте могли направи същото нещо функционално, може би 773 00:34:03,070 --> 00:34:04,019 шест различни начини. 774 00:34:04,019 --> 00:34:06,310 И така, тя започва да се превърне въпрос на дизайн или стил. 775 00:34:06,310 --> 00:34:09,902 Така че това е само една загадъчна търсят начин да се каже, дайте ми един имейл адрес, 776 00:34:09,902 --> 00:34:12,110 но плъг-ин броя в между тези фигурни скоби. 777 00:34:12,110 --> 00:34:15,440 И фигурните скоби не ще окажете в крайния адрес. 778 00:34:15,440 --> 00:34:18,010 >> Сега можем да прескочим някои от тези редове заради времето си. 779 00:34:18,010 --> 00:34:21,210 Така че, ако превозвачът е равен равнява verHorizon-- Опа, 780 00:34:21,210 --> 00:34:24,989 Verizon-- Искам да направя нещо много сходни, когато адресът получава, 781 00:34:24,989 --> 00:34:27,569 цитирам, край на цитата, номер на text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 И тогава аз мога да направя същото по вид нещо за останалата част от превозвачите. 784 00:34:35,050 --> 00:34:37,090 Но аз просто ще направя точка, точка, точка за сега. 785 00:34:37,090 --> 00:34:43,050 А сега нека да предположим, че Искам да добавя масив, бутнете. 786 00:34:43,050 --> 00:34:45,969 Искам да добавя към масив, наречен адреси. 787 00:34:45,969 --> 00:34:50,409 >> Този адрес, това е начина, по който добави нещо към масив в PHP. 788 00:34:50,409 --> 00:34:51,610 Не е нужно да се направи изчистване. 789 00:34:51,610 --> 00:34:53,068 Вие не трябва да промените размера на масива. 790 00:34:53,068 --> 00:34:54,259 Можете само да кажа, масив, да бута. 791 00:34:54,259 --> 00:34:57,300 Какво искаш да push-- какво масив искаш да прокара нещо върху? 792 00:34:57,300 --> 00:34:58,000 Адреси. 793 00:34:58,000 --> 00:34:59,550 Какво искате да бутнете върху адреси? 794 00:34:59,550 --> 00:35:00,350 Адрес. 795 00:35:00,350 --> 00:35:02,430 И всъщност, ако Наистина искам да бъда умен, 796 00:35:02,430 --> 00:35:05,610 някои синтактична захар за това, така да се каже, 797 00:35:05,610 --> 00:35:10,230 което просто означава, как може да направите това в на по-хубава начин, би било да се направи това. 798 00:35:10,230 --> 00:35:14,060 Това също води до нарастващо на адреси масив по размер един, 799 00:35:14,060 --> 00:35:17,130 и след това допълнително плясване имейл адрес в нея. 800 00:35:17,130 --> 00:35:17,630 Да. 801 00:35:17,630 --> 00:35:19,730 >> АУДИТОРИЯ: [недоловим] 802 00:35:19,730 --> 00:35:22,520 >> SPEAKER 1: A правописна грешка относно останало if-- о, носител. 803 00:35:22,520 --> 00:35:23,070 Това е добре. 804 00:35:23,070 --> 00:35:26,971 Той също така няма да се хареса моя отказ да приложат част от тази програма 805 00:35:26,971 --> 00:35:27,470 по-късно. 806 00:35:27,470 --> 00:35:28,810 Но ви благодаря за вниманието. 807 00:35:28,810 --> 00:35:30,671 Още един бъг. 808 00:35:30,671 --> 00:35:31,170 Благодаря. 809 00:35:31,170 --> 00:35:33,746 Искаме това да бъде Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Да. 811 00:35:34,340 --> 00:35:34,839 Всичко е наред. 812 00:35:34,839 --> 00:35:36,330 Така че откъде идва тази ни остави? 813 00:35:36,330 --> 00:35:38,224 Ние съм писал код, за да отворите файла. 814 00:35:38,224 --> 00:35:40,390 Ние имаме една линия, за да превъртите над редовете във файла. 815 00:35:40,390 --> 00:35:43,650 Имаме код, който добавя към моя масив, един по един, правилно 816 00:35:43,650 --> 00:35:44,790 форматиран имейл адрес. 817 00:35:44,790 --> 00:35:48,480 Така че всичко, което наистина остава, е да изпратите имейл до всеки един от тези хора. 818 00:35:48,480 --> 00:35:52,830 >> Така че аз съм отишъл напред и себе си приготви по следния начин. 819 00:35:52,830 --> 00:35:59,580 Това, което аз ще направя тук is-- и нека отидете напред и да прескочите до известна действителната код, 820 00:35:59,580 --> 00:36:00,620 която изглежда така. 821 00:36:00,620 --> 00:36:02,950 Така че тук е предварително изпечен версия писах по-рано. 822 00:36:02,950 --> 00:36:04,700 И забележи завърших прилагане на Sprint. 823 00:36:04,700 --> 00:36:06,130 Завърших прилагане T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Завърших прилагане Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 И аз ще се извиня предварително. 826 00:36:09,622 --> 00:36:12,080 Има няколко превозвачи, които някои ученици в класа имат 827 00:36:12,080 --> 00:36:14,640 че аз не си направи труда да изброява в състояние, ако тук. 828 00:36:14,640 --> 00:36:16,015 Така че не всички текстове ще изгаснат. 829 00:36:16,015 --> 00:36:17,556 Но нека да видим какво друго трябва да направя. 830 00:36:17,556 --> 00:36:19,660 I затворете файла, просто като в р зададете четири. 831 00:36:19,660 --> 00:36:20,835 >> И това е нов синтаксис. 832 00:36:20,835 --> 00:36:22,710 И ние ще видим малко по- малко на това с течение на времето, 833 00:36:22,710 --> 00:36:24,450 особено с р определя седем и осем. 834 00:36:24,450 --> 00:36:28,140 Но това е синтаксис за създаване специален вид структура. 835 00:36:28,140 --> 00:36:31,490 Оказва се, че има библиотека, която идва с PHP, наречена PHP писмото. 836 00:36:31,490 --> 00:36:33,840 Неговата цел в живота е да програмно изпращат имейли. 837 00:36:33,840 --> 00:36:36,840 Това е код, някой друг е написал, че прави по-лесно за нас да изпращате имейли, 838 00:36:36,840 --> 00:36:39,131 така че ние не трябва да се запази връщане назад и напред, за да Gmail, 839 00:36:39,131 --> 00:36:41,151 и поставите в имейл адресите на хората. 840 00:36:41,151 --> 00:36:44,150 Има цял куп линии тук че честно казано, аз просто вид копира 841 00:36:44,150 --> 00:36:45,660 и поставили в документацията. 842 00:36:45,660 --> 00:36:47,409 И в действителност, ако сте любопитно, оставих всичко 843 00:36:47,409 --> 00:36:50,550 на URL адресите на документацията в кодекса, че ние ще публикуваме по-късно. 844 00:36:50,550 --> 00:36:52,360 И забележи, че сред нещата, които правя 845 00:36:52,360 --> 00:36:55,710 е, че казвам това библиотека, използвате сървъра на Gmail, нали? 846 00:36:55,710 --> 00:36:59,360 SMTP говорихме накратко за когато сме са в Йейл в това да бъдеш просто мейл 847 00:36:59,360 --> 00:37:00,110 протокол за трансфер. 848 00:37:00,110 --> 00:37:02,920 Това е протоколът, който сървърите, използвани за изпращане на електронна поща, 849 00:37:02,920 --> 00:37:05,150 и that's-- Gmail има един от тези. 850 00:37:05,150 --> 00:37:07,290 A порт, това е номера на порта TCP. 851 00:37:07,290 --> 00:37:09,630 Това е добре, ако не сте виждали преди 587. 852 00:37:09,630 --> 00:37:11,420 Просто знам, че от документацията. 853 00:37:11,420 --> 00:37:12,250 Ето потребителското си име. 854 00:37:12,250 --> 00:37:13,670 Отивам да използвате CF50 бота. 855 00:37:13,670 --> 00:37:16,690 И в един момент, аз съм просто ще напишете в действителната парола на бота. 856 00:37:16,690 --> 00:37:18,690 И тогава тук, забележете, това, което остава. 857 00:37:18,690 --> 00:37:22,840 >> Задам от адрес да бъде най-бот CS50.net. 858 00:37:22,840 --> 00:37:26,240 Мисля, че няма да съжалявате, изпращане на текстово съобщение до 800 души, които 859 00:37:26,240 --> 00:37:30,590 казва, липсваш, любов CS50 бот, може би за тези, които не може да го направи днес. 860 00:37:30,590 --> 00:37:33,160 И тогава, в съответствие 76, какво да правя? 861 00:37:33,160 --> 00:37:39,010 Този вид изглежда като C. Така че аз за е равна на 0, п equals-- сега брои е нова. 862 00:37:39,010 --> 00:37:42,077 Оказва се, че ако искате да получите броя на нещата, в масив, 863 00:37:42,077 --> 00:37:43,660 не е нужно да го помня вече. 864 00:37:43,660 --> 00:37:45,370 Можете просто да зададете функция, наречена брой, 865 00:37:45,370 --> 00:37:48,320 и тя ще ви каже колко адресите са в този масив. 866 00:37:48,320 --> 00:37:53,210 >> И тогава аз отивам да добавите адреса на имейла. 867 00:37:53,210 --> 00:37:55,090 И знам, че това, от използване на документацията. 868 00:37:55,090 --> 00:37:56,900 Има добавка адрес функция. 869 00:37:56,900 --> 00:37:58,980 И сега забележи там е една част от синтаксиса. 870 00:37:58,980 --> 00:38:01,470 Виждали сме това и преди в C. Подобно в същия дух. 871 00:38:01,470 --> 00:38:04,100 Можете да мислите за знака за долар поща като променлива, която е то. 872 00:38:04,100 --> 00:38:08,100 Но това е структура на вътрешната страна на които са не само свойства, 873 00:38:08,100 --> 00:38:09,400 променливи, ако щете. 874 00:38:09,400 --> 00:38:13,480 Но се оказва, че в PHP, които е обектно-ориентирано програмиране 875 00:38:13,480 --> 00:38:16,520 език, като Java, ако сте приели АРС. 876 00:38:16,520 --> 00:38:21,420 >> Dollar знак поща, ако искате to-- той също има функции вътре в него, 877 00:38:21,420 --> 00:38:22,380 или методи. 878 00:38:22,380 --> 00:38:24,720 Така че това е да се каже, че специален PHP Мейлър 879 00:38:24,720 --> 00:38:29,280 библиотека, ако аз имам една променлива от него, ако искам да се обадя функция, която 880 00:38:29,280 --> 00:38:31,559 идва с тази библиотека, за днешните цели, 881 00:38:31,559 --> 00:38:33,100 Просто знам, вие използвате наколонените стрелка. 882 00:38:33,100 --> 00:38:34,150 Няма по точкова нотация. 883 00:38:34,150 --> 00:38:35,220 Това е просто стрелката. 884 00:38:35,220 --> 00:38:36,380 Но това не е указател. 885 00:38:36,380 --> 00:38:38,680 Това е просто назаем от синтаксиса на C. 886 00:38:38,680 --> 00:38:43,620 Така наричаме добавите адрес вътре в предмет или променлива тази библиотека. 887 00:38:43,620 --> 00:38:44,440 >> Всичко е наред. 888 00:38:44,440 --> 00:38:45,570 Това е магическо линия. 889 00:38:45,570 --> 00:38:46,740 Ето как аз изпрати съобщение. 890 00:38:46,740 --> 00:38:50,040 Това е еквивалентът на отваряне Gmail, тя пише навън и удари изпратите. 891 00:38:50,040 --> 00:38:54,870 Но това ще вместо да изпрати приятел на този адрес, с този орган, 892 00:38:54,870 --> 00:38:57,120 от CS50 бота. 893 00:38:57,120 --> 00:38:58,710 И сега ключова линия. 894 00:38:58,710 --> 00:39:03,130 Тази линия е отсъствал по подобен 2011 когато аз мисля, че последното се опита това. 895 00:39:03,130 --> 00:39:05,640 Тази линия има, разбира се, изчиства адресите. 896 00:39:05,640 --> 00:39:07,920 Така логично, ако аз не изчисти адрес 897 00:39:07,920 --> 00:39:11,740 след всяка итерация, първият приятел или текстово съобщение, отива на Алис, 898 00:39:11,740 --> 00:39:14,320 Второто отива Алис и Боб, третият 899 00:39:14,320 --> 00:39:17,870 отива на Алис и Боб и Чарли, оттук и много скъпа грешка 900 00:39:17,870 --> 00:39:18,760 Направих тази година. 901 00:39:18,760 --> 00:39:21,080 >> Така че нека да видим. 902 00:39:21,080 --> 00:39:24,200 Има ли някакви въпроси преди да Ви изпратим всички текстово 903 00:39:24,200 --> 00:39:28,210 съобщение с 10 процента вероятност? 904 00:39:28,210 --> 00:39:28,940 Някакви въпроси? 905 00:39:28,940 --> 00:39:30,330 Всичко е наред. 906 00:39:30,330 --> 00:39:36,100 Нека да ме пусне в тук и промяна паролата на това, което би трябвало да работи, 907 00:39:36,100 --> 00:39:37,780 най-вероятно ще се черна от Gmail. 908 00:39:37,780 --> 00:39:39,821 Така че те не всички могат да отидат посочени, тъй като те вероятно 909 00:39:39,821 --> 00:39:42,960 не ни харесва изпращане на 800 имейли в цикъл за всички наведнъж. 910 00:39:42,960 --> 00:39:45,140 Тъй като това не е особено човешкото поведение. 911 00:39:45,140 --> 00:39:47,460 >> О, аз отивам да се промени нещо друго. 912 00:39:47,460 --> 00:39:50,850 Up на върха, аз отивам да sent-- промените файла на учениците са разпръснати CSV. 913 00:39:50,850 --> 00:39:55,420 И аз няма да се отвори това, но това е идентична CSV файл с не 100 служители, 914 00:39:55,420 --> 00:39:58,970 но 800 студенти, просто Харвард, Йейл, защото 915 00:39:58,970 --> 00:40:00,207 има вдлъбнатина октомври тази седмица. 916 00:40:00,207 --> 00:40:03,290 И изглежда, че такива неща идиот да се направи в текст всички от тях, защо 917 00:40:03,290 --> 00:40:04,750 те не са в клас на почивка. 918 00:40:04,750 --> 00:40:05,250 Това е добре. 919 00:40:05,250 --> 00:40:08,310 Само на студенти от Харвард Днес във вътрешността на този файл. 920 00:40:08,310 --> 00:40:12,320 А сега нека се върнем да ми терминален прозорец. 921 00:40:12,320 --> 00:40:13,710 Аз съм един вид нервен. 922 00:40:13,710 --> 00:40:22,000 >> OK, така че сега аз отивам да отидат в указател и PHP текст дот PHP. 923 00:40:22,000 --> 00:40:24,950 Какво ще кажете за един смел доброволец? 924 00:40:24,950 --> 00:40:26,690 Така че аз не искам това за мен. 925 00:40:26,690 --> 00:40:28,410 OK, хайде нагоре. 926 00:40:28,410 --> 00:40:29,162 Как се казваш? 927 00:40:29,162 --> 00:40:29,662 МАЯ: Maya. 928 00:40:29,662 --> 00:40:30,328 SPEAKER 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Хайде нагоре, Мая. 930 00:40:31,610 --> 00:40:34,120 Всичко е наред. 931 00:40:34,120 --> 00:40:35,389 Да видим дали това работи. 932 00:40:35,389 --> 00:40:38,430 Сложих моя собствен имейл адрес в file-- моя собствен телефонен номер във файла, 933 00:40:38,430 --> 00:40:40,110 така че да се надяваме, че ще се получи един, както добре. 934 00:40:40,110 --> 00:40:40,819 Приятно ми е. 935 00:40:40,819 --> 00:40:41,443 МАЯ: По същия начин. 936 00:40:41,443 --> 00:40:44,510 SPEAKER 1: Така че всичко, което трябва да направите, е натиснете влиза да изпрати 800 текстови съобщения, 937 00:40:44,510 --> 00:40:45,466 ако аз не се притеснявам. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Ница. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Може да отнеме известно време, статистически, докато стигнем до имейл address-- 942 00:40:58,430 --> 00:41:00,573 текстово съобщение, че е в стаята точно сега. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Нека да се бавим и да видим. 945 00:41:05,390 --> 00:41:06,940 >> АУДИТОРИЯ: [свирки] 946 00:41:06,940 --> 00:41:08,270 >> SPEAKER 1: О, да. 947 00:41:08,270 --> 00:41:09,230 >> АУДИТОРИЯ: О, нещо, за което. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> SPEAKER 1: За примки are-- това Не е бавен, защото на PHP. 950 00:41:19,180 --> 00:41:21,810 Това е бавен, тъй като Gmail е с нас, а не дроселиране 951 00:41:21,810 --> 00:41:25,170 отдаване под наем да ни изпратите повече от като един имейл на секунда. 952 00:41:25,170 --> 00:41:26,300 Всичко? 953 00:41:26,300 --> 00:41:29,990 Това е трудно нещо за мен да тестват най- дома само с мен и ми един телефон, така че. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Е, че се надяваме от бота? 956 00:41:41,111 --> 00:41:41,610 Да? 957 00:41:41,610 --> 00:41:42,110 Не? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Кажи да. 960 00:41:46,620 --> 00:41:47,479 Не? 961 00:41:47,479 --> 00:41:49,374 Това е от един приятел? 962 00:41:49,374 --> 00:41:49,874 Неудобни. 963 00:41:49,874 --> 00:41:50,374 ДОБРЕ. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Сигурен, че това е работа все пак. 966 00:42:00,090 --> 00:42:00,910 Ъъъ. 967 00:42:00,910 --> 00:42:03,190 Те black-- О, чакай малко. 968 00:42:03,190 --> 00:42:04,280 О, знаеш ли какво? 969 00:42:04,280 --> 00:42:06,100 Един момент моля. 970 00:42:06,100 --> 00:42:07,802 Само Мая и I-- Mia, нали? 971 00:42:07,802 --> 00:42:08,301 МАЯ: Maya. 972 00:42:08,301 --> 00:42:12,110 SPEAKER 1: Мая, ще знам какво съм направил грешно тук. 973 00:42:12,110 --> 00:42:14,890 О, чакай малко. 974 00:42:14,890 --> 00:42:23,320 Мисля, че току-що изпрати 100 текстови съобщения до 555-1212. 975 00:42:23,320 --> 00:42:24,346 В готовност. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Аз не може да спечели всяка година. 978 00:42:29,270 --> 00:42:30,180 ДОБРЕ. 979 00:42:30,180 --> 00:42:30,680 Мая? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Fix, че в пост-продукция. 982 00:42:36,219 --> 00:42:36,718 По дяволите! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Вследствие на адрес. 985 00:42:40,390 --> 00:42:41,301 OK, стои. 986 00:42:41,301 --> 00:42:41,800 Извинете. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Това е болезнено всяка година. 989 00:42:47,080 --> 00:42:48,640 OK, в един момент. 990 00:42:48,640 --> 00:42:50,530 Това е добре. 991 00:42:50,530 --> 00:42:54,010 Аз вместо да смяташ да правиш това. 992 00:42:54,010 --> 00:42:55,470 Print адрес. 993 00:42:55,470 --> 00:42:56,030 OK, стои. 994 00:42:56,030 --> 00:43:01,340 Печат на адреси, скоба аз. 995 00:43:01,340 --> 00:43:02,710 Да, това ми харесва. 996 00:43:02,710 --> 00:43:10,220 Dollar sign-- OK Аз ще обясня какво съм прави в един миг, след като съм стартирате тази. 997 00:43:10,220 --> 00:43:11,670 Всяка година. 998 00:43:11,670 --> 00:43:13,125 OK, започваме. 999 00:43:13,125 --> 00:43:15,750 Имам just-- и аз не искам да покаже телефонен номер на всеки, 1000 00:43:15,750 --> 00:43:17,740 но Мая може да потвърди с кимване на главата, 1001 00:43:17,740 --> 00:43:20,800 че тя вижда всеки е телефонен номер в класа 1002 00:43:20,800 --> 00:43:26,750 че аз отивам да копирате в една програма, наречена Gmail. 1003 00:43:26,750 --> 00:43:30,860 И ако в Gmail, какво искаме да кажем? 1004 00:43:30,860 --> 00:43:32,137 Липсваш ми. 1005 00:43:32,137 --> 00:43:33,220 Love-- това не е от мен. 1006 00:43:33,220 --> 00:43:35,230 Аз дори не са хит още изпратите. 1007 00:43:35,230 --> 00:43:39,450 Така че нека да вървим напред и да направим това, ако мога да я увеличите инча 1008 00:43:39,450 --> 00:43:40,300 ДОБРЕ. 1009 00:43:40,300 --> 00:43:42,480 Така че аз съм с помощта на програма, наречена Gmail сега. 1010 00:43:42,480 --> 00:43:44,490 Ако Мая, която искате да щракнете върху бутона Send, 1011 00:43:44,490 --> 00:43:46,970 ние ще се симулира това, което, че Код трябвало да направи. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Всичко? 1014 00:43:55,254 --> 00:43:56,062 >> [BEEPS] 1015 00:43:56,062 --> 00:43:56,870 >> АУДИТОРИЯ: Да. 1016 00:43:56,870 --> 00:43:58,030 >> SPEAKER 1: Да? 1017 00:43:58,030 --> 00:43:59,210 Спасението? 1018 00:43:59,210 --> 00:44:00,427 >> АУДИТОРИЯ: Да. 1019 00:44:00,427 --> 00:44:01,260 SPEAKER 1: Miss вас. 1020 00:44:01,260 --> 00:44:02,718 И аз отивам да изпрати останалите. 1021 00:44:02,718 --> 00:44:06,060 Изпратих половината, защото аз не мисля, Gmail ще позволи на тези, проверете. 1022 00:44:06,060 --> 00:44:12,410 Така че просто не забравяйте, днес е денят че сте научили, че мога да използвам Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Това беше ужасяващо. 1025 00:44:15,810 --> 00:44:17,140 Голяма ръкопляскания да Maya. 1026 00:44:17,140 --> 00:44:18,980 Благодаря. 1027 00:44:18,980 --> 00:44:21,280 Добре, така че. 1028 00:44:21,280 --> 00:44:22,210 какво 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 >> Имаме няколко звукови сигнала, нали? 1032 00:44:26,580 --> 00:44:27,080 Всичко е наред. 1033 00:44:27,080 --> 00:44:30,590 Сега аз отивам да получите 700 наистина нещастни имейли назад от съученици. 1034 00:44:30,590 --> 00:44:32,400 Така че най-малко ще видим ако това е струвало. 1035 00:44:32,400 --> 00:44:33,300 И така, какво се обърка? 1036 00:44:33,300 --> 00:44:35,300 Ще разбера какво се е случило грешна след факта, 1037 00:44:35,300 --> 00:44:38,340 но просто погледнете колко е лесно това е да се направи това в PHP. 1038 00:44:38,340 --> 00:44:44,598 И така, какво всъщност можем да направим сега, че ние имаме това изразителност на PHP. 1039 00:44:44,598 --> 00:44:45,970 Това was-- това беше ужасно. 1040 00:44:45,970 --> 00:44:46,480 Всичко е наред. 1041 00:44:46,480 --> 00:44:48,430 Така че това е това, което е трябвало да излезе. 1042 00:44:48,430 --> 00:44:52,770 Това ме тества тази сутрин на моя телефон, действителната снимка на моя телефон. 1043 00:44:52,770 --> 00:44:56,180 >> Но сега нека разгледаме защо ние всъщност въвеждане 1044 00:44:56,180 --> 00:44:57,840 всички тези неща на първо място. 1045 00:44:57,840 --> 00:45:01,625 Така че целта не е да се пиша тези програми, които 1046 00:45:01,625 --> 00:45:03,250 са написани в командния ред, нали? 1047 00:45:03,250 --> 00:45:05,000 Така че аз написах една проста Здравейте програма, аз написах 1048 00:45:05,000 --> 00:45:09,155 малко по програма, която прави условни, и се използва линия за четене и така нататък. 1049 00:45:09,155 --> 00:45:11,530 И на теория, аз просто написах програма, която изпрати 1050 00:45:11,530 --> 00:45:14,290 800 текстови съобщения, или да се даде 800. 1051 00:45:14,290 --> 00:45:16,830 И тази програма беше всичко Все още тече в командния ред. 1052 00:45:16,830 --> 00:45:18,538 И това, разбира се, не в интернет, нали? 1053 00:45:18,538 --> 00:45:22,160 Целта сега е да започнете да използвате това, което аз твърдя, е по-лесен за използване 1054 00:45:22,160 --> 00:45:24,720 език, смея по- мощен език от гледна точка 1055 00:45:24,720 --> 00:45:27,104 от функциите, които дойде с него, за да започне 1056 00:45:27,104 --> 00:45:29,850 пишете код, който генерира уеб страници. 1057 00:45:29,850 --> 00:45:33,248 >> Така че за последен път и миналата седмица, ние говорихме за HTTP и HTML. 1058 00:45:33,248 --> 00:45:36,350 И това, което е хубаво за HTML е, че това е просто чист текст. 1059 00:45:36,350 --> 00:45:38,220 И със сигурност е текст нещо, което можете, 1060 00:45:38,220 --> 00:45:42,040 отпечатате, като буквално се обадите на печат е функция, или функцията за печат. 1061 00:45:42,040 --> 00:45:46,160 И наистина, това е, което е PHP Сега ще ни позволи да направим. 1062 00:45:46,160 --> 00:45:48,610 Така сред примерите, има в днешния изходния код, 1063 00:45:48,610 --> 00:45:51,610 в допълнение към някои от кода че сложих там преди малко, 1064 00:45:51,610 --> 00:45:55,440 имаме програми като тази например. 1065 00:45:55,440 --> 00:45:58,760 Froshims или Първокурсник Интрамуралния Sports, е всъщност 1066 00:45:58,760 --> 00:46:01,500 една от първите extracurriculars Аз се включиха с преди години. 1067 00:46:01,500 --> 00:46:03,750 И съквартиранта ми и аз, с някои други деца на територията на колежа, 1068 00:46:03,750 --> 00:46:05,280 използва, за да стартирате програмата за froshims. 1069 00:46:05,280 --> 00:46:07,420 Аз съм се моите текстови съобщения сега. 1070 00:46:07,420 --> 00:46:14,030 >> Сега, за да сме, през деня, така че това Беше 1996 г., или така, нямаше интернет, 1071 00:46:14,030 --> 00:46:17,395 но не е имало process-- там е имало сайт за froshims. 1072 00:46:17,395 --> 00:46:20,270 И така, ако искате да се запишете за футбол или волейбол, или каквото и да, 1073 00:46:20,270 --> 00:46:22,240 бихте попълните това нещо нарича лист хартия, 1074 00:46:22,240 --> 00:46:25,060 и вие ще пресечете Harvard двор, и вие ще го плъзнете 1075 00:46:25,060 --> 00:46:29,230 в слота поща на Проктър, който беше в Уигълзуърт, едно от общежитията. 1076 00:46:29,230 --> 00:46:31,270 И това беше ти, регистриран. 1077 00:46:31,270 --> 00:46:33,570 И той или тя би тогава композира имейл до вас 1078 00:46:33,570 --> 00:46:36,514 ръчно, който много прилича I Току-що е тук с Maya, 1079 00:46:36,514 --> 00:46:38,930 и тогава ще бъде потвърдена както като са били регистрирани. 1080 00:46:38,930 --> 00:46:40,840 >> Така че това беше като ниска висящи плодове, така да се каже. 1081 00:46:40,840 --> 00:46:42,930 Това е вид на глупав, че сме използвали хартия за това. 1082 00:46:42,930 --> 00:46:45,024 Исках да можем просто да отида на интернет страница, 1083 00:46:45,024 --> 00:46:47,440 или имат първокурсниците отидат на уебсайт, абонирайте се за спорт, 1084 00:46:47,440 --> 00:46:50,398 и просто да се автоматизира много от тези неща чрез поставяне на техните имена и имейли 1085 00:46:50,398 --> 00:46:51,850 и така нататък в база данни. 1086 00:46:51,850 --> 00:46:56,510 И всъщност, най-първата версия на сайта си, използвайки супер грозно HTML, 1087 00:46:56,510 --> 00:46:58,195 би изглеждал нещо подобно. 1088 00:46:58,195 --> 00:47:01,070 Това е всъщност, по ирония на съдбата, по- неудобно търси от това обратно 1089 00:47:01,070 --> 00:47:01,460 след това. 1090 00:47:01,460 --> 00:47:02,890 Но аз бях един език за програмиране. 1091 00:47:02,890 --> 00:47:06,060 Не PHP, а по-скоро, наречена Perl, който е по-стар език, 1092 00:47:06,060 --> 00:47:07,251 но много сходни по дух. 1093 00:47:07,251 --> 00:47:09,000 И аз просто напълно научи за себе си. 1094 00:47:09,000 --> 00:47:12,208 И това ми отне известно време да го разбера, питам много въпроси от приятели. 1095 00:47:12,208 --> 00:47:14,080 Но идеите там са абсолютно еднакви. 1096 00:47:14,080 --> 00:47:18,050 Защото това, което е наистина предназначени PHP за да не се неща на команди 1097 00:47:18,050 --> 00:47:20,450 ние просто играе с, но за уеб програмиране. 1098 00:47:20,450 --> 00:47:24,960 >> Това е наистина изравни в своята функция настроен на мрежата, както следва. 1099 00:47:24,960 --> 00:47:26,370 Това е froshims. 1100 00:47:26,370 --> 00:47:28,720 И ако аз исках да се регистрират в тази форма, 1101 00:47:28,720 --> 00:47:30,930 това е доста грозно, със сигурност, но нека да продължа напред 1102 00:47:30,930 --> 00:47:34,440 и да бъде по-малко удобни студент, и каквото и спорта за Matthews, 1103 00:47:34,440 --> 00:47:35,630 кликнете Register. 1104 00:47:35,630 --> 00:47:39,780 Това, което искам да бъде в състояние да направите, е да представят информация от форма, 1105 00:47:39,780 --> 00:47:42,400 да не сървър на Google като направихме миналия път, напълно 1106 00:47:42,400 --> 00:47:47,100 измама чрез използване на техния гръб, I искат да приложат моя собствен гръб код. 1107 00:47:47,100 --> 00:47:51,410 Което означава, че пиша PHP код, който живее в URL 1108 00:47:51,410 --> 00:47:54,180 че данните за формуляри могат да се подават до. 1109 00:47:54,180 --> 00:47:57,510 >> И тогава си код, написана на PHP на сървъра, 1110 00:47:57,510 --> 00:47:59,400 след това може да се отговори, че приноса на потребителите. 1111 00:47:59,400 --> 00:48:03,287 Както името му, или ниво на комфорт, или в общежитието, а след това направи нещо с него. 1112 00:48:03,287 --> 00:48:05,120 В този случай, аз просто глупаво да го отпечата 1113 00:48:05,120 --> 00:48:06,750 като текст, който не е толкова хубава. 1114 00:48:06,750 --> 00:48:09,590 Но вие със сигурност може да представете си, ако знаете HTML, 1115 00:48:09,590 --> 00:48:13,010 и вие скоро ще знаем как да се генерират HTML с печат е и печат, 1116 00:48:13,010 --> 00:48:16,500 и други подобни функции, вие със сигурност може да генерира по-хубава уеб страница, която казва, 1117 00:48:16,500 --> 00:48:17,929 хей Дейвид, сега сте регистриран. 1118 00:48:17,929 --> 00:48:20,220 Ти си по-удобно студент от Matthews, нали? 1119 00:48:20,220 --> 00:48:23,880 >> Можете да използвате само един куп% ЕЕН, или фигурните скоби и знака за долар 1120 00:48:23,880 --> 00:48:27,750 нотация аз използвах преди малко, за да генериране на текст, който е по-удобен за потребителя 1121 00:48:27,750 --> 00:48:28,567 от това. 1122 00:48:28,567 --> 00:48:30,150 Така че нека да погледнем на този файл. 1123 00:48:30,150 --> 00:48:34,666 Froshim нулева точка PHP изглежда по този начин. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Когато се презареди CS50 IDE, froshim нула изглежда по този начин. 1126 00:48:43,500 --> 00:48:45,700 Това е froshim нулева точка PHP. 1127 00:48:45,700 --> 00:48:47,730 И какво ще забележите в този файл? 1128 00:48:47,730 --> 00:48:49,506 >> АУДИТОРИЯ: [недоловим] 1129 00:48:49,506 --> 00:48:50,922 SPEAKER 1: Съжалявам, малко по-високо? 1130 00:48:50,922 --> 00:48:53,250 АУДИТОРИЯ: [недоловим] Всичко е в HTML. 1131 00:48:53,250 --> 00:48:57,130 И в действителност, това е, защото това, което е интересно за PHP 1132 00:48:57,130 --> 00:48:58,880 е, че тя е проектирана да бъде, по-добре 1133 00:48:58,880 --> 00:49:02,110 или за лошо, размесени с HTML код. 1134 00:49:02,110 --> 00:49:05,850 И в действителност, въпреки че този файл, froshim нулева точка PHP, 1135 00:49:05,850 --> 00:49:11,470 има коментар PHP в горната от него, всичко е просто HTML. 1136 00:49:11,470 --> 00:49:17,655 Но от друга страна, ако аз се отворят, нека да речем, абонирайте нулева точка PHP, които 1137 00:49:17,655 --> 00:49:19,550 Просто има голям коментар на върха. 1138 00:49:19,550 --> 00:49:26,500 Това също изглежда почти изцяло като HTML, с изключение на това, което? 1139 00:49:26,500 --> 00:49:29,350 Line, какво, 21 изглежда малко странно. 1140 00:49:29,350 --> 00:49:32,739 >> Но забележете аз съм вписване PHP режим с отворена скоба въпросителен знак PHP. 1141 00:49:32,739 --> 00:49:33,780 Тогава аз имам някои неща. 1142 00:49:33,780 --> 00:49:36,724 И след това в края на тази линия почти имам, въпросителен знак PHP. 1143 00:49:36,724 --> 00:49:38,390 И това е, което искам да кажа от смесени с. 1144 00:49:38,390 --> 00:49:41,910 Можете да пишете HTML, че просто желаете сървърът да изплюе. 1145 00:49:41,910 --> 00:49:45,090 Но ако искате да направите нещо динамично по средата на страницата, 1146 00:49:45,090 --> 00:49:47,699 като въведете името ми или общежитието или ниво на комфорт, 1147 00:49:47,699 --> 00:49:49,490 Мога да използвам функция като печат R, който е 1148 00:49:49,490 --> 00:49:52,492 отпечатате рекурсивно, което просто означава, разпечатате тази променлива, то форматирането 1149 00:49:52,492 --> 00:49:53,200 обаче искате. 1150 00:49:53,200 --> 00:49:55,880 Това наистина не е за хуманни цели, това е просто 1151 00:49:55,880 --> 00:49:58,290 за отстраняване на грешки или диагностични цели. 1152 00:49:58,290 --> 00:49:59,460 Ето как го направих. 1153 00:49:59,460 --> 00:50:06,100 >> Ако вместо това отидете froshims две точки PHP, забележите, че действието на тази форма 1154 00:50:06,100 --> 00:50:09,680 не е регистрирана нулева точка PHP като old-- предишната всъщност беше. 1155 00:50:09,680 --> 00:50:11,222 Но това е регистрирано две точки PHP. 1156 00:50:11,222 --> 00:50:13,680 Така че нека да разгледаме как точно това се държи малко по-различно. 1157 00:50:13,680 --> 00:50:15,140 Ако аз отида в версия две. 1158 00:50:15,140 --> 00:50:20,430 Ако тук, ако се регистрирате като Дейвид, по-малко удобно, от общежитието на Матюс, 1159 00:50:20,430 --> 00:50:21,480 Регистрирай се. 1160 00:50:21,480 --> 00:50:23,770 Така че този път той каза, вие са регистрирани, не съвсем. 1161 00:50:23,770 --> 00:50:25,370 Нека да видим това, което направих тук. 1162 00:50:25,370 --> 00:50:29,760 Ако аз гледам на регистър две точки PHP, това има още малко PHP код. 1163 00:50:29,760 --> 00:50:35,410 Това е малко по-чист, въпреки че Все още увива малко дълго по тази линия. 1164 00:50:35,410 --> 00:50:36,260 Забележете тук. 1165 00:50:36,260 --> 00:50:40,300 I разпечатате моя HTML тагове, главата ми маркер, моето заглавие тагове, главата, тялото. 1166 00:50:40,300 --> 00:50:45,410 >> И тогава аз започвам да се каже, неща, като въведете PHP режим. 1167 00:50:45,410 --> 00:50:48,540 И така, този етикет, отворена скоба PHP-- въпросителен знак PHP казва, 1168 00:50:48,540 --> 00:50:53,460 хей, сървър, execute-- интерпретира следната неща като PHP 1169 00:50:53,460 --> 00:50:55,030 докато не видите крайния маркер. 1170 00:50:55,030 --> 00:50:58,590 И въпреки, че може би не знаете всеки друга PHP, отколкото сте виждали до този момент, 1171 00:50:58,590 --> 00:51:01,290 можете да прочетете вид то доста интуитивно. 1172 00:51:01,290 --> 00:51:10,670 Ако името е празна, или комфорт е празна, или в общежитието е празна, какво да правя? 1173 00:51:10,670 --> 00:51:12,830 Какво да кажем за потребителя? 1174 00:51:12,830 --> 00:51:15,330 Трябва да предоставите вашето име, комфорт и общежитието, и така нататък. 1175 00:51:15,330 --> 00:51:17,750 Else, казвам ти регистрирано, както не съвсем. 1176 00:51:17,750 --> 00:51:19,190 >> И аз не кажа наистина защото няма база данни. 1177 00:51:19,190 --> 00:51:20,200 Аз не правя нищо с данните. 1178 00:51:20,200 --> 00:51:22,408 Аз съм просто го захвърли за демонстрационни цели. 1179 00:51:22,408 --> 00:51:24,320 Сега вид skimped над линия 22. 1180 00:51:24,320 --> 00:51:26,400 Има и още синтаксис там, но знака за долар 1181 00:51:26,400 --> 00:51:28,320 подчертават пост е нещо интересно. 1182 00:51:28,320 --> 00:51:30,300 И това е, което е хубаво за PHP. 1183 00:51:30,300 --> 00:51:35,610 В PHP, имате, което се нарича няколко супер глобални променливи. 1184 00:51:35,610 --> 00:51:38,430 Те са нещо като още по- важно от глобални променливи. 1185 00:51:38,430 --> 00:51:41,370 И ето, всички капитализирана като такива, ела с PHP. 1186 00:51:41,370 --> 00:51:44,550 Така че, ако имате сървър, който има инсталиран уеб сървър, като Apache, 1187 00:51:44,550 --> 00:51:49,390 и инсталиране на езика подкрепа за PHP, всички изведнъж ви 1188 00:51:49,390 --> 00:51:52,250 да започнете да използвате тези супер глобални променливи в кода си. 1189 00:51:52,250 --> 00:51:54,330 >> И това, което е хубаво за PHP е, че ако просто 1190 00:51:54,330 --> 00:51:57,540 напиши файл, който завършва в точка PHP, го постави на уеб сървър, 1191 00:51:57,540 --> 00:52:01,260 и тогава да подадат формуляр за да го чрез това действие маркер и форма маркер, 1192 00:52:01,260 --> 00:52:05,110 че действията на атрибут в форма таг, PHP и интернет 1193 00:52:05,110 --> 00:52:09,360 напълно разбира, как да вземете всички тези двойки ключови стойности от 1194 00:52:09,360 --> 00:52:11,633 на URL адреса като въпрос марка р е равно на котки, 1195 00:52:11,633 --> 00:52:14,782 тя ще разбера как да се р и котки. 1196 00:52:14,782 --> 00:52:17,710 Ако изпратите снимка или потребителско име, или парола, за да харесва Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP ще разбера за вас където всички тези данни са. 1198 00:52:21,360 --> 00:52:23,821 И тя просто ще предаде можете асоциативен масив 1199 00:52:23,821 --> 00:52:27,560 наречен знак за долар долна пост, или знак за долар подчертая получите, 1200 00:52:27,560 --> 00:52:30,590 в зависимост от това, дали сте използване на получаване или публикувайте изявления. 1201 00:52:30,590 --> 00:52:32,950 И това само ще ви предадат супер глобална променлива, 1202 00:52:32,950 --> 00:52:37,254 така че, ако искате да получите най името че потребителят подава чрез които интернет 1203 00:52:37,254 --> 00:52:41,894 формуляр, Вие буквално само да кажа името на супер глобалната променлива, цитирам, 1204 00:52:41,894 --> 00:52:43,380 край на цитата, име. 1205 00:52:43,380 --> 00:52:46,144 И цитирам, край на цитата комфорт, и цитирам, край на цитата общежитието. 1206 00:52:46,144 --> 00:52:48,810 И ние отиваме, за да може да се направи това и много повече с PHP. 1207 00:52:48,810 --> 00:52:50,540 И въпреки, че това е вихрушка поглед към него, 1208 00:52:50,540 --> 00:52:51,980 ние ще се потопите в много по-следващата седмица. 1209 00:52:51,980 --> 00:52:54,247 Ние ще представим на база данни така, че вие ​​сте в действителност 1210 00:52:54,247 --> 00:52:56,816 ще започне да прилага собствената си електронна търговия based-- 1211 00:52:56,816 --> 00:52:59,150 като сайт във времето само една седмица. 1212 00:52:59,150 --> 00:53:02,750 Така че ние ще се видим следващия път, и Надявам се да имам текстовите съобщения. 1213 00:53:02,750 --> 00:53:05,450 Чао. 1214 00:53:05,450 --> 00:53:06,950 >> [За възпроизвеждане на музика] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [ОТВАРЯНЕ НА ВРАТАТА] 1217 00:53:12,950 --> 00:53:14,475 >> SPEAKER 2: Хей. 1218 00:53:14,475 --> 00:53:15,350 SPEAKER 3: Какво става? 1219 00:53:15,350 --> 00:53:17,750 SPEAKER 2: Какво правиш? 1220 00:53:17,750 --> 00:53:19,850 SPEAKER 3: Работа върху един проблем набор. 1221 00:53:19,850 --> 00:53:21,050 SPEAKER 2: Nice. 1222 00:53:21,050 --> 00:53:22,550 Дай пет. 1223 00:53:22,550 --> 00:53:23,150 >> [ДАЙ ПЕТ] 1224 00:53:23,150 --> 00:53:25,584 >> Какво are-- ъ-ъ, какво правиш тук? 1225 00:53:25,584 --> 00:53:26,750 SPEAKER 3: Просто да излиза. 1226 00:53:26,750 --> 00:53:28,134 Просто се върнах от фитнеса. 1227 00:53:28,134 --> 00:53:30,050 Не можех да помогна, но забележите, когато сме на високо fived, 1228 00:53:30,050 --> 00:53:32,450 че имате доста груби ръце. 1229 00:53:32,450 --> 00:53:33,950 Смятате ли да отидете на фитнес? 1230 00:53:33,950 --> 00:53:35,150 >> SPEAKER 2: No. 1231 00:53:35,150 --> 00:53:36,650 Не. 1232 00:53:36,650 --> 00:53:38,450 >> SPEAKER 3: Пич, ти изглежда доста голям. 1233 00:53:38,450 --> 00:53:45,950 Кое е по-лошо, защото всеки знае, 8-топка е едрият мъж на територията на колежа. 1234 00:53:45,950 --> 00:53:48,050 Дай пет. 1235 00:53:48,050 --> 00:53:49,550 >> SPEAKER 2: Uh, не. 1236 00:53:49,550 --> 00:53:50,450 Не, мисля, че съм добър. 1237 00:53:50,450 --> 00:53:52,300 Мисля, че съм добър. 1238 00:53:52,300 --> 00:53:54,097