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 >> СПІКЕР 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-поставляється з і майже всі з властивостей, які УС поставляється з, 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 >> Тому що сьогодні ми починаємо дивитися на іншу мову програмування РНР. 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 Ви робите це майже ідентично С. Але Тобто ясно одне розходження тут 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 >> СПІКЕР 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 >> СПІКЕР 1: Так, ні типу даних. 38 00:01:44,403 --> 00:01:48,410 Так що виходить, що PHP є те, що ми викликати слабо типізований мова, де 39 00:01:48,410 --> 00:01:49,959 З сильно типізованих. 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 Логічні вирази може бути операція AND разом. 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 Але структурно це збігається з З 66 00:02:43,400 --> 00:02:47,520 >> Ось у той час як цикл, псевдокод therefore-- ідентичні З 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 INT я дорівнює 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 може щось зробити дуже схоже на С. Синтаксис трохи відрізняється. 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 >> СПІКЕР 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 Тепер ви в буквальному сенсі зробити цитувати Unquote символ 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-- так багато більше, ніж прийшов з С. 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 Відкрити кронштейн, знак питання, 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 Я збираюся йти вперед і робити відбиток Def, привіт світ, обернена коса риска н, зберегти. 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 >> СПІКЕР 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 І якщо я вдарив Enter, там у нас є це. 197 00:08:57,000 --> 00:08:57,825 Привіт Світ. 198 00:08:57,825 --> 00:08:59,950 Тепер з'ясовується, що я б друку Def навмисно 199 00:08:59,950 --> 00:09:01,600 щоб подолати нас від С до PHP. 200 00:09:01,600 --> 00:09:05,150 Більшість PHP програмістів, як ви побачите, навіть не потрудилися за допомогою друку розморожування. 201 00:09:05,150 --> 00:09:08,290 Вони просто використовувати функцію під назвою друк, яка не має С. 202 00:09:08,290 --> 00:09:11,390 І тому, якщо я повторно це зараз, це насправді поводиться функціонально те ж саме. 203 00:09:11,390 --> 00:09:13,730 Я не можу використовувати процентне S і відсоток 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 точка С. А що 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 N отримує отримати 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 Інакше, якщо N дорівнює дорівнює нулю, я йти вперед і сказати, друку Def, 234 00:10:49,990 --> 00:10:54,090 Ви обрали нульовий зворотної косої п. 235 00:10:54,090 --> 00:10:56,830 В іншому випадку, в даному випадку слід Звичайно буде, друк чіткості, 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, Enter, 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 >> Гаразд, так що це досить захват, вірно? 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 файл у світі називається Speller. 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 це спробувати підірвати ваш проти за допомогою повторної реалізації 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 Хеш-таблиця або спробувати, може бути, деякі варіанти. 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 СПІКЕР 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 З нуля, одного, на до п мінус 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 >> Іншими словами, це, як я вставити в моїй хеш-таблиці в 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 Індекс в ваш Асоціативний масив, також відоме, як 401 00:17:59,080 --> 00:18:02,910 Хеш-таблиці, подивитися, якщо є значення там, якщо він встановлений в істинний, і якщо так, 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 з С. Супер низькому рівні. 416 00:18:34,280 --> 00:18:35,980 Ви можете побачити пам'яті комп'ютера. 417 00:18:35,980 --> 00:18:38,440 Ви можете нічого не чіпати тебе хочу в оперативній пам'яті комп'ютера, 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 Ваш може бути набагато повільніше, і це абсолютно нормально. 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 >> АУДИТОРІЯ: Швидкість. 450 00:19:52,937 --> 00:19:53,645 СПІКЕР 1: Швидкість. 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 >> СПІКЕР 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 Я збираюся пройти в той же Файл, король Джеймс п'ятий. 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 СПІКЕР 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 СПІКЕР 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, 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 СПІКЕР 1: Звичайно. 525 00:22:40,960 --> 00:22:42,876 Чи можу я уточнити, що це значить бути інтерпретовані? 526 00:22:42,876 --> 00:22:45,870 Коли ви збираєте мову як С, вона йде вниз 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 плюс щось, це великий виведення багато текстових повідомлень або н квадрат, 578 00:25:25,910 --> 00:25:29,830 або на $ 0,10 текстове повідомлення, $ 20000. 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 У першій колонці ТФ або ім'я СА. 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 І якщо я не обмовився раніше, 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 Алекс кажуть тут. 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 Так що, якщо я хочу, щоб відправити Текст повідомлення Алекс, 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 захопити кожен з телефонних номерів співробітників, в і їх носій і програмно, 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 І удачі робити, що в С Це кошмар ситуації 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 викликає функцію під назвою F відкритий. 671 00:29:44,790 --> 00:29:46,280 І пам'ятайте, що це відкриває файл. 672 00:29:46,280 --> 00:29:48,800 І цитата, кінець цитати, г означає, що, знову? 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 Таким чином, якщо ручка є хибним, так само, як в С, я збираюся зробити щось подібне, 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 Я виходжу. 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, і Рубі, і 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 Це дійсно тільки починає Незалежно від вашого вибору мови 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 називається F отримати CSV. 712 00:31:20,120 --> 00:31:24,570 Файл 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 Тому що пам'ятаю, і не перевершують співпрацювати в останній раз ми робили це, 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-- О, я не оновлювати 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 це Еббі, Знак долара ряд одна Лайонс, 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 Ряд три, один над. 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 Долари, увійдіть на адресу ліва, просто змінна. 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 Ми могли б використовувати для друку F, S або друк е або щось на зразок цього, 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 >> СПІКЕР 1: опечатка на ще 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 Я закриваю файл, просто як в р встановити чотири. 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 з адрес документації в коді, що ми будемо створювати пізніше. 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 ми говорили коротко, коли ми були в Єльському університеті про те, Simple Mail 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 Порт, це число 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 >> Я доклав від адреси щоб бути Bot на 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 Цей вид виглядає як С. Таким чином, для I дорівнює 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 >> Знак долара пошта, якщо ви хочете, метою яких він також має функції всередині нього, 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 Нагорі, я збираюся 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 >> ОК, так що тепер я збираюся йти в каталог і 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 ОК, давай до. 926 00:40:28,410 --> 00:40:29,162 Як вас звати? 927 00:40:29,162 --> 00:40:29,662 МАЙЯ Майя. 928 00:40:29,662 --> 00:40:30,328 СПІКЕР 1: Майя. 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 СПІКЕР 1: Все, що Вам потрібно зробити, це Натисніть Enter, щоб відправити 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 >> СПІКЕР 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 >> СПІКЕР 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 Тільки майя і я-- Міа, це було? 971 00:42:07,802 --> 00:42:08,301 МАЙЯ Майя. 972 00:42:08,301 --> 00:42:12,110 СПІКЕР 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 ОК, стояти. 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 ОК, один момент. 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 Надрукувати адресу. 993 00:42:55,470 --> 00:42:56,030 ОК, стояти. 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 Долар sign-- ОК я поясню, що я робить в даний час, після того як я запускаю це. 997 00:43:10,220 --> 00:43:11,670 Щороку. 998 00:43:11,670 --> 00:43:13,125 ОК, тут ми йдемо. 999 00:43:13,125 --> 00:43:15,750 У мене є просто-- і я не хочу, показати номер телефону кожного, 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 Якщо Майя, ви хотіли б натисніть кнопку Надіслати, 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 >> СПІКЕР 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 СПІКЕР 1: Міс ви. 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 Великий оплески майя. 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 друкувати буквально виклику друк Функція F, або функція друку. 1061 00:45:42,040 --> 00:45:46,160 І справді, це те, що РНР тепер збирається, щоб дозволити нам робити. 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 або Першокурсник Внутрішні спорту, був насправді 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 і ви б ходити по Гарварді двір, і ви слайд б це 1075 00:46:25,060 --> 00:46:29,230 в поштову слот супроводжуючий, який був у Wigglesworth, один з гуртожитку. 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 вручну, так само, як я тільки що зробив тут з майя, 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 обман за допомогою їх бекенда, я хочу, щоб реалізувати свій власний код бекенда. 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 >> І тоді ваш код, написано в РНР на сервері, 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 з печаткою F, і друк, 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 Ти менш комфортно Студент з Метьюз, вірно? 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 СПІКЕР 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 Лінія, на що, 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 Я можу використовувати функцію як друк г, який є 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 Я роздрукувати мій 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 В іншому випадку, я кажу, що ви зареєстровано, ну не насправді. 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 Тепер я начебто поскупилися по лінії 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, як питання Знак Q дорівнює кішок, 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 в залежності від того, ви за допомогою GET або відправляти уявлення. 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 >> СПІКЕР 2: Привіт. 1218 00:53:14,475 --> 00:53:15,350 СПІКЕР 3: Що сталося? 1219 00:53:15,350 --> 00:53:17,750 СПІКЕР 2: Що ви робите? 1220 00:53:17,750 --> 00:53:19,850 СПІКЕР 3: Робота по набору проблем. 1221 00:53:19,850 --> 00:53:21,050 СПІКЕР 2: Ніцца. 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 СПІКЕР 3: Просто бовтатися. 1226 00:53:26,750 --> 00:53:28,134 Щойно повернувся з спортзалу. 1227 00:53:28,134 --> 00:53:30,050 Я не міг допомогти, але помітив, коли ми високого програвав, 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 >> СПІКЕР 2: Ні 1231 00:53:35,150 --> 00:53:36,650 Немає. 1232 00:53:36,650 --> 00:53:38,450 >> СПІКЕР 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 >> СПІКЕР 2: Е-е, немає. 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