1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Тыдзень 8] 2 00:00:02,000 --> 00:00:04,000 [David J малая] [Harvard University] 3 00:00:04,000 --> 00:00:07,000 [Гэта CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Сардэчна запрашаем назад. 5 00:00:09,000 --> 00:00:11,000 Гэта CS50, і гэта з'яўляецца пачаткам 8-й тыдні. 6 00:00:11,000 --> 00:00:14,000 Пару магчымасці на гэтым тыдні, 7 00:00:14,000 --> 00:00:17,000 сярод іх гэты размова тут, у якую ежу будуць абслугоўвацца. 8 00:00:17,000 --> 00:00:20,000 Для атрымання дадатковай інфармацыі праверыць слайды, якія знаходзяцца ў сеткі. 9 00:00:20,000 --> 00:00:24,000 А таксама яшчэ адна падзея гэтага тыдня нашы ўласныя Томас Carriero. 10 00:00:24,000 --> 00:00:27,000 Ён адзін з былы кіраўнік CS50 ў навучанні дзяцей, якія цяпер знаходзіцца на Dropbox, 11 00:00:27,000 --> 00:00:29,000 Ён хлопец, які злучыў нас з вамі ведаем, што, 12 00:00:29,000 --> 00:00:36,000 так што калі вы хочаце больш, што галава іх размова гэтым днём для Dropbox і многае іншае. 13 00:00:36,000 --> 00:00:38,000 CS50 абед у гэтую пятніцу. 14 00:00:38,000 --> 00:00:41,000 У далучыцца да нас, калі вы зможаце, 1:15, як звычайна, Агонь і лёд. 15 00:00:41,000 --> 00:00:45,000 >> І зараз мы пагрузіцца ў тое, што называецца семінары. 16 00:00:45,000 --> 00:00:49,000 Нашы CS50 семінары, нагадаем, гэтыя факультатыўныя заняткі на чале з вучэннем стыпендыятаў 17 00:00:49,000 --> 00:00:51,000 і вядома памочнікі і сябры, вядома, 18 00:00:51,000 --> 00:00:55,000 Людзі з групы ў кампусе называюць ABCD, якая ўяўляе сабой групу 19 00:00:55,000 --> 00:00:58,000 технофилы на тэрыторыі кампуса, а таксама група пад назвай ЖКГ, 20 00:00:58,000 --> 00:01:02,000 Грамадства Гарвардскага кампутар, студэнтаў, якія аналагічным зацікаўлены ў вылічэннях. 21 00:01:02,000 --> 00:01:08,000 Рэестр ў гэтым годзе семінараў ўключае ў сябе семінары па Android і IOS і JavaScript 22 00:01:08,000 --> 00:01:13,000 і PHP, Unix, Vim, і больш, так разумею, што гэтыя семінары ідуць уверх. 23 00:01:13,000 --> 00:01:16,000 Калі вы хочаце, каб RSVP для любога з іх адправіцца ў URL, што там. 24 00:01:16,000 --> 00:01:20,000 Мы будзем затым размясціць на вэб-сайце курсу часы і месцы, як толькі яны будуць завершаны. 25 00:01:20,000 --> 00:01:26,000 Але ведаю, ці варта ёсць 5 годзе да семінары даступныя ў Інтэрнэце, 26 00:01:26,000 --> 00:01:29,000 многія з якіх усё яшчэ вельмі шмат бягучай пункту гледжання тэхналогіі вы маглі б 27 00:01:29,000 --> 00:01:36,000 хачу гуляць з для канчатковага праекта, так што галава там на працягу некаторага даступныя відэа іх. 28 00:01:36,000 --> 00:01:39,000 >> CSS, тыя з вас, хто знаёмы з CSS ўжо, 29 00:01:39,000 --> 00:01:42,000 што гэта такое ў двух словах? 30 00:01:42,000 --> 00:01:45,000 Што такое CSS? 31 00:01:45,000 --> 00:01:48,000 Гэта каскадныя табліцы стыляў, і што гэта значыць? 32 00:01:48,000 --> 00:01:53,000 Што гэта зробіць для нас, CSS? 33 00:01:53,000 --> 00:01:57,000 Добра, давайце сагрэцца прасцей адзін, HTML, мова разметкі гіпертэксту. 34 00:01:57,000 --> 00:02:01,000 Што гэта для нас зрабіць? 35 00:02:01,000 --> 00:02:04,000 Любы наогул? 36 00:02:04,000 --> 00:02:07,000 Гэта становіцца вельмі нязручна задаваць гэтыя пытанні. 37 00:02:07,000 --> 00:02:11,000 HTML, мова разметкі гіпертэксту. 38 00:02:11,000 --> 00:02:14,000 Да? Няма? 39 00:02:14,000 --> 00:02:17,000 [Неразборліва адказ студэнта] 40 00:02:17,000 --> 00:02:20,000 Добра, добра, гэта дазваляе пазначаць тэкст для адлюстравання ў вэб-браўзэры. 41 00:02:20,000 --> 00:02:22,000 Гэта не мова праграмавання. 42 00:02:22,000 --> 00:02:25,000 Гэта сапраўды мова разметкі, які азначае, што яна загадвае браўзэру, як адлюстроўваць 43 00:02:25,000 --> 00:02:28,000 Інфармацыя, такім чынам, найпростыя ўвасабленне гэтага, як мы бачылі 44 00:02:28,000 --> 00:02:32,000 гэта тое, супер проста, як boldfacing, якая адкрывае дужкі б замкнёны кранштэйны кажа 45 00:02:32,000 --> 00:02:36,000 зрабіць гэты тэкст тоўстым, і гэта на самай справе толькі адзін з многіх спосабаў 46 00:02:36,000 --> 00:02:39,000 , У якім мы можам зрабіць гэта, і сапраўды, у гэтыя дні лепш падыход 47 00:02:39,000 --> 00:02:42,000 для стылізацыі вашых вэб-старонак, робячы рэчы, тоўстым шрыфтам і курсівам 48 00:02:42,000 --> 00:02:47,000 і па цэнтру і абгрунтаваным і да таго падобнае, не зроблена з дапамогай HTML-тэгаў толькі 49 00:02:47,000 --> 00:02:51,000 а з тэхнікай называюць CSS, каскадныя табліцы стыляў. 50 00:02:51,000 --> 00:02:53,000 Гэта мова сам па сабе. 51 00:02:53,000 --> 00:02:55,000 Гэта таксама не з'яўляецца мовай праграмавання, але- 52 00:02:55,000 --> 00:02:58,000 ўсім, гэта Дэн, які трымае далучыліся да нас сёння. 53 00:02:58,000 --> 00:03:01,000 Некаторыя тэхнічныя цяжкасці. Не праблема. 54 00:03:01,000 --> 00:03:04,000 >> CSS дазваляе стылізаваць старонку 55 00:03:04,000 --> 00:03:07,000 , Усталяваўшы, што называецца ўласцівасцямі, так што давайце паглядзім на гэтую 56 00:03:07,000 --> 00:03:09,000 шляхам некаторыя асноўныя прыклады. 57 00:03:09,000 --> 00:03:12,000 Адпусціце мяне ў прыбор сёння. 58 00:03:12,000 --> 00:03:15,000 У мяне ёсць крыніца 8 панядзелак каталог тут, 59 00:03:15,000 --> 00:03:18,000 і я збіраюся ісці ў каталог CSS, дзе мы маем цэлы букет 60 00:03:18,000 --> 00:03:21,000 файлаў чакае нас прама тут, 61 00:03:21,000 --> 00:03:27,000 і ў гэтай папцы ў нас ёсць, напрыклад, search0.html ў мінулы раз. 62 00:03:27,000 --> 00:03:31,000 Цяпер успамінаю з search0 мы выйшлі на гэтую нататку 63 00:03:31,000 --> 00:03:35,000 ад роду ажыццяўленні Google або сапраўды толькі пярэдні канец для яго тыдзень таму, 64 00:03:35,000 --> 00:03:38,000 і заўважыў, што ў нас было некалькі новых тэгаў няма. 65 00:03:38,000 --> 00:03:41,000 У нас быў h1 для вялікай, тоўсты загаловак, 66 00:03:41,000 --> 00:03:45,000 формы, якія дазволілі нам на самой справе ёсць HTML форма для ўводу дадзеных карыстачом. 67 00:03:45,000 --> 00:03:48,000 Дзеянні, які быў сэнс дзеянняў атрыбутам 68 00:03:48,000 --> 00:03:52,000 на HTML тэга формы? 69 00:03:52,000 --> 00:03:58,000 У чым быў сэнс гэтага дзеяння? 70 00:03:58,000 --> 00:04:00,000 Я проста зраблю гэта сёння. 71 00:04:00,000 --> 00:04:03,000 Дзеянне з'яўляецца месцам, дзе форма будзе прадстаўлена. 72 00:04:03,000 --> 00:04:07,000 Справа ў тым, што кажа, дзеянне = "google.com / пошук" 73 00:04:07,000 --> 00:04:10,000 азначае, што калі карыстач націсне кнопку або эквівалент 74 00:04:10,000 --> 00:04:14,000 ўсе палі формы запоўненыя яны будуць адпраўленыя не на нашым серверы 75 00:04:14,000 --> 00:04:17,000 або наш прыбор, а да гэтага канкрэтнага URL у Google. 76 00:04:17,000 --> 00:04:19,000 І метад, які ён збіраецца выкарыстоўваць называюць атрымаць, 77 00:04:19,000 --> 00:04:25,000 і атрымаць, на дадзены момант, гэта проста тэхніка для перадачы інфармацыі па вэб-серверу 78 00:04:25,000 --> 00:04:29,000 шляхам URL, так што давайце кінем хуткі погляд назад, як гэта працуе. 79 00:04:29,000 --> 00:04:31,000 >> Звярніце ўвагу, што ёсць уваход, чыё імя д 80 00:04:31,000 --> 00:04:35,000 , Тып якога з'яўляецца тэкст, а затым другі ўваход тыпу ўяўляюць 81 00:04:35,000 --> 00:04:39,000 , Значэнне якога CS50 пошук, і сапраўды, калі мы адкрыем гэты файл тут, 82 00:04:39,000 --> 00:04:42,000 search0.html, гэта супер простай форме, 83 00:04:42,000 --> 00:04:45,000 і калі я шукаю нешта накшталт кампутарнай навукі 84 00:04:45,000 --> 00:04:50,000 а затым націсніце ўвод або націсніце на CS50 пошук 85 00:04:50,000 --> 00:04:53,000 заўважыць, што тое, што адбываецца за межамі дабрацца да Google 86 00:04:53,000 --> 00:04:56,000 Я адмыслова скончылі ў гэтым URL у верхняй частцы, 87 00:04:56,000 --> 00:05:01,000 google.com / пошук? Q = кампутар + навука, 88 00:05:01,000 --> 00:05:04,000 і інфарматыцы, відавочна, што я набраў цалі 89 00:05:04,000 --> 00:05:06,000 + Проста азначае, што там прабел быў, 90 00:05:06,000 --> 00:05:10,000 і гэта зроблена ў браўзэры, проста каб пераканацца, што няма ніякіх 91 00:05:10,000 --> 00:05:13,000 блытаніна і прабелы ў фактычных URL. 92 00:05:13,000 --> 00:05:15,000 І тады д, вядома, імя параметру. 93 00:05:15,000 --> 00:05:20,000 Мы не бачылі, як мы, праграміст, можа на самай справе доступ Q пакуль няма. 94 00:05:20,000 --> 00:05:23,000 Можна выказаць здагадку, што Google ведае, што рабіць з гэтым тут, 95 00:05:23,000 --> 00:05:25,000 але мы вернемся туды ў свой час сёння. 96 00:05:25,000 --> 00:05:30,000 >> Але дазвольце мне зірнуць, а не на search1.html, 97 00:05:30,000 --> 00:05:34,000 , Якая выглядае крыху па-іншаму, таму што я вырашыў, што гэтая форма тут было трохі кульгае. 98 00:05:34,000 --> 00:05:36,000 Я маю на ўвазе, гэта ў левым верхнім куце. 99 00:05:36,000 --> 00:05:40,000 Там на самай справе ніякай эстэтыкі, і таму я хачу, каб стылізаваць гэтую 100 00:05:40,000 --> 00:05:43,000 трохі больш, як Google, чыя хатняя старонка, нагадаем, 101 00:05:43,000 --> 00:05:47,000 Нават калі вы не можаце наведаць яго, што часта, падобна, пра гэта сёння на Хэлоўін. 102 00:05:47,000 --> 00:05:53,000 Калі мы замест гэтага адчыняюць версіі 1 гэтага файла, пошук 1.html, я яго цэнтру. 103 00:05:53,000 --> 00:05:57,000 Тым не менш даволі выродлівыя, але па крайняй меры цяпер я пачаў кантраляваць эстэтыку гэтай старонцы, 104 00:05:57,000 --> 00:06:00,000 не толькі разметка іх. 105 00:06:00,000 --> 00:06:04,000 Давайце зірнем на пошук 1, і там сапраўды толькі адно адрозненне тут, 106 00:06:04,000 --> 00:06:06,000 , Якія могуць выскачыць на цябе, а можа і няма, 107 00:06:06,000 --> 00:06:11,000 але тое, што адна радок або ўрывак розніца? 108 00:06:11,000 --> 00:06:14,000 >> Там у гэты атрыбут стылю, так што атрымліваецца, што ў HTML 109 00:06:14,000 --> 00:06:19,000 большасць элементаў, большасць тэгаў можа мець атрыбут стылю на іх, 110 00:06:19,000 --> 00:06:23,000 і ўнутры гэтага стылю атрыбуту ў двукоссях, 111 00:06:23,000 --> 00:06:26,000 і што радок у двукоссях з'яўляецца CSS. 112 00:06:26,000 --> 00:06:29,000 Вы можаце паставіць каскадных табліц стыляў там 113 00:06:29,000 --> 00:06:32,000 , Паказаўшы яго ў якасці імя ўласцівасці 114 00:06:32,000 --> 00:06:34,000 двукроп'я варта значэнне. 115 00:06:34,000 --> 00:06:37,000 Гэта свайго роду няшчасных дызайнерскае рашэнне некалькі гадоў назад 116 00:06:37,000 --> 00:06:40,000 , Што CSS гэта мова сам па сабе, 117 00:06:40,000 --> 00:06:43,000 але сінтаксічна гэта вельмі адрозніваецца ад HTML. 118 00:06:43,000 --> 00:06:46,000 У гэтым выпадку, мы бачым, што ўнутры майго вэб-старонкі, якія напісаны на HTML, 119 00:06:46,000 --> 00:06:51,000 У мяне ёсць CSS ўнутры гэтых двукоссяў, і Канвенцыі аб CSS 120 00:06:51,000 --> 00:06:55,000 з'яўляецца тое, што ў вас ёсць тое, што называецца ўласцівасць варта, зноў жа, тоўстай кішкі, 121 00:06:55,000 --> 00:06:58,000 пасля чаго значэнне гэтага ўласцівасці, так што няма знака роўнасці. 122 00:06:58,000 --> 00:07:00,000 Там няма дадатковых двукоссі. 123 00:07:00,000 --> 00:07:03,000 Гэта проста, гэта падзеленых двукроп'ем пару ключоў значэнне, 124 00:07:03,000 --> 00:07:05,000 і тэкставая радок робіць менавіта тое, што ён кажа. 125 00:07:05,000 --> 00:07:09,000 Гэта выраўноўвае тэкст у цела старонкі, якія сапраўды кішкі старонкі, 126 00:07:09,000 --> 00:07:11,000 у цэнтры. 127 00:07:11,000 --> 00:07:13,000 >> Добра, канчатковым вынікам тое, каб быць ясна, заключаецца ў наступным. 128 00:07:13,000 --> 00:07:17,000 Не ўсё, што сэксуальней, але па крайняй меры гэта па цэнтры і трохі больш падобна на рэальную Google. 129 00:07:17,000 --> 00:07:21,000 Але што, калі я замест гэтага адчыняюць версія 2 гэтага 130 00:07:21,000 --> 00:07:25,000 і паказаць тут новы тэг наогул? 131 00:07:25,000 --> 00:07:30,000 Цяпер у галаве маёй старонцы, якая раней была толькі які тэг 132 00:07:30,000 --> 00:07:32,000 Ва ўсіх папярэдніх прыкладах? 133 00:07:32,000 --> 00:07:34,000 Гэта проста было гэта, назва. 134 00:07:34,000 --> 00:07:38,000 Хвіліну таму кіраўнік тэгі выглядала наступным чынам. 135 00:07:38,000 --> 00:07:40,000 Цяпер замест яго ёсць стыль ўнутры тэга гэта, 136 00:07:40,000 --> 00:07:44,000 і гэта таксама, я прашу прабачэння, сінтаксічна выглядае вельмі адрозніваецца ад HTML, 137 00:07:44,000 --> 00:07:47,000 але вы абвыкнеце да яго, у выніку чаго ўнутры стылю тэга 138 00:07:47,000 --> 00:07:50,000 Цяпер я магу вынесці за дужкі тое, што было хвіліну назад 139 00:07:50,000 --> 00:07:54,000 атрыбутаў, атрыбут стылю, і я магу паставіць яго на самы верх маёй старонцы. 140 00:07:54,000 --> 00:07:56,000 >> Чаму? 141 00:07:56,000 --> 00:08:00,000 Ну, гэта крок да ачыстцы рэчаў, гэтак жа, як у пісьмовай форме C код 142 00:08:00,000 --> 00:08:04,000 мы будзем часам пісаць функцыі для выключэння агульнай функцыянальнасці. 143 00:08:04,000 --> 00:08:07,000 Гэта проста трохі чысцей, каб пачаць факторынгу з такіх рэчах, як эстэтыка 144 00:08:07,000 --> 00:08:11,000 у адным месцы замест таго, каб усё гэта перасыпаць ўсёй вашай HTML. 145 00:08:11,000 --> 00:08:14,000 Гэта таксама робіць тое, што ён кажа, хоць ёсць трохі новага сінтаксісу. 146 00:08:14,000 --> 00:08:19,000 Гэта вось селектар, і цела проста азначае, абярыце элемент цела 147 00:08:19,000 --> 00:08:21,000 і прымяніць наступныя ўласцівасці да яго. 148 00:08:21,000 --> 00:08:23,000 Ну, уласнасць сапраўды гэтак жа. 149 00:08:23,000 --> 00:08:25,000 На ўсялякі выпадак я дадаў кропку з коскай у рэшце рэшт, 150 00:08:25,000 --> 00:08:29,000 якая мае тэндэнцыю быць канвенцыяй, і я абгорнуты ўсю гэтую ўласнасць 151 00:08:29,000 --> 00:08:33,000 у фігурныя дужкі, таму што я сапраўды можа мець розныя рэчы. 152 00:08:33,000 --> 00:08:39,000 Я мог бы на самай справе сказаць нешта накшталт колеру: сіні; 153 00:08:39,000 --> 00:08:42,000 >> Цяпер гэта таксама не збіраецца быць на крок у бок усё, што заўгодна прыгажэй, 154 00:08:42,000 --> 00:08:47,000 але калі б я цяпер вярнуцца да версіі 2 я па крайняй меры цяпер зрабілі цела маё 155 00:08:47,000 --> 00:08:49,000 старонкі тэксту ўсе сінія. 156 00:08:49,000 --> 00:08:51,000 Кнопка застаецца тым жа, таму што гэта ўваход. Гэта не чысты тэкст. 157 00:08:51,000 --> 00:08:56,000 Але ўсё астатняе, што тэкст, як CS50 пошук наверсе, на самай справе сінія. 158 00:08:56,000 --> 00:09:01,000 Зноў жа, усё, што мы зрабілі зараз, гэта выдаліць з арганізма тэгаў, заўважце, 159 00:09:01,000 --> 00:09:04,000 атрыбут стылю, і мы ўлічвацца гэта тут. 160 00:09:04,000 --> 00:09:08,000 Гэта не вялікі крок наперад, але калі мы возьмем гэта яшчэ адзін крок наперад 161 00:09:08,000 --> 00:09:10,000 заўважыць, што мы можам зрабіць у гэтай трэцяй версіі тут. 162 00:09:10,000 --> 00:09:14,000 >> У search3.html вэб-старонкі амаль ідэнтычныя 163 00:09:14,000 --> 00:09:17,000 акрамя таго, што новы тэг зараз? 164 00:09:17,000 --> 00:09:20,000 Link, так што гэта не вельмі трапна назваў 165 00:09:20,000 --> 00:09:24,000 таму што вы не звязваючы ў сэнсе гіперспасылка. 166 00:09:24,000 --> 00:09:28,000 Хутчэй за ўсё, вы робіце нешта накшталт эквівалента # ўключыць у C 167 00:09:28,000 --> 00:09:31,000 прычым спасылка тэга з атрыбутам HREF 168 00:09:31,000 --> 00:09:34,000 і отн атрыбуту кажа, ісці наперад 169 00:09:34,000 --> 00:09:39,000 і капіяваць ўставіць змесціва файла з імем search3.css прама тут, па сутнасці. 170 00:09:39,000 --> 00:09:42,000 Гэта не зусім тое, што, але гэта дух яго. 171 00:09:42,000 --> 00:09:45,000 Ён кажа, што ісці з адкрытым файлам, search3.css, 172 00:09:45,000 --> 00:09:49,000 і ставіцца да яго, як быццам карыстальнік набраў яго прама тут, у чале старонку 173 00:09:49,000 --> 00:09:51,000 гэтак жа, як я зрабіў у папярэднім прыкладзе. 174 00:09:51,000 --> 00:09:54,000 Search3.css, між тым, даволі просты. 175 00:09:54,000 --> 00:09:58,000 Гэта сапраўды проста ўтрымлівае менавіта тое, што было хвіліну назад 176 00:09:58,000 --> 00:10:03,000 у стылі тэга, але я улічаны гэта тут у свой уласны файл. 177 00:10:03,000 --> 00:10:07,000 >> Нават калі мы не патрацілі шмат часу на ўсё гэта ў HTML або вэб-праграмаванні 178 00:10:07,000 --> 00:10:11,000 проста інтуітыўна тое, што матывацыя, мабыць, выносячы 179 00:10:11,000 --> 00:10:14,000 гэта невялікі фрагмент нават CSS у асобны файл 180 00:10:14,000 --> 00:10:19,000 , А затым ўключыць яго з гэтай спасылцы тэга тут? 181 00:10:19,000 --> 00:10:21,000 [Неразборліва адказ студэнта] 182 00:10:21,000 --> 00:10:25,000 Добра, гэта лягчэй чытаць у тым сэнсе, што ў вас ёсць CSS у файле CSS. 183 00:10:25,000 --> 00:10:28,000 У вас ёсць HTML у HTML файл, так што гэта больш чытаным ў гэтым сэнсе. 184 00:10:28,000 --> 00:10:30,000 Што яшчэ можа быць пераканаўчым? Так. 185 00:10:30,000 --> 00:10:32,000 [Неразборліва адказ студэнта] 186 00:10:32,000 --> 00:10:35,000 Так, так што вы можаце ўключыць яго шмат разоў, так што зараз мы робім гэта 187 00:10:35,000 --> 00:10:38,000 Асноўныя прыклады з асобнымі файламі, але выкажам здагадку, што вы на самай справе робіць 188 00:10:38,000 --> 00:10:42,000 рэальны сайт, як вы будзеце на PSET 7 або ваш канчатковы праект, магчыма, 189 00:10:42,000 --> 00:10:45,000 і вы хочаце мець некалькі вэб-старонак, як, безумоўна, сустракаецца на 190 00:10:45,000 --> 00:10:48,000 фактычныя World Wide Web, і было бы выгляд кульгавага 191 00:10:48,000 --> 00:10:52,000 мець, каб скапіяваць і ўставіць той жа сіні колер 192 00:10:52,000 --> 00:10:56,000 і той жа тэкст выраўнаваны цэнтрам у кожнай з гэтых старонак. 193 00:10:56,000 --> 00:10:59,000 Хутчэй, гэта мае сэнс вынесці за дужкі, гэтак жа, як мы зрабілі ў C 194 00:10:59,000 --> 00:11:02,000 с. файл г, паклаў яго ў адным месцы, 195 00:11:02,000 --> 00:11:06,000 У гэтым выпадку search3.css, а затым дазволіць любому файла 196 00:11:06,000 --> 00:11:11,000 У ваш сайт на самой справе ўключыць гэты файл праз гэты тэг тут, у радку 16. 197 00:11:11,000 --> 00:11:14,000 Як гэта звычайна і бывае, мы пачалі з версіі 0, што від работ 198 00:11:14,000 --> 00:11:18,000 але не абавязкова лепшыя, і з кожным крокам, 199 00:11:18,000 --> 00:11:21,000 Пошук 1, пошук 2, і зараз пошук 3 мы ўзялі гэтыя крокі дзіцяці 200 00:11:21,000 --> 00:11:26,000 на праекты, якія з'яўляюцца крыху больш чыстым і больш падрыхтоўчых 201 00:11:26,000 --> 00:11:30,000 Для больш складаных старонак, якія мы маглі б зрабіць у будучыні. 202 00:11:30,000 --> 00:11:33,000 >> Дазвольце мне адкрыць адзін апошні прыклад тут, каб паказаць 203 00:11:33,000 --> 00:11:36,000 яшчэ больш стылізаваным старонкі, але спачатку давайце паглядзім на HTML. 204 00:11:36,000 --> 00:11:41,000 Гэта search4.html, і заўважыў, што структурна гэта амаль тое ж самае 205 00:11:41,000 --> 00:11:44,000 за выключэннем ўвядзення новага тэга Div. 206 00:11:44,000 --> 00:11:48,000 Div тэг, які ўводзіць дзяленне на гэтай старонцы. 207 00:11:48,000 --> 00:11:51,000 Вы можаце думаць пра гэта як пра нябачным прамавугольніку. 208 00:11:51,000 --> 00:11:54,000 Гэта свайго роду стварае паласу вобласць на вэб-старонцы 209 00:11:54,000 --> 00:11:56,000 , Які можна стылізаваць ўсё адразу. 210 00:11:56,000 --> 00:11:58,000 Што я зрабіў тут заключаецца ў наступным. 211 00:11:58,000 --> 00:12:01,000 Усярэдзіне майго цела тэга, які быў там увесь час, 212 00:12:01,000 --> 00:12:05,000 Я кажу, што стварае падраздзяленне старонцы тут па лініях 45 да 47, 213 00:12:05,000 --> 00:12:09,000 і гэта азначае, па сутнасці, дайце мне нябачны прастакутнік ў верхняй частцы старонкі. 214 00:12:09,000 --> 00:12:14,000 Тады дайце мне другую прастакутнік, хоць і нябачным, ніжэй, 215 00:12:14,000 --> 00:12:16,000 і ідэнтыфікаваць яго па імя змесціва, а затым, нарэшце, 216 00:12:16,000 --> 00:12:19,000 дай мне трэці раздзел старонкі ў ніжняй частцы 217 00:12:19,000 --> 00:12:21,000 называецца ID. 218 00:12:21,000 --> 00:12:23,000 Мы ўбачым, чаму я зрабіў гэта праз хвіліну, 219 00:12:23,000 --> 00:12:26,000 але канцэптуальна ў мяне ёсць загаловак дывізіі. 220 00:12:26,000 --> 00:12:30,000 У мяне ёсць змест падраздзялення, і ў мяне ёсць склеп падзел старонкі 221 00:12:30,000 --> 00:12:32,000 хоць гэта толькі ў разметцы. 222 00:12:32,000 --> 00:12:35,000 Карыстальнік не убачыць 3 прамавугольніка, 223 00:12:35,000 --> 00:12:37,000 але накшталт структурна там, за кулісамі 224 00:12:37,000 --> 00:12:39,000 яны на самай справе. 225 00:12:39,000 --> 00:12:41,000 >> Зараз, хто клапоціцца? Чаму на самой справе гэта зрабіць? 226 00:12:41,000 --> 00:12:43,000 Усё астатняе на старонцы так жа, як мы бачылі раней. 227 00:12:43,000 --> 00:12:47,000 Вось мая форма. Вось мой унёсак, мой ўваход, радкі і гэтак далей. 228 00:12:47,000 --> 00:12:50,000 Вось малюнак, хоць, такім чынам, мы будзем бачыць, куды гэта прыйшло ад усяго хвіліну. 229 00:12:50,000 --> 00:12:52,000 Вось склеп, які з'яўляецца новай, толькі таму, што я хацеў бы прадставіць 230 00:12:52,000 --> 00:12:54,000 некалькі утрыманнем тут. 231 00:12:54,000 --> 00:12:58,000 Калі мы прагортку ўверх заўважыць, што ID гэтай спраў з'яўляецца загаловак. 232 00:12:58,000 --> 00:13:02,000 ID гэтай спраў з'яўляецца ўтрыманне, і ідэнтыфікатар гэта адзін калантытул. 233 00:13:02,000 --> 00:13:05,000 І, як вынікае з назвы, калі ў вас ёсць ID атрыбуту 234 00:13:05,000 --> 00:13:09,000 у HTML, па вызначэнні, яно павінна адназначна ідэнтыфікаваць 235 00:13:09,000 --> 00:13:12,000 адзін з элементаў, адзін з тэгаў на старонцы. 236 00:13:12,000 --> 00:13:16,000 Цяжар цалкам на вас памятаць, што ў вас ёсць загаловак ID ўжо. 237 00:13:16,000 --> 00:13:19,000 У вас ёсць склеп. У Вас ёсць змест ID ўжо. 238 00:13:19,000 --> 00:13:22,000 Кампутар не збіраюся высветліць, што даступна ID для вас, 239 00:13:22,000 --> 00:13:27,000 так што вы можаце выпадкова даць 2 ID тэгаў загалоўкаў, 240 00:13:27,000 --> 00:13:29,000 і гэта было б проста няправільна. 241 00:13:29,000 --> 00:13:31,000 >> Вы павінны мець на ўвазе, што вы стварылі, 242 00:13:31,000 --> 00:13:34,000 але як толькі вы гэта зрабілі, звярніце ўвагу, што мы можам зрабіць тут. 243 00:13:34,000 --> 00:13:38,000 Цяпер я магу паказаць у маім стылі тэгаў у верхнім 244 00:13:38,000 --> 00:13:41,000 або, што эквівалентна, у маім файле CSS, калі б я да гэтага часу выкарыстоўваюць гэтую версію, 245 00:13:41,000 --> 00:13:46,000 Я магу сказаць # загалоўка, і што гэта азначае, што ўсё, што тэг 246 00:13:46,000 --> 00:13:49,000 У гэтым вэб-старонка мае ідэнтыфікатар загалоўка 247 00:13:49,000 --> 00:13:53,000 і #, проста чалавечыя канвенцыі, уяўляе ID. 248 00:13:53,000 --> 00:13:56,000 Рэзкае знак або знак фунта ўяўляе ID. 249 00:13:56,000 --> 00:13:58,000 Загаловак гэтае імя, якое я даў яму. 250 00:13:58,000 --> 00:14:01,000 Гэта азначае, што ўжываць гэта ўласцівасць CSS 251 00:14:01,000 --> 00:14:04,000 на любой тэг на гэтай старонцы, носіць ідэнтыфікатар загалоўка. 252 00:14:04,000 --> 00:14:06,000 Тое ж тут справа. 253 00:14:06,000 --> 00:14:09,000 Ужыць гэтую ўласнасць, якая бывае тое ж самае, любы элемент 254 00:14:09,000 --> 00:14:11,000 з ідэнтыфікатарам змесціва, а затым тут 255 00:14:11,000 --> 00:14:14,000 заўважыце, што я стаў крыху аматар з калантытул. 256 00:14:14,000 --> 00:14:18,000 Любы элемент з ідэнтыфікатарам склеп, з якога не можа быць толькі адзін, па вызначэнні, 257 00:14:18,000 --> 00:14:21,000 пайсці далей і зрабіць свой шрыфт меншага памеру, 258 00:14:21,000 --> 00:14:24,000 яе вага шрыфта смелы, яго маржа 20 пікселяў. 259 00:14:24,000 --> 00:14:26,000 >> Што гэта значыць? 260 00:14:26,000 --> 00:14:28,000 Гэта проста маржа па верхняй, ніжняй і левай і правай. 261 00:14:28,000 --> 00:14:31,000 Гэта азначае, дайце мне 20-піксель нябачным краем вакол яго 262 00:14:31,000 --> 00:14:35,000 проста націснуць ўсё астатняе ад яго трохі, як вы маглі б зрабіць у Word, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word або старонкі або да таго падобнае. 264 00:14:37,000 --> 00:14:39,000 І тады тэкст па цэнтру. 265 00:14:39,000 --> 00:14:43,000 Давайце паглядзім на канчатковы вынік, а потым мы вернемся да аднаго пакінутага фрагмента CSS там. 266 00:14:43,000 --> 00:14:48,000 Гэта 4-й версіі, наш апошні для пошуку прыкладаў, і гэта значна, значна сэксуальней. 267 00:14:48,000 --> 00:14:54,000 Цяпер, шчыра кажучы, я проста ў пошукавай сістэме Google "Google шрыфта лагатыпа генератар". 268 00:14:54,000 --> 00:14:58,000 І гэта дазволіла мне стварыць GIF, фармат малюнка, якое выглядае як, што там. 269 00:14:58,000 --> 00:15:00,000 На самай справе, вы можаце зрабіць гэта занадта. 270 00:15:00,000 --> 00:15:03,000 У нас ёсць "Google шрыфты, лагатып генератар". 271 00:15:03,000 --> 00:15:05,000 >> Давайце паглядзім, калі мы можам гэта зрабіць. 272 00:15:05,000 --> 00:15:07,000 Добра, я думаю, што гэта сайт які я выкарыстаў. 273 00:15:07,000 --> 00:15:11,000 Мы можам сказаць, EC 10, напрыклад, і зрабіць іх самастойна. 274 00:15:11,000 --> 00:15:13,000 Вы можаце гуляць з гэтым на працягу ўсяго дня, а затым націсніце правай кнопкай мышы 275 00:15:13,000 --> 00:15:16,000 , А затым загрузіць фактычнага GIF, які гэта ўсё, што я зрабіў. 276 00:15:16,000 --> 00:15:19,000 І сапраўды, вось чаму ў маім HTML, нагадаем, сюды 277 00:15:19,000 --> 00:15:22,000 У мяне быў вобраз тэг, які мы бачылі на мінулым тыдні коратка 278 00:15:22,000 --> 00:15:24,000 крыніцай якіх з'яўляецца logo.gif. 279 00:15:24,000 --> 00:15:28,000 І тое, што зноў была матывацыя за тое, што гэта альт атрыбут, 280 00:15:28,000 --> 00:15:31,000 гэта альтэрнатыўны атрыбут? 281 00:15:31,000 --> 00:15:33,000 Так. 282 00:15:33,000 --> 00:15:35,000 [Неразборліва адказ студэнта] 283 00:15:35,000 --> 00:15:37,000 Добра, такім чынам, 2 прычынах сапраўды, калі браўзэр не можа пацягнуць малюнак 284 00:15:37,000 --> 00:15:40,000 таму што ў вас павольнае падлучэнне да сеткі або малюнкаў пашкоджаны 285 00:15:40,000 --> 00:15:44,000 ці нешта падобнае, па меншай меры, чалавек можа бачыць "CS50 пошук" 286 00:15:44,000 --> 00:15:46,000 , А затым і даступнасці прычынах. 287 00:15:46,000 --> 00:15:48,000 Калі ў вас ёсць карыстальнік, які з'яўляецца сляпым і выкарыстоўваецца для чытання з экрана 288 00:15:48,000 --> 00:15:50,000 і таму, відавочна, не можа бачыць вобразы, якія яны могуць па крайняй меры 289 00:15:50,000 --> 00:15:52,000 пачуць тэкст, калі іх кампутар кажа ім. 290 00:15:52,000 --> 00:15:56,000 >> Увогуле, гэта лепшая практыка, калі гаворка заходзіць аб даступнасці старонак 291 00:15:56,000 --> 00:16:00,000 так што нават карыстальнікі ў гэтай сітуацыі можа пачуць ці ўбачыць, так бы мовіць, 292 00:16:00,000 --> 00:16:03,000 што гэта такое, што гэта на вашай старонцы. 293 00:16:03,000 --> 00:16:05,000 Там яшчэ адна рэч, якую я зрабіў тут 294 00:16:05,000 --> 00:16:09,000 які трохі цікавай, і мы будзем бачыць больш пра гэта ў задачу ўсталяваныя 7 295 00:16:09,000 --> 00:16:12,000 праз адзін з шорт на чале з адным з вучэнні таварышаў. 296 00:16:12,000 --> 00:16:15,000 Але # зместу ставіцца да тэгу 297 00:16:15,000 --> 00:16:20,000 ID якога з'яўляецца ўтрыманне, але тады ёсць прабел, і затым ёсць слова ўваход. 298 00:16:20,000 --> 00:16:25,000 Ну, што цікавага CSS з'яўляецца тое, што вы можаце 299 00:16:25,000 --> 00:16:29,000 гл. тэгаў ў старонку роду іерархічна, 300 00:16:29,000 --> 00:16:33,000 і тое, што гэты фрагмент сродкамі CSS, гэта знайсці тэг 301 00:16:33,000 --> 00:16:37,000 ID якога з'яўляецца ўтрыманне, а затым прымяніць наступныя ўласцівасці 302 00:16:37,000 --> 00:16:42,000 для ўсіх ўваходных тэгаў, якія з'яўляюцца нашчадкамі зместу, 303 00:16:42,000 --> 00:16:44,000 , Што ў тым, што з водступам ўнутры яго. 304 00:16:44,000 --> 00:16:48,000 Водступы, зноў жа, важна толькі да кампутара, а не да чалавека, 305 00:16:48,000 --> 00:16:51,000 але па дамове мы водступ рэчы, як мы паглыбіцца ў старонкі, 306 00:16:51,000 --> 00:16:54,000 такім чынам, гэта азначае, прымяняюцца край на 5 пікселяў любога элемента ўводу 307 00:16:54,000 --> 00:16:57,000 што недзе ўнутры ці ўкладзеныя ў 308 00:16:57,000 --> 00:16:59,000  элемент з ідэнтыфікатарам ўтрымання. 309 00:16:59,000 --> 00:17:01,000 >> Хто што звярнуцца? 310 00:17:01,000 --> 00:17:03,000 Ну, там на самай справе менавіта гэтыя 2 хлопца тут. 311 00:17:03,000 --> 00:17:05,000 Звярніце ўвагу, што ўнутры віду ёсць 2 ўваходу, 312 00:17:05,000 --> 00:17:07,000 як там было на ўсе гэтыя прыклады. 313 00:17:07,000 --> 00:17:11,000 Але звярніце ўвагу, што гэтыя 2 ўваходу здарыцца быць укладзеныя, 314 00:17:11,000 --> 00:17:13,000 хоць і трохі глыбока, пару слаёў водступы, 315 00:17:13,000 --> 00:17:16,000 ўнутры тэга з ідэнтыфікатарам ўтрымання. 316 00:17:16,000 --> 00:17:18,000 Што гэта значыць? 317 00:17:18,000 --> 00:17:21,000 Калі мы ідзем у браўзэр тут можна ўбачыць вельмі трохі- 318 00:17:21,000 --> 00:17:23,000 Дазвольце мне павялічыць, то ёсць трохі водступаў паміж кнопкай 319 00:17:23,000 --> 00:17:25,000 і паміж тэкставым полем. 320 00:17:25,000 --> 00:17:27,000 >> Дазвольце мне часова адключыць гэтую функцыю. 321 00:17:27,000 --> 00:17:30,000 Адпусці мяне да майго CSS, і дазвольце мне ісці наперад і толькі 322 00:17:30,000 --> 00:17:34,000 змяніць гэтую маржу ад 5 да 0 пікселяў пікселяў. 323 00:17:34,000 --> 00:17:37,000 Дазвольце мне ісці наперад, то і захавайце файл, вярнуцца да пошукавай сістэме 324 00:17:37,000 --> 00:17:40,000 і перазагрузіць, і глядзець на сярэдзіне старонкі. 325 00:17:40,000 --> 00:17:43,000 Усё, што было сціснутыя разам, і, калі я ўпершыню узбітымі гэтым прыкладзе да 326 00:17:43,000 --> 00:17:46,000 Я думаў, што выглядала недарэчна з тэкставага поля, а затым кнопку непасрэдна пад ім. 327 00:17:46,000 --> 00:17:50,000 Я хацеў, каб дапоўніць яго трохі, так што я прадставіў поля. 328 00:17:50,000 --> 00:17:55,000 Тое, што мы не будзем рабіць у лекцыі праходзяць праз некалькі дзесяткаў 329 00:17:55,000 --> 00:17:58,000 CSS ўласцівасці, якія існуюць, таму што, зноў жа, ёсць такія рэчы, як памер шрыфта, 330 00:17:58,000 --> 00:18:02,000 шрыфта, край, выраўноўванне тэксту, і некалькі дзясяткаў іншых, 331 00:18:02,000 --> 00:18:06,000 і мы будзем называць вас праблемы ўстаноўлена 7 розных падручнікі онлайн 332 00:18:06,000 --> 00:18:08,000 і спасылкі, якія дазваляюць падабраць гэтыя рэчы. 333 00:18:08,000 --> 00:18:10,000 Але тое, што сапраўды важна ў канцы дня 334 00:18:10,000 --> 00:18:12,000 >> , Каб зразумець, як гэтыя рэчы не прымяняюцца. 335 00:18:12,000 --> 00:18:15,000 Зноў жа, калі мы маем у стылі тэгі якой 336 00:18:15,000 --> 00:18:19,000 можа пайсці селектары, накшталт ідэнтыфікатараў, якія вызначаюць 337 00:18:19,000 --> 00:18:21,000 да якога вы хочаце ўжыць гэтыя ўласцівасці, 338 00:18:21,000 --> 00:18:24,000 а затым вы кладзеце ўласцівасці як ключавыя пары значэнняў 339 00:18:24,000 --> 00:18:28,000 падзеленых двукроп'ем, а затым скончыў з коскі, 340 00:18:28,000 --> 00:18:32,000 ці вы можаце капіяваць усё гэта, і пакласці яго ў асобны файл CSS 341 00:18:32,000 --> 00:18:35,000 сама па сабе. 342 00:18:35,000 --> 00:18:39,000 Добра, любыя пытанні па канцэпцыі 343 00:18:39,000 --> 00:18:41,000 або вялікую карціну CSS? 344 00:18:41,000 --> 00:18:43,000 Вы будзеце зноў бачыць больш яго ў PSET 7, 345 00:18:43,000 --> 00:18:47,000 але мы будзем трымаць гэта наогул даволі проста. 346 00:18:47,000 --> 00:18:49,000 Няма? Добра. 347 00:18:49,000 --> 00:18:51,000 Гэта час для рэальнага мовы праграмавання, 348 00:18:51,000 --> 00:18:54,000 і мы вернемся да трохі CSS у выглядзе прыкладу. 349 00:18:54,000 --> 00:18:58,000 PHP на самай справе дзіўна даступным мовай 350 00:18:58,000 --> 00:19:02,000 у тым, што гэта сінтаксічна амаль эквівалентна C. 351 00:19:02,000 --> 00:19:06,000 Іншымі словамі, калі вы ведаеце C, вы ведаеце, па большай частцы PHP, 352 00:19:06,000 --> 00:19:08,000 па крайняй меры, сінтаксічна, хоць ёсць некаторыя новыя функцыі 353 00:19:08,000 --> 00:19:10,000 і некаторыя новыя паняцці, якія мы павінны будзем паглядзець. 354 00:19:10,000 --> 00:19:13,000 >> Але па большай частцы, зараз, калі мы пераходзім ад З да PHP 355 00:19:13,000 --> 00:19:16,000 Большасць новых рэчаў сапраўды па вялікім рахунку, 356 00:19:16,000 --> 00:19:19,000 як вы выкарыстоўваеце мова для праграм на вэб-у адрозненне ад 357 00:19:19,000 --> 00:19:23,000 у камандным радку ці ў радку міргае, як мы рабілі да гэтага часу. 358 00:19:23,000 --> 00:19:27,000 Для параўнання, асабліва з PSET 7 і канчатковы праект наперад, 359 00:19:27,000 --> 00:19:31,000 у скарыстацца гэтым URL тут, калі вы хочаце, каб чытаць на фармальнасці PHP. 360 00:19:31,000 --> 00:19:34,000 Гэта на самай справе хацеў бясплатны онлайн падручнік эфектыўна, 361 00:19:34,000 --> 00:19:37,000 і вы таксама выявіце, што тое, што сапраўды добра пра PHP 362 00:19:37,000 --> 00:19:41,000 з'яўляецца тое, што існуюць сотні функцый, якія прыходзяць з ёй, 363 00:19:41,000 --> 00:19:44,000 , Тады як у C вы не абавязкова мець доступ да 364 00:19:44,000 --> 00:19:47,000 больш функцый, чым было ў матэматычную бібліятэку, CS50 бібліятэкі. 365 00:19:47,000 --> 00:19:51,000 У PHP і многія сучасныя мовы, Python і Ruby, сярод іх, 366 00:19:51,000 --> 00:19:54,000 Вы атрымліваеце доступ да так шмат больш функцый, а значыць, вы атрымаеце пісаць 367 00:19:54,000 --> 00:19:57,000 нашмат менш кода, таму што вы можаце стаяць на плечы іншых людзей 368 00:19:57,000 --> 00:19:59,000 , Якія ўжо напісаныя некаторыя рэчы для вас. 369 00:19:59,000 --> 00:20:03,000 >> Давайце кароткі агляд сінтаксісу PHP, а затым напісаць некалькі прыкладаў. 370 00:20:03,000 --> 00:20:06,000 Што прыемна аб PHP у першую чаргу 371 00:20:06,000 --> 00:20:08,000 Ёсць няма галоўнай функцыі. 372 00:20:08,000 --> 00:20:10,000 Калі вы хочаце напісаць праграму ў PHP вы толькі пачынаеце пісаць код, 373 00:20:10,000 --> 00:20:12,000 і вам не прыйдзецца турбавацца аб галоўным. 374 00:20:12,000 --> 00:20:14,000 Там няма Int. Там няма вяртання. 375 00:20:14,000 --> 00:20:17,000 Там няма ARGV, агдс, што патрабуецца, калі вы пішаце праграму. 376 00:20:17,000 --> 00:20:20,000 Замест гэтага вы можаце проста пачаць пісаць код, і гэта часткова 377 00:20:20,000 --> 00:20:23,000 таму што PHP з'яўляецца тое, што называецца інтэрпрэтаваны мову. 378 00:20:23,000 --> 00:20:26,000 C быў складзены, і ён быў складзены ў тым сэнсе, што вы пачынаеце 379 00:20:26,000 --> 00:20:29,000 з зыходным кодам, запусціць яго праз Clang, які з'яўляецца кампілятарам, 380 00:20:29,000 --> 00:20:33,000 і ў канчатковым выніку праз некаторы колькасць крокаў, якія вы атрымаеце код аб'екта, 0 і 1. 381 00:20:33,000 --> 00:20:36,000 PHP і Python і Ruby, і Пэрл і інш 382 00:20:36,000 --> 00:20:39,000 розныя тыпы моў у тым, што вы не кампіляваць іх. 383 00:20:39,000 --> 00:20:42,000 Вы не ідзяце з зыходным кодам 0 і 1. 384 00:20:42,000 --> 00:20:45,000 Вы проста запусціць зыходны код, і вы запусціце зыходны код 385 00:20:45,000 --> 00:20:49,000 пішыце ў звычайны тэкставы файл, які сканчаецца на. PHP ў дадзеным выпадку 386 00:20:49,000 --> 00:20:53,000 замест. з, што робіць праграма на кампутары 387 00:20:53,000 --> 00:20:57,000 яно літаральна інтэрпрэтуе код радок за радком за радком. 388 00:20:57,000 --> 00:21:00,000 >> Іншымі словамі, замест таго, каб пісаць праграму і запусціць праграму 389 00:21:00,000 --> 00:21:04,000 непасрэдна вам, а напісаць праграму з файлам сканчаюцца на. PHP. 390 00:21:04,000 --> 00:21:09,000 Затым вы запускаеце праграму пад назвай фактычнай php.exe, калі вы на Windows, 391 00:21:09,000 --> 00:21:12,000 ці проста PHP, калі вы на Mac OS або Linux, 392 00:21:12,000 --> 00:21:17,000 і Вы падаеце ў якасці ўкладу ў праграме PHP ўласнага зыходнага кода, 393 00:21:17,000 --> 00:21:20,000 і яго мэта ў жыцці, каб чытаць ваш код зверху ўніз, злева направа, 394 00:21:20,000 --> 00:21:23,000 і рабіць усё, што вы сказалі гэта рабіць. 395 00:21:23,000 --> 00:21:25,000 >> Давайце паглядзім, што гэта будзе азначаць, сінтаксічна. 396 00:21:25,000 --> 00:21:27,000 У PHP у нас ёсць умовы. 397 00:21:27,000 --> 00:21:29,000 На гэтым слайдзе ідэнтычны таму, што вы бачылі ў тыдзень 1 398 00:21:29,000 --> 00:21:33,000 таму што сінтаксічна умовах, IFS і IFS яшчэ і яшчэ ў PHP 399 00:21:33,000 --> 00:21:35,000 выглядаць дакладна так, як гэта. 400 00:21:35,000 --> 00:21:38,000 Калі справа даходзіць да лагічныя выразы, што яны збіраюцца выглядаць дакладна так, як гэта. 401 00:21:38,000 --> 00:21:43,000 Калі справа даходзіць да лагічнага множання рэчы разам, як булеўскіх гэта будзе выглядаць менавіта так. 402 00:21:43,000 --> 00:21:46,000 Перамыкачы выглядаюць аднолькава, і вы атрымаеце дадатковае перавага ў PHP 403 00:21:46,000 --> 00:21:51,000 , Што перамыкачы ў C можна было толькі ўключыць знак ці Int. 404 00:21:51,000 --> 00:21:53,000 Вы не маглі б перайсці на радок. 405 00:21:53,000 --> 00:21:55,000 У PHP вы можаце мець выраз 406 00:21:55,000 --> 00:21:58,000 , Што з'яўляецца зменнай, змесціва якога радок, 407 00:21:58,000 --> 00:22:01,000 і вы рэальна можаце зрабіць параўнанне радкоў у рэальным інтуітыўна зразумелым спосабам, 408 00:22:01,000 --> 00:22:06,000 Ня паказальніка параўнання, для таго, каб вырашыць, ці варта рабіць выпадку я ці J ці нешта яшчэ. 409 00:22:06,000 --> 00:22:09,000 Мы ўбачым, што патэнцыйна ў хуткім часе. 410 00:22:09,000 --> 00:22:11,000 >> Завесы занадта цудоўна тое ж самае. 411 00:22:11,000 --> 00:22:15,000 Для завесы маюць ініцыялізацыя, ўмова, і некаторы колькасць абнаўленняў. 412 00:22:15,000 --> 00:22:18,000 У той час як завесы, таксама існуюць у PHP. 413 00:22:18,000 --> 00:22:21,000 Зрабіце той час як завесы, таксама існуюць у PHP, 414 00:22:21,000 --> 00:22:26,000 і масівамі існуе ў PHP, але вось дзе сінтаксіс пачынае станавіцца крыху па-іншаму, 415 00:22:26,000 --> 00:22:29,000 але прынцыпы тыя ж, і паняцці сапраўды адны і тыя ж 416 00:22:29,000 --> 00:22:32,000 як яны былі ў тыдзень 0 з нуля. 417 00:22:32,000 --> 00:22:34,000 Перш за ўсё, гэта знак $. 418 00:22:34,000 --> 00:22:37,000 Гэта было дызайнерскае рашэнне ў PHP якім любы зменнай 419 00:22:37,000 --> 00:22:41,000 У PHP дызайн пачынаецца з $ знака. 420 00:22:41,000 --> 00:22:46,000 Там няма больш X, Y, Z. Гэта цяпер $ X, $ Y, $ Z проста так. 421 00:22:46,000 --> 00:22:49,000 Гэта нешта трымаць у розуме, і цяпер на правай баку 422 00:22:49,000 --> 00:22:52,000 гэта падобна на масіў, 423 00:22:52,000 --> 00:22:54,000 але мы выкарыстоўваем квадратныя дужкі тут. 424 00:22:54,000 --> 00:22:57,000 У PHP і JavaScript у, як мы бачым у канчатковым выніку, 425 00:22:57,000 --> 00:23:01,000 абвясціць масіў вы адкрыты квадратныя дужкі і зачыніў квадратныя дужкі, 426 00:23:01,000 --> 00:23:04,000 і тады ў вас ёсць спіс падзеленых коскамі значэнняў, будзь то цэлыя 427 00:23:04,000 --> 00:23:09,000 або радкі знакаў або, што вы хочаце, усярэдзіне гэтага выказвання няма. 428 00:23:09,000 --> 00:23:11,000 >> Цяпер, як мы рабілі нешта падобнае ў C? 429 00:23:11,000 --> 00:23:16,000 Што было сінтаксіс для статычна аб'яўленні масіва вядомага ліку? 430 00:23:16,000 --> 00:23:19,000 Гэта было фігурныя дужкі, так што невялікая розніца тут, але і ў PHP 431 00:23:19,000 --> 00:23:22,000 і ў канчатковым выніку наяўнасць ён проста выкарыстоўвае квадратныя дужкі, так на самай справе 432 00:23:22,000 --> 00:23:25,000 Толькі цікавая дэталь тут з'яўляецца знакам $ на імя зменнай 433 00:23:25,000 --> 00:23:28,000 , А таксама ў квадратных дужках, і ёсць адна цікавая рэч 434 00:23:28,000 --> 00:23:32,000 , Які быў апушчаны, а на левай баку знак =. 435 00:23:32,000 --> 00:23:36,000 Чаго не хапае, што мы былі якая патрабуе ўжо некалькі тыдняў? Так. 436 00:23:36,000 --> 00:23:38,000 [Неразборліва адказ студэнта] 437 00:23:38,000 --> 00:23:41,000 Памер, так што няма ніякай згадкі пра памеры масіва. 438 00:23:41,000 --> 00:23:45,000 Шчыра кажучы, няма ніякай згадкі ў квадратных дужках у левай частцы 439 00:23:45,000 --> 00:23:47,000 знака =, і, што яшчэ адсутнічае ў радку? 440 00:23:47,000 --> 00:23:49,000 Так. >> [Неразборліва адказ студэнта] 441 00:23:49,000 --> 00:23:52,000 Тыпу, так што цікава, у прыватнасці, аб PHP 442 00:23:52,000 --> 00:23:56,000 з'яўляецца тое, што яна не з'яўляецца строга тыпізаваных моў, як З, 443 00:23:56,000 --> 00:23:58,000 і гэта моцна набраў у тым сэнсе, што вы павінны сказаць знакаў, 444 00:23:58,000 --> 00:24:00,000 Вы павінны сказаць INT, вы павінны гаварыць паплаўка. 445 00:24:00,000 --> 00:24:03,000 >> У любы час вы хочаце, каб пераменная вы павінны сказаць Clang, што яго тып. 446 00:24:03,000 --> 00:24:05,000 PHP трохі лянуецца больш. 447 00:24:05,000 --> 00:24:08,000 Ён свабодна набраныя ў тым сэнсе, што 448 00:24:08,000 --> 00:24:11,000 Вы можаце мець паплаўкі і сімвалаў і радкоў 449 00:24:11,000 --> 00:24:14,000 і Інтс і гэтак далей, але сама мова 450 00:24:14,000 --> 00:24:17,000 на самай справе не хвалюе, што вы пакладзеце ўнутр зменнай. 451 00:24:17,000 --> 00:24:20,000 Вы не павінны інфармаваць яго загадзя, які тып дадзеных 452 00:24:20,000 --> 00:24:22,000 збіраецца ў зменную. 453 00:24:22,000 --> 00:24:24,000 Гэта цалкам залежыць ад вас, так што гэта добрая 454 00:24:24,000 --> 00:24:27,000 у тым, што вам не прыйдзецца турбавацца, як шмат пра тыпізацыі дадзеных 455 00:24:27,000 --> 00:24:29,000 і турбавацца, што вашы аргументы і гэтак далей. 456 00:24:29,000 --> 00:24:32,000 Гэта таксама азначае, у канчатковым рахунку функцый у PHP збіраецеся быць у стане вярнуцца 457 00:24:32,000 --> 00:24:36,000 альбо Int вялікую частку часу, і, магчыма, раз у той час 458 00:24:36,000 --> 00:24:40,000 яны будуць вяртаць лагічнае значэнне, лагічнае значэнне FALSE, напрыклад, каб паказаць, што нешта пайшло не так. 459 00:24:40,000 --> 00:24:44,000 Гэта дае нам некаторы патэнцыял росту, але і зробіць нас накшталт дызайну 460 00:24:44,000 --> 00:24:47,000 трохі лянуецца больш, калі справа даходзіць да ўводу дадзеных. 461 00:24:47,000 --> 00:24:50,000 >> Што яшчэ мець на ўвазе тут? 462 00:24:50,000 --> 00:24:54,000 Зменныя выглядаюць цалкам задавальняе, так што $ S = "прывітанне, свет". 463 00:24:54,000 --> 00:24:57,000 Гэта, магчыма, якая выводзіцца з папярэдняга прыкладу, 464 00:24:57,000 --> 00:24:59,000 і ў нас ёсць іншы тып цыклу. 465 00:24:59,000 --> 00:25:02,000 Гэта адно мы на самай справе бачым раз у той час, так як гэта вельмі зручна, 466 00:25:02,000 --> 00:25:04,000 Еогеасп пабудаваць. 467 00:25:04,000 --> 00:25:11,000 У гэтым выпадку цыкл па кожнаму элементу адбываецца ўнутры яго дужкамі 3 словы як правіла, 468 00:25:11,000 --> 00:25:16,000 $ Гэта першае, што і масіў вы хочаце перабраць членаў, 469 00:25:16,000 --> 00:25:19,000 Затым літаральна ключавое слова, а затым, нарэшце, 470 00:25:19,000 --> 00:25:21,000 іншай зменнай імя, якое вы атрымліваеце на выбар. 471 00:25:21,000 --> 00:25:23,000 Гэта можа быць Foo, Bar, або элемент, 472 00:25:23,000 --> 00:25:26,000 і тое, што гэтая канструкцыя робіць 473 00:25:26,000 --> 00:25:29,000 , Калі масіў $ змяшчае 10 элементаў 474 00:25:29,000 --> 00:25:34,000 на кожнай ітэрацыі гэтага масіва, прабачце, на кожнай ітэрацыі гэтага цыклу 475 00:25:34,000 --> 00:25:37,000 зменную элемент будзе абнаўляцца 476 00:25:37,000 --> 00:25:40,000 першым элементам масіву, то другі элемент масіва, 477 00:25:40,000 --> 00:25:44,000 то трэці элемент масіва, тым самым ухіляючы неабходнасць 478 00:25:44,000 --> 00:25:46,000 зрабіць трохі раздражняе квадратных пазначэнне кранштэйна і 479 00:25:46,000 --> 00:25:49,000 $ Я для таго, каб індэкс ў масіве. 480 00:25:49,000 --> 00:25:53,000 PHP робіць усё гэта за вас і на кожнай ітэрацыі 481 00:25:53,000 --> 00:25:55,000 проста ўручае вам наступны элемент з масіва 482 00:25:55,000 --> 00:26:01,000 без неабходнасці ведаць ці клапаціцца пра яго лікавае размяшчэнню азначніка. 483 00:26:01,000 --> 00:26:04,000 >> І тады, нарэшце, на дадзены момант, ёсць яшчэ адна асаблівасць PHP 484 00:26:04,000 --> 00:26:08,000 што гэта будзе вельмі карысна, асабліва калі мы пачынаем праграмавання ў Інтэрнэце, 485 00:26:08,000 --> 00:26:10,000 і гэта вядома як асацыятыўны масіў. 486 00:26:10,000 --> 00:26:13,000 Масіваў, што мы ведаем да гэтага часу, як 20 секунд таму 487 00:26:13,000 --> 00:26:17,000 і на працягу апошніх 8 тыдняў масівы з лікавымі індэксамі, 488 00:26:17,000 --> 00:26:20,000 роду традыцыйных масіваў, дзе індэксы цэлых лікаў, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, на ўсім шляху ўверх. 490 00:26:23,000 --> 00:26:25,000 Асацыятыўныя масівы з'яўляюцца значна больш магутным. 491 00:26:25,000 --> 00:26:28,000 Яны дазваляюць мець адвольныя клавішы, 492 00:26:28,000 --> 00:26:31,000 адвольных індэксаў і адвольныя значэння. 493 00:26:31,000 --> 00:26:34,000 У той час як у традыцыйных масіваў гэта 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 ў асацыятыўны масіў, вы можаце мець індэкс 495 00:26:37,000 --> 00:26:41,000 або ключ Foo, значэннем якога з'яўляецца бар. 496 00:26:41,000 --> 00:26:46,000 Вы можаце мець яшчэ адзін ключ, імя якога Баз і значэнне якога qux. 497 00:26:46,000 --> 00:26:49,000 >> Зноў жа, дурныя камп'ютэрныя навукі агульныя імёны зменных тут, 498 00:26:49,000 --> 00:26:55,000 але справа ў тым, што гэты масіў не мае кранштэйны 0 або кранштэйн 1. 499 00:26:55,000 --> 00:26:59,000 Гэта замест таго, прыйдзецца Foo кранштэйн і кранштэйн Баз. 500 00:26:59,000 --> 00:27:03,000 Гэта нашмат больш універсальныя у тым, што мы збіраемся, каб мець магчымасць супаставіць 501 00:27:03,000 --> 00:27:07,000 словы з іншымі словамі, ключы са значэннямі цалкам адвольна, 502 00:27:07,000 --> 00:27:12,000 і мы збіраемся, каб мець магчымасць атрымаць гэтыя значэння назад у фіксаваны час 503 00:27:12,000 --> 00:27:14,000 таму што пад капотам, што асацыятыўны масіў 504 00:27:14,000 --> 00:27:16,000 сапраўды ўяўляе сабой хэш-табліцу. 505 00:27:16,000 --> 00:27:20,000 Нагадаем, што Хэш-табліца дазваляе размясціць у некаторых ўваходных 506 00:27:20,000 --> 00:27:25,000 хацелі пакласці ў словы Давіда, калі вы хочаце, каб ўставіць Давіда ў нейкі слоўнік, 507 00:27:25,000 --> 00:27:27,000 і тады вы атрымаеце назад некаторы значэнне звычайна. 508 00:27:27,000 --> 00:27:29,000 У выпадку правапісу, сапраўдным або ілжывым. 509 00:27:29,000 --> 00:27:33,000 Дэвід або што слова або няма ў слоўніку. 510 00:27:33,000 --> 00:27:36,000 Асацыятыўны масіў, на самай справе проста хэш-табліцы, 511 00:27:36,000 --> 00:27:38,000 але гэта значна больш зручным увасабленнем яго. 512 00:27:38,000 --> 00:27:41,000 Як мы ўбачым, гэта будзе, каб дазволіць нам зрабіць некаторыя рэчы 513 00:27:41,000 --> 00:27:43,000 Вельмі, вельмі лёгка. 514 00:27:43,000 --> 00:27:45,000 >> Давайце зірнем на некаторыя асноўныя PHP 515 00:27:45,000 --> 00:27:47,000 прыклады і паглядзім, што мы можам зрабіць з гэтай мовай. 516 00:27:47,000 --> 00:27:51,000 Дазвольце мне ісці наперад і адкрываць у нашай зыходны каталог сёння 517 00:27:51,000 --> 00:27:54,000 файл з імем hello1.php. 518 00:27:54,000 --> 00:27:57,000 Гэты файл больш каментароў, чым рэальны код, 519 00:27:57,000 --> 00:28:00,000 так што дазвольце мне на самай справе выдаліць усе з файла 520 00:28:00,000 --> 00:28:05,000 і прадставіць Вам магчыма, самы просты PHP праграму прама тут. 521 00:28:05,000 --> 00:28:07,000 5 ліній, а некаторыя з іх з'яўляюцца прабелы, 522 00:28:07,000 --> 00:28:09,000 так што заўважыць некаторыя ключавыя адрозненні тут. 523 00:28:09,000 --> 00:28:12,000 Размовы называецца hello1.php. 524 00:28:12,000 --> 00:28:16,000 Самая першая радок, хоць, 00:28:18,000 Падобныя па духу да HTML, 526 00:28:18,000 --> 00:28:21,000 , Што паслядоўнасць знакаў, паведамляе кампутара 527 00:28:21,000 --> 00:28:25,000 "Гэй, кампутар, вось праграма, якую мы знаходзімся ў ў PHP." 528 00:28:25,000 --> 00:28:28,000 Ён упэўнены, што гэта не збянтэжыла, што гэта нейкі іншую мову. 529 00:28:28,000 --> 00:28:30,000 Лінія 2 з'яўляецца цікавай прабел. 530 00:28:30,000 --> 00:28:32,000 3. лінія наш стары сябар Printf, 531 00:28:32,000 --> 00:28:34,000 на гэты раз у кантэксце PHP. 532 00:28:34,000 --> 00:28:37,000 PHP мае сваю ўласную версію Printf, які паводзіць сябе сапраўды гэтак жа, 533 00:28:37,000 --> 00:28:39,000 Так што гэта толькі збіраецца друкаваць "Hello, World". 534 00:28:39,000 --> 00:28:46,000 І тады гэты тэг процілеглага тут,>, азначае, што менавіта для майго PHP кода. 535 00:28:46,000 --> 00:28:48,000 >> Давайце паглядзім, як кіраваць гэтым. 536 00:28:48,000 --> 00:28:50,000 Я збіраюся вярнуцца ў сваю акне тэрмінала тут. 537 00:28:50,000 --> 00:28:52,000 Я збіраюся пайсці ў маю PHP дырэкторыю. 538 00:28:52,000 --> 00:28:56,000 Звярніце ўвагу, што ў нас ёсць цэлая куча файлаў, першы з якіх з'яўляецца hello.php. 539 00:28:56,000 --> 00:29:01,000 Дазвольце мне ісці наперад і выканаць гэта, hello1.php, увядзіце. 540 00:29:01,000 --> 00:29:03,000 Доступ забаронены. Добра. 541 00:29:03,000 --> 00:29:06,000 Як мы зафіксаваныя такія рэчы, як гэта ў мінулым? 542 00:29:06,000 --> 00:29:08,000 Што гэта? >> [Неразборліва адказ студэнта] 543 00:29:08,000 --> 00:29:11,000 Нам патрэбна чытаць і пісаць, але дазвольце мне зрабіць LS-л. 544 00:29:11,000 --> 00:29:14,000 Памятаеце пра гэта некалькі загадкава выхад якога hello1 545 00:29:14,000 --> 00:29:17,000 здаецца, для чытання і запісы мной 546 00:29:17,000 --> 00:29:19,000 але чытаецца усімі астатнімі. 547 00:29:19,000 --> 00:29:22,000 Аказваецца, гэта на самай справе не з'яўляецца крокам у правільным кірунку. 548 00:29:22,000 --> 00:29:25,000 Розніца, зноў жа, з інтэрпрэтаваная мова 549 00:29:25,000 --> 00:29:27,000 гэта вы не запусціце праграму напрамую. 550 00:29:27,000 --> 00:29:30,000 Вы, а не працаваць перакладчыкам і перадаць яго код 551 00:29:30,000 --> 00:29:33,000 што вы напісалі так што ён можа інтэрпрэтаваць гэта радок за радком. 552 00:29:33,000 --> 00:29:36,000 У гэтым выпадку перакладчык або праграму, якую я на самой справе хочуць працаваць 553 00:29:36,000 --> 00:29:38,000 літаральна называецца PHP. 554 00:29:38,000 --> 00:29:41,000 >> Дзесьці на гэтым цвёрдым дыску апарата ёсць праграма 555 00:29:41,000 --> 00:29:45,000 напісаў нехта іншы называецца PHP, або на АС Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Што я буду рабіць тут, я буду рэальна працаваць PHP 557 00:29:48,000 --> 00:29:51,000 але даць яму ў якасці аргументу каманднага радка кода, які я напісаў, 558 00:29:51,000 --> 00:29:54,000 і тады я буду маштаб і націсніце ўвод. 559 00:29:54,000 --> 00:29:58,000 Яна працуе мая праграма для мяне, зверху ўніз, злева направа. 560 00:29:58,000 --> 00:30:01,000 Дазвольце мне ісці наперад і адкрываць невялікія адхіленні ад гэтага. 561 00:30:01,000 --> 00:30:05,000 У hello2.php заўважыць, што гэта занадта 562 00:30:05,000 --> 00:30:08,000 у асноўным каментары, таму дазвольце мне пазбавіцца ад тых, як адцягненне, 563 00:30:08,000 --> 00:30:13,000 і тое, што відавочна адрозніваецца цяпер пра гэта файле? 564 00:30:13,000 --> 00:30:15,000 Там гэтая новая лінія, некалькі загадкавым на самым версе. 565 00:30:15,000 --> 00:30:20,000 У радку 1 гэта #! / Бэн / PHP. 566 00:30:20,000 --> 00:30:24,000 Бэн з'яўляецца Канвенцыя аб Linux і Mac OS для двайковых файлаў, 567 00:30:24,000 --> 00:30:27,000 так / бен азначае, што гэта тэчка, якая змяшчае кучу файлы 568 00:30:27,000 --> 00:30:29,000 , Які запраграмаваны, адным з якіх з'яўляецца PHP. 569 00:30:29,000 --> 00:30:32,000 #! па мянушцы прытон, 570 00:30:32,000 --> 00:30:35,000 , Якая з'яўляецца хуткім спосабам сказаць гэта, і што гэта азначае 571 00:30:35,000 --> 00:30:40,000 з'яўляецца тое, што, калі вы запусціце гэтую праграму зараз ёсць намёк на пачатак файла 572 00:30:40,000 --> 00:30:44,000 , Якая кажа кампутара, што перакладчык у выкарыстанні. 573 00:30:44,000 --> 00:30:47,000 >> Гэта становіцца трохі раздражняе, калі вы павінны былі расказаць сваім карыстальнікам і кліентам 574 00:30:47,000 --> 00:30:50,000 "Гэй, мы напісалі гэтую праграму пад назвай hello1.php". 575 00:30:50,000 --> 00:30:54,000 Усё, што вам трэба зрабіць, гэта назаўжды запуску PHP, а затым імя гэтай праграмы. 576 00:30:54,000 --> 00:30:58,000 Шчыра кажучы, было б проста прыемней працаваць hello1.php, 577 00:30:58,000 --> 00:31:00,000 І сапраўды, мы можам, калі мы робім наступнае. 578 00:31:00,000 --> 00:31:05,000 Дазвольце мне ісці наперад і рабіць LS-л, а апавяшчэнне ў hello2 гэта яшчэ толькі чытання і запісу 579 00:31:05,000 --> 00:31:10,000 , А затым чытаць чытаць, так што я пакуль не магу гэта зрабіць, hello2.php. 580 00:31:10,000 --> 00:31:15,000 Але мы ўвялі гэта вельмі коратка апошні час, каманда CHMOD. 581 00:31:15,000 --> 00:31:20,000 Калі я CHMOD + х, які азначае, што ўсе плюс выканальны, 582 00:31:20,000 --> 00:31:26,000 , А затым hello2.php, а затым зрабіць LS-л зноў заўважаем, што змянілася. 583 00:31:26,000 --> 00:31:29,000 Адзін з іх, Linux паказвае мне імя файла ў зялёную, каб перадаць ідэю 584 00:31:29,000 --> 00:31:32,000 што гэта выкананы файл, але што яшчэ больш важна, на левай баку 585 00:31:32,000 --> 00:31:36,000 заўважыць, што біт, які ўяўляе х выкананых у цяперашні час ўстаноўлена. 586 00:31:36,000 --> 00:31:42,000 Што гэта азначае зараз гэта я магу запусціць ./hello2.php як звычайна, 587 00:31:42,000 --> 00:31:45,000 націсніце ўвод, і з-за прытон ў самым пачатку файла 588 00:31:45,000 --> 00:31:48,000 гэта намёк, зноў жа, Linux, якая кажа 589 00:31:48,000 --> 00:31:51,000 выкарыстаць гэты перакладчык, каб запусціць гэты файл. 590 00:31:51,000 --> 00:31:54,000 Не турбуйцеся аб прымушаючы карыстальніка ўводзіць яго на самай справе. 591 00:31:54,000 --> 00:31:57,000 >> І што прыемна цяпер гэта накшталт не мае дачынення да маіх кліентам або сябрам 592 00:31:57,000 --> 00:32:01,000 якую мову я напісаў гэтую праграму, таму я магу ісці наперад з ЬІ 593 00:32:01,000 --> 00:32:04,000 і перайменаваць гэтую рэч hello2, напрыклад. 594 00:32:04,000 --> 00:32:07,000 І зараз, калі я ./hello2 595 00:32:07,000 --> 00:32:10,000 і памяншэнне мая праграма працягвае працаваць. 596 00:32:10,000 --> 00:32:13,000 Гэтыя файлавыя пашырэння чалавечых канвенцыі, што гэта неабходна 597 00:32:13,000 --> 00:32:15,000 нешта накшталт Clang і зрабіць, хто глядзіць на іх. 598 00:32:15,000 --> 00:32:18,000 Але для PHP, я мог бы назваць гэта нічога пашырэнне файла я хачу. 599 00:32:18,000 --> 00:32:22,000 Я мог бы падмануць свет, думаючы, што я сапраўды добра Ruby, 600 00:32:22,000 --> 00:32:25,000 і я мог бы напісаць hello2.rb, а затым запусціць гэта, 601 00:32:25,000 --> 00:32:28,000 і вуаля, зараз у мяне ёсць версія Ruby, якая з'яўляецца поўнай хлуснёй. 602 00:32:28,000 --> 00:32:30,000 Але пашырэнняў файлаў, не маюць сэнсу 603 00:32:30,000 --> 00:32:35,000 калі файл з'яўляецца выкананым і мае адмысловую гэтым намёк на пачатак файла. 604 00:32:35,000 --> 00:32:38,000 >> Цяпер, як і ў бок, дазвольце мне паказаць вам хутка версіі 3, 605 00:32:38,000 --> 00:32:40,000 якая з'яўляецца свайго роду карысны трук ведаць. 606 00:32:40,000 --> 00:32:45,000 У hello3 я зрабіў нешта трохі няправільна 607 00:32:45,000 --> 00:32:47,000 што я буду абнаўляць онлайн зыходным кодам. 608 00:32:47,000 --> 00:32:50,000 У версіі 3 і атрымліваецца, што на большасці кампутараў Linux 609 00:32:50,000 --> 00:32:53,000 ёсць праграма пад назвай акр для навакольнага асяроддзя, 610 00:32:53,000 --> 00:32:56,000 і што вы можаце рабіць тут, калі вы не ведаеце, дзе PHP 611 00:32:56,000 --> 00:33:00,000 усталяваны на лакальны жорсткі дыск, таму што гэта сапраўды можа мяняцца ў залежнасці ад кампутара 612 00:33:00,000 --> 00:33:03,000 што хтосьці выкарыстоўвае, ENV проста кажа працаваць ENV, 613 00:33:03,000 --> 00:33:07,000 , Які знаходзіцца на большасці сістэм, і высветліць, дзе PHP ёсць. 614 00:33:07,000 --> 00:33:11,000 Проста звычайны прыём, таму вам не прыйдзецца турбавацца аб высветліць, дзе праграма. 615 00:33:11,000 --> 00:33:14,000 Але калі вы клапоціцеся, каб высветліць, дзе праграма і вы не клапаціўся да гэтага часу 616 00:33:14,000 --> 00:33:16,000 Вы можаце выкарыстоўваць якую каманда. 617 00:33:16,000 --> 00:33:19,000 >> Дазвольце мне маштаб і тып якіх PHP, 618 00:33:19,000 --> 00:33:23,000 і звярніце ўвагу, ён кажа мне, што гэта на самай справе ў USR / бен / PHP. 619 00:33:23,000 --> 00:33:25,000 Гэта свайго роду хлусня. Гэта знаходзіцца таксама ў смеццевае вядро. 620 00:33:25,000 --> 00:33:27,000 Гэта проста паказвае мне першы ўдар. 621 00:33:27,000 --> 00:33:31,000 Калі вы калі-небудзь задаваліся пытаннем, дзе Clang ёсць, што Clang, які ў USR / бен / ляск, 622 00:33:31,000 --> 00:33:34,000 , Якія робяць, USR / бен / зрабіць, і што гэта значыць, увесь гэты час 623 00:33:34,000 --> 00:33:38,000 Вы маглі ўводзіць USR / бен / ляск ўвесці для запуску Clang, 624 00:33:38,000 --> 00:33:41,000 але гэта накшталт стомнай, каб зрабіць гэта, таму некаторыя тэчкі 625 00:33:41,000 --> 00:33:44,000 як USR / бен і бен мяркуюцца па змаўчанні 626 00:33:44,000 --> 00:33:50,000 так што кампутар ведае, шукаць у іх для вас. 627 00:33:50,000 --> 00:33:53,000 Любыя пытанні па напісанні супер, супер проста Hello праграмы Сусветнага 628 00:33:53,000 --> 00:33:55,000 У PHP, а затым запусціць яго? 629 00:33:55,000 --> 00:33:59,000 Таму што цяпер мы пачнём ўкараняць больш пераканаўчым сінтаксісу. 630 00:33:59,000 --> 00:34:01,000 Добра, тут мы ідзем. 631 00:34:01,000 --> 00:34:03,000 Гэтыя праграмы, якія мы бачылі на самай справе ўсё з іх раней. 632 00:34:03,000 --> 00:34:07,000 >> Калі я адкрываю, напрыклад, давайце зробім beer1.php, 633 00:34:07,000 --> 00:34:09,000 Мы не пройдзе праз некалькі версій, але тое, што я зрабіў 634 00:34:09,000 --> 00:34:13,000 быў я сеў і выліў яе ці ператвораныя 635 00:34:13,000 --> 00:34:15,000 мой C код, код PHP тут. 636 00:34:15,000 --> 00:34:18,000 Большасць з верхняй часткі файла каментары тут. 637 00:34:18,000 --> 00:34:20,000 Аказваецца, ёсць яшчэ адна новая функцыя, мы павінны называць Readline. 638 00:34:20,000 --> 00:34:23,000 GetString, нагадаем, ад тыдня 0 наперад было CS50 рэч. 639 00:34:23,000 --> 00:34:27,000 PHP пастаўляецца са сваёй уласнай зручнай функцыяй завецца Readline 640 00:34:27,000 --> 00:34:30,000 , Што займае 1 аргумент, які вызначае радкі 641 00:34:30,000 --> 00:34:33,000 што вы хочаце паказаць карыстальніку, і тое, што робіць Readline 642 00:34:33,000 --> 00:34:35,000 яно вяртае ўсё, што карыстач набірае цалі 643 00:34:35,000 --> 00:34:39,000 У гэтым выпадку, я аб'яўленні зменнай $ п. 644 00:34:39,000 --> 00:34:42,000 Я захоўванні ў ім вяртаецца значэння Readline 645 00:34:42,000 --> 00:34:44,000 Пасля запыту карыстальніка з гэтай радком. 646 00:34:44,000 --> 00:34:47,000 Проста для рэзервовага капіявання, каб фактычна выканаць гэтую рэч, адпусьці мяне наперадзе 647 00:34:47,000 --> 00:34:50,000 і запусціць PHP beer1.php. 648 00:34:50,000 --> 00:34:53,000 Колькі бутэлек будзе? Давайце проста зрабіць 2 у гэты раз. 649 00:34:53,000 --> 00:34:55,000 Enter. Вось і ўсё. 650 00:34:55,000 --> 00:34:59,000 >> Праграма з'яўляецца функцыянальна ідэнтычныя версіі C ад тыдня таму. 651 00:34:59,000 --> 00:35:01,000 Але сінтаксічна давайце паглядзім, што па-іншаму. 652 00:35:01,000 --> 00:35:05,000 Пасля таго як я атрымліваю Int ад карыстальніка заўважылі, што я раблю некалькі памылак, 653 00:35:05,000 --> 00:35:08,000 а калі п складае менш за 1 я пайшоў, і я раздрукаваць 654 00:35:08,000 --> 00:35:11,000 прабачце паведамленне карыстачу і выхад з 1. 655 00:35:11,000 --> 00:35:13,000 Гэта таксама трохі адрозніваецца. 656 00:35:13,000 --> 00:35:16,000  У C Што ж нам рабіць? У C мы вярнуліся 1. 657 00:35:16,000 --> 00:35:20,000 У PHP вы выйдзеце з 1, які адкрыта, я думаю, трохі больш інтуітыўным 658 00:35:20,000 --> 00:35:22,000 таму што вы літаральна выхадзе з праграмы. 659 00:35:22,000 --> 00:35:25,000 Добра, а затым сюды раздражняе песні ідэнтычныя сінтаксічна 660 00:35:25,000 --> 00:35:29,000 за выключэннем зменнай, так што тут, у радку 24 наперад 661 00:35:29,000 --> 00:35:31,000 заўважыць майго цыклу амаль тое ж самае, 662 00:35:31,000 --> 00:35:34,000 але ў мяне ёсць $ у пярэдняй частцы я і п, 663 00:35:34,000 --> 00:35:37,000 і што таксама адсутнічае радок 26, якія мы мелі ў мінулым 664 00:35:37,000 --> 00:35:39,000 пры аб'яве зменнай я? 665 00:35:39,000 --> 00:35:41,000 Там няма тып. 666 00:35:41,000 --> 00:35:43,000 Гэта няправільна ў PHP сказаць Int. 667 00:35:43,000 --> 00:35:45,000 Вы проста не трэба гэтага рабіць. 668 00:35:45,000 --> 00:35:48,000 Кампутар, РНР досыць разумны, каб разумець, 669 00:35:48,000 --> 00:35:51,000 што калі вы пакладзеце нумар у $ I ён будзе ставіцца да яго 670 00:35:51,000 --> 00:35:53,000 як нумар для вас. 671 00:35:53,000 --> 00:35:57,000 А потым тут мы відэлец у $ я, $ I $ - 1. 672 00:35:57,000 --> 00:36:00,000 Усё, што тое ж самае, а затым тут мы робім "Нічога сабе, гэта раздражняе" Printf 673 00:36:00,000 --> 00:36:02,000 , А затым выйсці (0). 674 00:36:02,000 --> 00:36:05,000 >> Зноў жа, вынас ў тым, што нават калі мы збіраемся правесці адносна 675 00:36:05,000 --> 00:36:09,000 мала часу на PHP, вядома, супраць таго, што мы зрабілі на C, 676 00:36:09,000 --> 00:36:12,000 гэта амаль тое ж самае, і так, што мы будзем рабіць сёння і на наступным тыдні 677 00:36:12,000 --> 00:36:14,000 і за гэта сапраўды засяродзіцца на некаторых з новых ідэй. 678 00:36:14,000 --> 00:36:17,000 Проста каб паглядзець, што яшчэ адна рэч робіць пераклад больш з C, 679 00:36:17,000 --> 00:36:20,000 гэта было супер проста праграма, якую мы зрабілі ў тыдзень 1 680 00:36:20,000 --> 00:36:22,000 або 2, што ў кубе значэнне. 681 00:36:22,000 --> 00:36:25,000 Але што цікава, у той час аб гэтай праграме з'яўляецца тое, што 682 00:36:25,000 --> 00:36:28,000 ўведзена паняцце карыстацкага напісаў функцыі, якія мы самі пісалі. 683 00:36:28,000 --> 00:36:31,000 Сінтаксіс ў PHP амаль тое ж самае. 684 00:36:31,000 --> 00:36:33,000 Вось мая праграма наверсе. 685 00:36:33,000 --> 00:36:35,000 Звярніце ўвагу, зноў адсутнічае любое паняцце асноўнага. 686 00:36:35,000 --> 00:36:39,000 Я пачынаю пісаць код, і гэта тое, што збіраецца атрымаць выкананы інтэрпрэтатарам. 687 00:36:39,000 --> 00:36:42,000 Я раздрукуйце х цяпер 2, па-відаць. 688 00:36:42,000 --> 00:36:44,000 Тады я сцвярджаю, кубатуры ... 689 00:36:44,000 --> 00:36:47,000 Тады я называю куб функцыі і перадаць у $ х 690 00:36:47,000 --> 00:36:50,000 і прысвоіць вяртаецца значэнне $ х. 691 00:36:50,000 --> 00:36:53,000 Тады я сцвярджаю, што гэта кубе, і тады я кажу пра гэта, якое, мы спадзяемся, 692 00:36:53,000 --> 00:36:55,000 скажу х цяпер 8. 693 00:36:55,000 --> 00:36:59,000 Сінтаксіс функцыі ў PHP з'яўляецца вельмі трохі іншая. 694 00:36:59,000 --> 00:37:01,000 Зноў хапае вяртаецца тыпу. 695 00:37:01,000 --> 00:37:05,000 Зноў жа зніклых без вестак вяртаецца тыпу, а таксама адсутнічае, так гэта тое, што іншы тып? 696 00:37:05,000 --> 00:37:07,000 [Неразборліва адказ студэнта] 697 00:37:07,000 --> 00:37:10,000 Ну, добра, гэта добра. Давайце вернемся да гэтага ў секунду. 698 00:37:10,000 --> 00:37:12,000 >> У нас няма, напрыклад, INT тут. 699 00:37:12,000 --> 00:37:15,000 Мы не, напрыклад, былі Int тут, таму што, зноў жа, у PHP 700 00:37:15,000 --> 00:37:18,000 Вы проста не павінны і не павінны рабіць, 701 00:37:18,000 --> 00:37:20,000 а там гэта новае ключавое слова завецца функцыяй. 702 00:37:20,000 --> 00:37:23,000 У PHP гэта амаль крышачку больш зразумела, таму што, калі вы хочаце функцыя 703 00:37:23,000 --> 00:37:26,000 Вы літаральна кажуць функцыю, вы даеце яму імя, а затым праз коску 704 00:37:26,000 --> 00:37:28,000 калі якое-небудзь з яе аргументаў. 705 00:37:28,000 --> 00:37:32,000 Няма неабходнасці гаварыць, несапраўдным або нешта ў гэтым родзе, а потым вярнуцца і тое ж, 706 00:37:32,000 --> 00:37:35,000 $ * $ * $. 707 00:37:35,000 --> 00:37:38,000 Што ж не хапае? Сэмі паказаў на гэта тут. 708 00:37:38,000 --> 00:37:43,000 У верхняй частцы файла цалкам адсутнічае ў PHP таксама з'яўляецца прататыпам. 709 00:37:43,000 --> 00:37:45,000 Гэта таксама па дызайне. 710 00:37:45,000 --> 00:37:48,000 Мовы і перакладчыкі, як PHP разумнейшы, чым калі-небудзь C 711 00:37:48,000 --> 00:37:50,000 У кампілятары, як Clang. 712 00:37:50,000 --> 00:37:53,000 >> Нагадаем, што Clang, калі вы не паведаміце яму, што куб існуе, 713 00:37:53,000 --> 00:37:56,000 калі вы не паведаміце яму, што Printf існуе ў выглядзе прататыпа з 714 00:37:56,000 --> 00:38:00,000 або з # ўключыць, ну, ён збіраўся крычаць на вас і нават не кампіляцыі кода. 715 00:38:00,000 --> 00:38:03,000 PHP і больш сучасныя мовы нашмат разумней, калі справа даходзіць да гэтага. 716 00:38:03,000 --> 00:38:07,000 Яны возьмуць на сябе прачытаць увесь код 717 00:38:07,000 --> 00:38:11,000 , А затым крычаць на вас, толькі калі ён знаходзіць куб нікуды. 718 00:38:11,000 --> 00:38:15,000 Гэта не мае значэння, калі куба знаходзіцца на ніжняй або верхняй або нават у некаторых асобным файле. 719 00:38:15,000 --> 00:38:18,000 PHP і падобных моў у цяперашні час досыць разумныя, каб глядзець у будучыню 720 00:38:18,000 --> 00:38:26,000 на ўсё, перш чым лічачы вас, як дапусціўшы памылку. 721 00:38:26,000 --> 00:38:28,000 Дзе гэта пакідае нас? 722 00:38:28,000 --> 00:38:32,000 >> Давайце зробім адзін прыклад тут, ва ўмовах, 723 00:38:32,000 --> 00:38:35,000 і калі я адкрываю conditions2.php апавяшчэння таксама 724 00:38:35,000 --> 00:38:37,000 Сінтаксіс тут амаль тое ж самае. 725 00:38:37,000 --> 00:38:40,000 Я выкарыстоўваю Readline замест GetString, але гэтую лінію гэтак жа, як і раней, 726 00:38:40,000 --> 00:38:42,000 "Я хацеў бы цэлае, калі ласка". 727 00:38:42,000 --> 00:38:45,000 Я тады, калі ўмова, інакш, калі, а затым іншае, 728 00:38:45,000 --> 00:38:48,000 але функцыянальна гэтая праграма таксама ідэнтычна таго, што мы зрабілі тыдняў назад 729 00:38:48,000 --> 00:38:51,000 так што калі я запускаю гэтую рэч, PHP з conditions2, 730 00:38:51,000 --> 00:38:54,000 і я даю яму нумар, як 23 - 731 00:38:54,000 --> 00:38:57,000 Я абраў станоўчае лік. Калі я даю яму -1 Я абраў адмоўнае лік. 732 00:38:57,000 --> 00:39:00,000 Калі я даю добра 0 сапраўды ўзяў 0. 733 00:39:00,000 --> 00:39:02,000 Дык хто ж клапоціцца пра ўсё гэта? 734 00:39:02,000 --> 00:39:06,000 Ну, адзін з пацешных роду практыкаванні тут 735 00:39:06,000 --> 00:39:10,000 Для мяне па крайняй меры, павінен быў вярнуцца і паглядзець, як хутка я мог бы ажыццяўляць PSET 5, 736 00:39:10,000 --> 00:39:12,000 памылкамі друку PSET. 737 00:39:12,000 --> 00:39:15,000 Нагадаем, што там быў гэты файл пад назвай speller.c, 738 00:39:15,000 --> 00:39:17,000 і там быў файл з імем dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Тое, што я зрабіў, я як бы выдаткаваў некалькі хвілін, і я ператварыў код C 740 00:39:20,000 --> 00:39:23,000 у кодзе PHP, і мы не будзем марнаваць шмат часу на спеллер 741 00:39:23,000 --> 00:39:26,000 таму як у PSET 5 вы сапраўды не трэба, каб 742 00:39:26,000 --> 00:39:29,000 марнаваць шмат часу на спеллер сябе, таму што ваша ўвага была прыкавана да слоўніка. 743 00:39:29,000 --> 00:39:32,000 >> Дастаткова сказаць, што калі вы прачыталі правапісу, 744 00:39:32,000 --> 00:39:35,000 Гэты файл тут, гэта ў значнай ступені эквівалентна код C 745 00:39:35,000 --> 00:39:37,000 мы далі вам для PSET 5. 746 00:39:37,000 --> 00:39:39,000 Я толькі што дадалі каля $ на месцах. 747 00:39:39,000 --> 00:39:43,000 Я змяніў некаторыя імёны функцый, калі яны не існуюць у PHP. 748 00:39:43,000 --> 00:39:45,000 Там адна дадатковая рэч тут, preg_match, 749 00:39:45,000 --> 00:39:48,000 які трохі аматар спосаб рабіць нешта, але мы вернемся да гэтага ў рэшце рэшт. 750 00:39:48,000 --> 00:39:51,000 Але ў агульным, правапісу амаль ідэнтычныя, і калі вы паглядзіце на самае дно 751 00:39:51,000 --> 00:39:54,000 тое, што ён у канчатковым выніку выплёўвае гэта тут, 752 00:39:54,000 --> 00:39:57,000 словы з памылкамі, слова ў слоўнік, слова ў тэксце. 753 00:39:57,000 --> 00:40:00,000 Добра, так што цікава зараз заключаецца ў наступным. 754 00:40:00,000 --> 00:40:05,000 У верхняй частцы майго файла Я патрабуюць dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Гэтак жа, як C # быў ўключаюць PHP ёсць адмысловая функцыя, званая патрабуюць 756 00:40:09,000 --> 00:40:14,000 што ў значнай ступені робіць тое ж самае, патрабуе файл з імем dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Як я магу ісці аб рэалізацыі PSET 5? 758 00:40:18,000 --> 00:40:21,000 Дазвольце мне ісці наперад і адкрываць файл тут. 759 00:40:21,000 --> 00:40:24,000 Дазвольце мне трохі спасылкай тут. 760 00:40:24,000 --> 00:40:29,000 І дазвольце мне стварыць новы файл і пачаць называць гэта dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Дазвольце мне сказаць гэта ў іншы тэчцы, так што мы можам зрабіць гэта жыць. 762 00:40:31,000 --> 00:40:33,000 А цяпер я змяніць маштаб малюнка 763 00:40:33,000 --> 00:40:37,000 Я збіраюся пачаць сваё PHP файлаў з адкрытым кранштэйны PHP зачынена кранштэйн. 764 00:40:37,000 --> 00:40:40,000 І тады тут было некалькі функцый Мне трэба рэалізаваць для PSET 5, 765 00:40:40,000 --> 00:40:42,000 так што дазвольце мне пачаць рэалізацыю некаторых з тых, 766 00:40:42,000 --> 00:40:47,000 так што функцыя праверкі, якія павінны былі ўзяць слова ў якасці аргументу. 767 00:40:47,000 --> 00:40:49,000 Мы будзем рабіць гэта і вярнуцца да яго ў дадзены момант. 768 00:40:49,000 --> 00:40:53,000 >> Існаваў функцыі нагрузку, якая адбылася ў тым, што ў якасці аргументу? 769 00:40:53,000 --> 00:40:56,000 Слоўнік, таму файл, што я на самой справе хацеў, каб загрузіць. 770 00:40:56,000 --> 00:41:00,000 Існаваў функцыі памеры, які не прымае аргументаў 771 00:41:00,000 --> 00:41:04,000 і там была функцыя-тое, што было іншым? 772 00:41:04,000 --> 00:41:06,000 Unload, які не прымае аргументаў небудзь. 773 00:41:06,000 --> 00:41:10,000 Гэтыя 4 функцыі, што я павінен быў бы зараз рэалізаваць у PHP, 774 00:41:10,000 --> 00:41:13,000 і тое, што я збіраюся зрабіць, гэта ісці наперад і рабіць гэта. 775 00:41:13,000 --> 00:41:16,000 Многія з вас выкарыстоўваць хэш-табліцу ў PSET 5, 776 00:41:16,000 --> 00:41:21,000 так што дазвольце мне пайсці далей і стварыць хэш-табліцы ў PHP. 777 00:41:21,000 --> 00:41:23,000 Гатова. 778 00:41:23,000 --> 00:41:25,000 Гэта дае мне хэш-табліцы. Ну, чаму? 779 00:41:25,000 --> 00:41:30,000 Адзін з іх, зменная называецца $ табліцы, проста каб выклікаць ва ўяўленні ідэю хэш-табліцы. 780 00:41:30,000 --> 00:41:34,000 Квадратныя дужкі, хоць, нагадаем, ўяўляюць сабой што? 781 00:41:34,000 --> 00:41:37,000 Масіве, але ў масівах PHP не павінны быць лікавымі індэксамі. 782 00:41:37,000 --> 00:41:41,000 Яны таксама могуць быць асацыятыўнымі масівамі, 783 00:41:41,000 --> 00:41:44,000 якая азначае, што вы можаце мець адвольную ключоў і значэнняў. 784 00:41:44,000 --> 00:41:49,000 >> Многае, як у PSET 5, тыя з вас, хто гэта зрабіў хэш-табліцы рэалізацый 785 00:41:49,000 --> 00:41:53,000 Вы, верагодна, уставіў слова, а затым ўставіць яго ў ланцужок звязаных спісаў, 786 00:41:53,000 --> 00:41:56,000 ці вы захавалі значэнне ісціна дзесьці ці нешта ў гэтым родзе. 787 00:41:56,000 --> 00:41:59,000 Вы чамусьці ўспомніў той факт, што слова не было. 788 00:41:59,000 --> 00:42:01,000 На дадзены момант, гэта будзе мой хэш-табліцы, 789 00:42:01,000 --> 00:42:06,000 І вось цяпер ісці аб рэалізацыі функцыі кантролю 790 00:42:06,000 --> 00:42:09,000 Мне проста трэба, каб зазірнуць унутр гэтага хэш-табліцы 791 00:42:09,000 --> 00:42:11,000 і паглядзець, калі слова ёсць. 792 00:42:11,000 --> 00:42:15,000 Тое, што я збіраюся зрабіць, гэта я збіраюся казаць, калі- 793 00:42:15,000 --> 00:42:20,000 скажам, Исеть, якая з'яўляецца PHP функцыя, якая літаральна азначае, набор ключоў, 794 00:42:20,000 --> 00:42:24,000 так Исеть ($ табліцу [$ словам], 795 00:42:24,000 --> 00:42:29,000 і калі так, вярнуць праўдзівы. 796 00:42:29,000 --> 00:42:32,000 Вось і ўсё. Вось PSET 5 у PHP. 797 00:42:32,000 --> 00:42:34,000 Ну, справядлівасці дзеля, усё ў парадку. 798 00:42:34,000 --> 00:42:37,000 Астатняе вярнуцца ілжывым, так што гэта не было. 799 00:42:37,000 --> 00:42:39,000 Што на самай справе адбываецца? 800 00:42:39,000 --> 00:42:42,000 Ну, калі табліцы або хэш-табліцы тут у больш агульным- 801 00:42:42,000 --> 00:42:46,000 ўяўляе сабой асацыятыўны масіў, што азначае, што вы можаце індэксаваць ў яго 802 00:42:46,000 --> 00:42:50,000 словам, як «слова», і вы павінны вярнуць некаторы значэнне. 803 00:42:50,000 --> 00:42:52,000 >> Мы быццам атрымліваю адзін крок наперадзе нас. 804 00:42:52,000 --> 00:42:56,000 Было бы збольшага добра, калі б мы на самай справе загружаецца файл першым, 805 00:42:56,000 --> 00:42:58,000 так што нагрузка не так проста, але дазвольце мне ісці наперад і на хуткую руку 806 00:42:58,000 --> 00:43:00,000  вельмі хутка ажыццяўленне нагрузкі. 807 00:43:00,000 --> 00:43:07,000 Дазвольце мне ісці наперад і сказаць словамі атрымлівае файл слоўніка. 808 00:43:07,000 --> 00:43:10,000 Размовы функцыю ў PHP адкрывае файл 809 00:43:10,000 --> 00:43:12,000 і вяртаецца да вас масіў ўсе словы ў гэтым файле, 810 00:43:12,000 --> 00:43:14,000 проста перадае іх вам. 811 00:43:14,000 --> 00:43:16,000 Гэта была вялікая боль таксама, ці не так? 812 00:43:16,000 --> 00:43:21,000 Зараз па кожнаму элементу, гэта наша новая канструкцыя, Еогеасп ($ словы $ словам). 813 00:43:21,000 --> 00:43:25,000 Гэты цыкл будзе пачынацца ітэрацыі па масіве слоў 814 00:43:25,000 --> 00:43:30,000 і прысвоіць зменнай $ словам кожнае слова ў файле 815 00:43:30,000 --> 00:43:32,000 ад першай да другой да трэцяй на чацвёртую ўсе шляхі 816 00:43:32,000 --> 00:43:35,000 так што я не павінен рабіць раздражняльныя [I] абазначэння і таму падобнае. 817 00:43:35,000 --> 00:43:38,000 І тое, што я проста буду рабіць для кожнага з гэтых слоў 818 00:43:38,000 --> 00:43:43,000 будзе захоўваць яго ў маёй табліцы індэксацыі ў табліцы 819 00:43:43,000 --> 00:43:47,000 , А затым рабіць так, таму што ўспомніць 820 00:43:47,000 --> 00:43:50,000 , Што слова ў маім слоўніку ўсё, што мне сапраўды трэба зрабіць, 821 00:43:50,000 --> 00:43:55,000 гэта свайго роду перавярнуць трохі, і кажуць, што гэтае слова ў маёй Хэш-табліца ёсць, праўда. 822 00:43:55,000 --> 00:43:58,000 І калі яго там няма, я не трэба відавочна пакласці ілжывымі, 823 00:43:58,000 --> 00:44:01,000 у адваротным выпадку я б паклаў ілжыва для ўсіх магчымых слоў ў Сусвеце. 824 00:44:01,000 --> 00:44:05,000 >> Досыць для мяне проста ўсталяваць значэнне індэкса 825 00:44:05,000 --> 00:44:09,000 праўдзіва, калі слова на самай справе ў маёй хэш-табліцы. 826 00:44:09,000 --> 00:44:12,000 Зараз, я рэзка пару кутоў тут, што я буду махаць рукамі на дадзены момант, 827 00:44:12,000 --> 00:44:15,000 але цяпер функцыя загрузкі зроблена. 828 00:44:15,000 --> 00:44:18,000 Я загружаю ўсе словы з файла ў масіў. 829 00:44:18,000 --> 00:44:21,000 Я перабору масіва, і для кожнага слова ў масіве 830 00:44:21,000 --> 00:44:24,000 Я падлучыць яго да маёй Хэш-табліца з 1 радком кода. 831 00:44:24,000 --> 00:44:26,000 Гэта весела. Вы ведаеце, як мы можам рэалізаваць памеру цяпер? 832 00:44:26,000 --> 00:44:28,000 Ну, памер заўсёды даволі лёгка, у справядлівасць. 833 00:44:28,000 --> 00:44:32,000 Тут мы можам проста вярнуць кол-ць сталом. 834 00:44:32,000 --> 00:44:34,000 Гэта даволі лёгка занадта, падлічыць колькасць рэчаў у табліцы. 835 00:44:34,000 --> 00:44:36,000 Гэта на самай справе выгляд не самы эфектыўны. 836 00:44:36,000 --> 00:44:39,000 Я, верагодна, варта мець зменную памеру такім чынам, мы можам зрабіць гэта 837 00:44:39,000 --> 00:44:41,000 У пастаянным часу, але гэта даволі лёгка. 838 00:44:41,000 --> 00:44:45,000 Ох, і затым выгрузіць, калі мы сапраўды хочам быць анальны тут 839 00:44:45,000 --> 00:44:47,000 мы можам сказаць, што гэта, як вы выгрузіць нешта. 840 00:44:47,000 --> 00:44:49,000 Вы проста ўсталяваць велічыню, роўную пусты масіў, 841 00:44:49,000 --> 00:44:51,000 і ён пазбаўляецца ад усяго, што было там. 842 00:44:51,000 --> 00:44:53,000 Не трэба тэлефанаваць бясплатна. 843 00:44:53,000 --> 00:44:56,000 >> Зноў жа, я скараціць некаторыя вуглы, і я прашу прабачэння за прысваенне праблема мноства 5 844 00:44:56,000 --> 00:45:00,000 магчыма, у C, але калі мы зараз ісці наперад і выканаць гэта, 845 00:45:00,000 --> 00:45:02,000 Я збіраюся на самай справе запусціць версію, якую я напісаў загадзя 846 00:45:02,000 --> 00:45:05,000 проста так, што я не рабіў ніякіх сінтаксічных памылак наогул. 847 00:45:05,000 --> 00:45:08,000 Дазвольце мне ісці наперад і працаваць правапісу. Выкарыстанне тое ж самае. 848 00:45:08,000 --> 00:45:12,000 Вось файл слоўніка, які толькі змяшчае слова Foo. 849 00:45:12,000 --> 00:45:15,000 Вось гэта тэкставы файл, які змяшчае толькі Foo Bar. 850 00:45:15,000 --> 00:45:19,000 Давайце праверкі арфаграфіі гэта, так правапісу, выкарыстоўваючы гэты файл слоўніка на гэтым тэкставым файле. 851 00:45:19,000 --> 00:45:21,000 Там адзін слова з памылкай, бар, і вуаля. 852 00:45:21,000 --> 00:45:23,000 Здзейснена з PSET 5. 853 00:45:23,000 --> 00:45:30,000 Давайце 5-хвілінны перапынак тут, і мы вернемся і больш на PHP. 854 00:45:30,000 --> 00:45:32,000 Добра, мы вярнуліся. 855 00:45:32,000 --> 00:45:34,000 Давайце рабіць-ненавідзіце мяне на некаторы час. 856 00:45:34,000 --> 00:45:37,000 Давайце цяпер на самай справе ўбачыць, калі гэта не было станоўчага 857 00:45:37,000 --> 00:45:39,000 на самай справе рэалізацыі гэтай рэчы ў PHP. 858 00:45:39,000 --> 00:45:43,000 Вядома, гэта заняло 45 секунд, каб рэалізаваць. 859 00:45:43,000 --> 00:45:45,000 >> Але давайце ісці наперад зараз і запусціць рэчы. 860 00:45:45,000 --> 00:45:49,000 Дазвольце мне ісці наперад і запусціць версію C 861 00:45:49,000 --> 00:45:52,000 з правапісу, і мы будзем запускаць яго на адным з найбуйнейшых файлаў, 862 00:45:52,000 --> 00:45:54,000 якая з'яўляецца Бібліі караля Джэймса. 863 00:45:54,000 --> 00:45:57,000 І вось у давайце ўвойдзем у нашу тэчку C, 864 00:45:57,000 --> 00:46:01,000 спеллер на караля Джэймса 5-га. 865 00:46:01,000 --> 00:46:03,000 Шмат слоў з памылкамі. 866 00:46:03,000 --> 00:46:06,000 Добра, так вось выснова, які вы, верагодна, атрымалі нават калі раз крыху па-іншаму, 867 00:46:06,000 --> 00:46:09,000 Калі вы атрымалі ўсё працуе правільна, і так раз у агульнай складанасці для праверкі правапісу 868 00:46:09,000 --> 00:46:13,000 Бібліі караля Джэймса быў 0,38 секунды, так што вельмі добра з дапамогай гэтай рэалізацыі. 869 00:46:13,000 --> 00:46:16,000 Цяпер дазвольце мне перайсці ў версіі PHP, якую мы толькі што напісалі. 870 00:46:16,000 --> 00:46:18,000 Дазвольце мне выканаць правапісу на караля Джэймса. 871 00:46:18,000 --> 00:46:21,000 Ой, ігнараваць гэтую памылку. Я ў тую дырэкторыю. 872 00:46:21,000 --> 00:46:24,000 Speller на караля Джэймса 5-га. 873 00:46:46,000 --> 00:46:48,000 Амаль гатова. 874 00:46:48,000 --> 00:46:51,000 >> Добра, праніклівы назіральнік зразумее, што быў больш чым на 3 секунды там. 875 00:46:51,000 --> 00:46:54,000 Гэта і ёсць сапраўдны час працы. 876 00:46:54,000 --> 00:46:58,000 Аказваецца, што гэта займае час, каб плюнуць шмат тэксту з 877 00:46:58,000 --> 00:47:00,000 з-за буферызацыі пытанні, але карацей кажучы, 878 00:47:00,000 --> 00:47:04,000 , Якая была 3,15 секунды машыннага часу, працэсарны час, 879 00:47:04,000 --> 00:47:07,000 супраць таго, што было хвіліну назад? 880 00:47:07,000 --> 00:47:09,000 Як .3. 881 00:47:09,000 --> 00:47:11,000 Я маю на ўвазе, гэта на парадак больш павольна, так дзе гэта 882 00:47:11,000 --> 00:47:14,000 Смешна запаволенне прыходзіць? 883 00:47:14,000 --> 00:47:17,000 Ну, як гэта было ў выпадку з большасцю любога дызайнерскага рашэння мы зрабілі 884 00:47:17,000 --> 00:47:21,000 у класе за апошнія 9 тыдняў там амаль заўсёды гэта кампраміс. 885 00:47:21,000 --> 00:47:24,000 Часам толькі паміж прасторай, часам паміж прасторай і часам, 886 00:47:24,000 --> 00:47:27,000 прасторы, часу і намаганняў у галіне развіцця, ды і тут, хоць 887 00:47:27,000 --> 00:47:31,000 Мы захавалі велізарную колькасць часу, можа быць, патэнцыйна 10-20-30 гадзін 888 00:47:31,000 --> 00:47:34,000 час распрацоўкі ажыццяўленні праверкі арфаграфіі 889 00:47:34,000 --> 00:47:36,000 пугамі яго ўсяго за 45 секунд з гэтай мовай 890 00:47:36,000 --> 00:47:40,000 Цана, якую мы заплацілі тое, што гэта на парадак больш павольна, як вынік, 891 00:47:40,000 --> 00:47:43,000 і гэта, як правіла, у выпадку з большасцю любой інтэрпрэтаваная мова, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Pearl або іншыя якой 893 00:47:46,000 --> 00:47:49,000 калі вы збіраецеся запусціць яго праз перакладчыка, а ён чытаў код 894 00:47:49,000 --> 00:47:52,000 радок за радком, зверху ўніз, злева направа, 895 00:47:52,000 --> 00:47:55,000 , Што пасярэднік збіраецца заняць некаторы час сваё, 896 00:47:55,000 --> 00:47:59,000 і што вы адчувалі сябе тут у 3 секунды, а не 0,3 секунды 897 00:47:59,000 --> 00:48:02,000 з'яўляецца той факт, што гэта пасярэднік, які мае ў літаральным сэнсе інтэрпрэтаваць наш код 898 00:48:02,000 --> 00:48:05,000 радок за радком, і не дай бог, калі вы знаходзіцеся ўнутры цыклу 899 00:48:05,000 --> 00:48:08,000 з велізарным файл, які змяшчае сотні тысяч слоў. 900 00:48:08,000 --> 00:48:11,000 >> Гэта накладныя збіраецца дадаць і скласці і дадаць і скласці. 901 00:48:11,000 --> 00:48:16,000 Для такі інструмент, як гэта, што гэта, верагодна, не самы лепшы мову, каб выкарыстоўваць для рэалізацыі 902 00:48:16,000 --> 00:48:20,000 праверка арфаграфіі, калі непасрэднасць ўяўляе цікавасць для карыстальнікаў, і для вас. 903 00:48:20,000 --> 00:48:23,000 Але раскоша, якую мы маем у дадзены момант з'яўляецца, калі Вы 904 00:48:23,000 --> 00:48:27,000 карыстацца мовай, як PHP або шмат інтэрпрэтаваных моў 905 00:48:27,000 --> 00:48:30,000 ў кантэксце Web, калі на тое пайшло, у вас ёсць выгада 906 00:48:30,000 --> 00:48:34,000 , Што Інтэрнэт з'яўляецца нашмат павольней, чым большасць кампутараў. 907 00:48:34,000 --> 00:48:38,000 У вас ёсць GHz CPU ў кампутары, 2 Ггц, можа быць, нават больш у гэтыя дні. 908 00:48:38,000 --> 00:48:41,000 Але рэальнасць такая, у інтэрнэце існуе вялікая колькасць затрымкай 909 00:48:41,000 --> 00:48:45,000 якой для браўзэра, каб пагаварыць з серверам, хоць мы бачылі на мінулым тыдні 910 00:48:45,000 --> 00:48:47,000 , Што даволі хутка, палову мілісекунды або так, 911 00:48:47,000 --> 00:48:51,000 , Што таксама дадае, і калі вы спампоўваеце рэчы, як малюнак 912 00:48:51,000 --> 00:48:54,000 ці фатаграфію Facebook або атрыманне імгненных паведамленняў праз балбатню Facebook, 913 00:48:54,000 --> 00:48:57,000 Gchat і да т.п., усё гэта туды-зваротна раз 914 00:48:57,000 --> 00:49:00,000 паміж браўзэрам і серверам пачатку складаць, 915 00:49:00,000 --> 00:49:03,000 што робіць ваш канкрэтны выбар мовы ў многіх выпадках 916 00:49:03,000 --> 00:49:07,000 Не ўсё, што неабходна, так што вы выдатна з дапамогай трохі павольней мове 917 00:49:07,000 --> 00:49:10,000 як PHP або Python або Ruby, 918 00:49:10,000 --> 00:49:13,000 але для якіх ёсць велізарныя расквітацца з вамі і вашымі калегамі 919 00:49:13,000 --> 00:49:17,000 і вашы сябры, таму што вы можаце рэалізаваць усе так, так нашмат хутчэй. 920 00:49:17,000 --> 00:49:20,000 І больш за тое, у вас значна менш рызыка пэўных недахопаў у бяспецы. 921 00:49:20,000 --> 00:49:22,000 Там няма паказальнікаў у PHP. 922 00:49:22,000 --> 00:49:25,000 Там няма сегментах няспраўнасцяў, якія можна лёгка выклікаць 923 00:49:25,000 --> 00:49:27,000 такім жа чынам, вы маглі б у C. 924 00:49:27,000 --> 00:49:29,000 З C ты супер блізка да абсталявання. 925 00:49:29,000 --> 00:49:33,000 З дапамогай PHP і аналагічных моў ты накшталт высокім узроўні, так бы мовіць, 926 00:49:33,000 --> 00:49:37,000 з вялікай колькасцю абарону паміж вамі і тое, што адбываецца на самай справе 927 00:49:37,000 --> 00:49:39,000 ўнутры машыны, і гэта ўсяго толькі кампраміс. 928 00:49:39,000 --> 00:49:42,000 >> Мы дайшлі да кропкі, якія маюць гэтыя больш сучасныя, мовы высокага ўзроўню 929 00:49:42,000 --> 00:49:47,000 як PHP, таму што з урокаў, вынятых ў мовах, як PHP на C. 930 00:49:47,000 --> 00:49:50,000 Але калі вы не разумееце, што адбывалася на пад капотам ўвесь гэты час 931 00:49:50,000 --> 00:49:53,000 Вы, вядома, не можа прымаць правільныя рашэнні, дызайн, 932 00:49:53,000 --> 00:49:56,000 і, вядома, калі справа даходзіць да працы на месцы, як Facebook або Google 933 00:49:56,000 --> 00:49:59,000 або любое з гэтых месцаў, якія ўсё часцей гуляюць з вялікімі наборамі дадзеных 934 00:49:59,000 --> 00:50:01,000 нават калі вы вярнуцца назад і зрабіць СБУЭОБ і працуюць з некаторымі MD 935 00:50:01,000 --> 00:50:04,000 на некаторых вялікіх набораў дадзеных з удзелам пацыентаў і лекараў 936 00:50:04,000 --> 00:50:08,000 і як з дапамогай правільных інструментаў з'яўляецца надзвычай пераканаўчым 937 00:50:08,000 --> 00:50:11,000 таму што ў адваротным выпадку ваш аналіз некаторых набораў дадзеных можа заняць секунд, 938 00:50:11,000 --> 00:50:14,000 ці ён можа літаральна некалькі гадзін. 939 00:50:14,000 --> 00:50:17,000 Гэта толькі адзін прыклад, каб не парушыць вас з тым, як прыкласці значна больш намаганняў 940 00:50:17,000 --> 00:50:21,000 гэта было ў C, але, каб дапамагчы вам зразумець, што калі вы рэалізаваць нешта ў C 941 00:50:21,000 --> 00:50:24,000 Вы сапраўды разумееце, ні ў тэорыі, на самай справе разумеюць 942 00:50:24,000 --> 00:50:28,000 як усе, ці павінен працаваць, і ў вас амаль поўны кантроль 943 00:50:28,000 --> 00:50:31,000 за тое, што адбываецца пад капотам, і з гэтых мовах больш высокага ўзроўню 944 00:50:31,000 --> 00:50:34,000 Вы павінны адмовіцца ад большага кантролю да людзей, якія іх прыдумалі 945 00:50:34,000 --> 00:50:37,000 і могуць быць больш па праектных рашэнняў, чым ваш. 946 00:50:37,000 --> 00:50:41,000 Але калі мы лічым само сабой якія разумеюцца, што прадукцыйнасць 947 00:50:41,000 --> 00:50:44,000 не гэтак важна на вэб-за гэтых іншых пытанняў, 948 00:50:44,000 --> 00:50:47,000 толькі хуткасць сеткі трохі павольней, чым хуткасць працэсараў у любым выпадку, 949 00:50:47,000 --> 00:50:50,000 так што мы можам сартаваць дазволіць сабе выкарыстоўваць трохі павольней мове 950 00:50:50,000 --> 00:50:55,000 калі расквітацца мы можа развівацца рэчы ў 10 разоў хутчэй ці нават больш. 951 00:50:55,000 --> 00:50:57,000 >> Давайце паглядзім, як мы можам пачаць выкарыстоўваць гэта. 952 00:50:57,000 --> 00:51:00,000 Адпусціце мяне ў тэчцы 953 00:51:00,000 --> 00:51:03,000 Сярод прыкладаў сёння называецца frosh.ims, 954 00:51:03,000 --> 00:51:06,000 і гэта было на самай справе асабіста матываваныя тым, што самае першае, што 955 00:51:06,000 --> 00:51:10,000 Я напісаў для вэб гадоў назад пасля таго, CS50 і CS51 956 00:51:10,000 --> 00:51:14,000 быў сайт праграмы Frosh імгненныя паведамленні, першакурснік вочнага спорту, 957 00:51:14,000 --> 00:51:16,000 які ў той час гэта было дастаткова гадоў таму, што ў той час, 958 00:51:16,000 --> 00:51:19,000 Не было ніякіх сайце праграмы, нягледзячы на ​​тое, што Web, 959 00:51:19,000 --> 00:51:22,000 і замест гэтага быў суправаджалы ў Wigglesworth згодна з якім, калі вы хочаце 960 00:51:22,000 --> 00:51:26,000 зарэгістравацца для гульні ў валейбол ці футбол, ці як вы б запоўніць ліст паперы. 961 00:51:26,000 --> 00:51:28,000 Затым вы павінны ісці праз двор. 962 00:51:28,000 --> 00:51:31,000 Вы б тады пастукацца ў іх дзверы і слайд ў іх дзверы або руку суправаджалы 963 00:51:31,000 --> 00:51:34,000 ліст паперы з вашым імем на ёй, ці сапраўды вы хочаце быць капітанам каманды, 964 00:51:34,000 --> 00:51:37,000 якім выглядам спорту вы хацелі б зрабіць, і што інтэрнаце вы былі цалі 965 00:51:37,000 --> 00:51:39,000 Гэта быў свайго роду старой школы рабіць рэчы, і гэта было простае 966 00:51:39,000 --> 00:51:41,000 магчымасць аўтаматызацыі многіх гэты працэс. 967 00:51:41,000 --> 00:51:43,000 Вы проста зайдзіце на вэб-сайт. Вы набіраеце нешта цалі 968 00:51:43,000 --> 00:51:46,000 Вы атрымаеце пацвярджэнне па электроннай пошце, і стрэлы, вы зрабілі. 969 00:51:46,000 --> 00:51:49,000 >> Гэта было самае першае, што я зрабіў, хоць і ў мове пад назвай Pearl, 970 00:51:49,000 --> 00:51:52,000 але гэта адносна лёгка зрабіць у PHP, і гэта з'яўляецца свайго роду прадстаўніком 971 00:51:52,000 --> 00:51:55,000 праблем вы можаце прыступіць да рашэння, калі вы можаце выказаць сябе 972 00:51:55,000 --> 00:51:58,000 праграмна і не павінны спадзявацца на такія рэчы, як сайты Google 973 00:51:58,000 --> 00:52:01,000 або Excel або інструменты, якія перадалі вам. 974 00:52:01,000 --> 00:52:03,000 Вы, хлопцы, зараз ёсць магчымасць зрабіць нешта накшталт гэтага. 975 00:52:03,000 --> 00:52:06,000 Гэта супер выродлівыя версію форме, 976 00:52:06,000 --> 00:52:09,000 Але давайце проста выкарыстоўваць яго для пачатку размовы якім гэта 977 00:52:09,000 --> 00:52:12,000 прыкладна тое, што форма выглядала гадоў таму для нас 978 00:52:12,000 --> 00:52:14,000 каб людзі ў інтэрнэце, каб падпісацца на Frosh Чат. 979 00:52:14,000 --> 00:52:18,000 Мы папрасілі імя, сцяжок ці яны ці не хацеў быць капітанам, 980 00:52:18,000 --> 00:52:21,000 мужчыны ці жанчыны, і што тады інтэрнаце яны былі, 981 00:52:21,000 --> 00:52:23,000 і тады яны будуць прадстаўляць гэтую форму. 982 00:52:23,000 --> 00:52:27,000 Давайце спачатку паглядзім пад капотам на HTML, які ўяўляе гэтую вэб-старонку. 983 00:52:27,000 --> 00:52:31,000 Адпусціце мяне ў froshims0, 984 00:52:31,000 --> 00:52:35,000 і як у баку, для PSET 7 Я прымаючы як належнае 985 00:52:35,000 --> 00:52:37,000 каталогі і тэчкі, якія я кладу рэчы цалі 986 00:52:37,000 --> 00:52:40,000 Мы будзем ісці Вы праз менавіта там, дзе матэрыял павінен пайсці ў прыбор, 987 00:52:40,000 --> 00:52:43,000 які мод каманды вы павінны працаваць, так што не хвалюйцеся аб усіх 988 00:52:43,000 --> 00:52:46,000 дурныя падрабязнасці сінхранізацыі З самага пачатку ісці тут. 989 00:52:46,000 --> 00:52:49,000 >> Добра, вось froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Дазвольце мне пракруціць ўніз, і, што цікава тут, 991 00:52:52,000 --> 00:52:56,000 гэта PHP файл, але тое, што ўнутры яго, ясна? 992 00:52:56,000 --> 00:52:59,000 Гэта цэлая шмат HTML, і, сапраўды, PHP, паходжанне 993 00:52:59,000 --> 00:53:02,000 сапраўды былі за тое, Web-арыентаваны мова. 994 00:53:02,000 --> 00:53:04,000 Хвіліну таму мы выкарыстоўвалі яго для рэалізацыі піва, напрыклад, 995 00:53:04,000 --> 00:53:07,000 умовах, напрыклад, прывітанне прыклад, і гэта нармальна. 996 00:53:07,000 --> 00:53:11,000 Вы можаце выкарыстоўваць PHP ў якасці скрыптовай мовы 997 00:53:11,000 --> 00:53:15,000 дзе сцэнарый на самай справе проста наменклатуры надаецца хуткай і бруднай праграмы 998 00:53:15,000 --> 00:53:19,000 або тое, што вы пішаце ў сцэнары ці ў больш агульным інтэрпрэтаваны мову. 999 00:53:19,000 --> 00:53:22,000 PHP гэта супер карысны для гэтага, таму што вы бачылі, як хутка 1000 00:53:22,000 --> 00:53:24,000 Адносна мы можам нагнятаць праграм у PHP. 1001 00:53:24,000 --> 00:53:27,000 Але гэта быў сапраўды прызначаны для выкарыстання ў сеткі Інтэрнэт, 1002 00:53:27,000 --> 00:53:31,000 і прызначана для вэб-у тым сэнсе, што заўважыў тут у верхняй часткі файла 1003 00:53:31,000 --> 00:53:34,000 Я пачынаюцца з 00:53:38,000 Тады ў мяне ёсць куча бескарысных каментароў, праўда, але тады я заплюшчваю PHP рэжыме. 1005 00:53:38,000 --> 00:53:41,000 Але потым я зайсці ў HTML рэжыме. 1006 00:53:41,000 --> 00:53:45,000 >> Што цікава PHP з'яўляецца, нават калі файл мае пашырэнне. PHP 1007 00:53:45,000 --> 00:53:48,000 гэта наогул павінна быць змяшаныя з HTML, 1008 00:53:48,000 --> 00:53:50,000 код PHP, некаторыя HTML. 1009 00:53:50,000 --> 00:53:53,000 І мы ўбачым, у рэшце рэшт, што мы можам пачаць дражніць адзін ад аднаго тым, 1010 00:53:53,000 --> 00:53:56,000 і захаваць наш HTML асобны ад нашых PHP ў цэлым, 1011 00:53:56,000 --> 00:53:59,000 але паходжанне PHP сапраўды былі, каб даць вам гэтую гнуткасць, 1012 00:53:59,000 --> 00:54:02,000 што, калі вы хочаце, каб некаторыя HTML проста напісаць, і што будзе 1013 00:54:02,000 --> 00:54:04,000 выплюнуць аднолькава ў браўзэры. 1014 00:54:04,000 --> 00:54:07,000 Але калі вам патрэбна тэхналогія праграмавання, 1015 00:54:07,000 --> 00:54:12,000 некаторыя праграмны код, вы таксама можаце змясціць яго ў сапраўды такі жа файл, як мы хутка пабачым. 1016 00:54:12,000 --> 00:54:14,000 Вось мой HTML. 1017 00:54:14,000 --> 00:54:16,000 У мяне ёсць назва гэтага для Frosh Чат. 1018 00:54:16,000 --> 00:54:20,000 У мяне ёсць цела тэга які атрымаў некаторыя CSS на яго ў цэнтры ўсё ў сярэдзіне, 1019 00:54:20,000 --> 00:54:23,000 , А затым тут у мяне ёсць форма, па-відаць, будзе прадстаўлены 1020 00:54:23,000 --> 00:54:27,000 у новы файл з імем register0.php, таму мы бачым, што ў момант. 1021 00:54:27,000 --> 00:54:31,000 Яна выкарыстоўвае метад, званы пост, які мы яшчэ вернемся, а таксама. 1022 00:54:31,000 --> 00:54:34,000 Тады ў мяне ёсць форма ўваходу, адзін званай імя, тып якога з'яўляецца тэкст, 1023 00:54:34,000 --> 00:54:37,000 той, чыё імя капітана, чый тып сцяжок, 1024 00:54:37,000 --> 00:54:40,000 і гэта, мы не бачылі яго раней, але гэта менавіта тое, што ён кажа. 1025 00:54:40,000 --> 00:54:42,000 Вы атрымаеце сцяжок замест тэкставага поля. 1026 00:54:42,000 --> 00:54:46,000 Тут, унізе ў вас ёсць перамыкач, які з'яўляецца адным з тых кругавой кнопкі 1027 00:54:46,000 --> 00:54:48,000 што вы можаце выбраць гэты або той. 1028 00:54:48,000 --> 00:54:52,000 >> Звярніце ўвагу, што гэта наўмыснае, што я даў як перамыкачы імя падлогу. 1029 00:54:52,000 --> 00:54:55,000 Гэта, як вы атрымаеце ўзаемнае выключэнне, у якім вы павінны націснуць 1030 00:54:55,000 --> 00:54:58,000 альбо гэта адзін або, што адно і націснуўшы на аднаго 1031 00:54:58,000 --> 00:55:01,000 гэта нявызначанымі іншыя, так што вы павінны даць ім тым жа імем 1032 00:55:01,000 --> 00:55:03,000 Калі вы хочаце, каб яны ўзаемна выключаюць адзін аднаго, як гэта. 1033 00:55:03,000 --> 00:55:07,000 І тады для інтэрната, я не думаю, што мы бачылі гэта, але гэта выбар меню, выпадальным меню. 1034 00:55:07,000 --> 00:55:09,000 Тэг для гэтага з'яўляецца выбар. 1035 00:55:09,000 --> 00:55:11,000 Затым даць расчыняецца меню імя, 1036 00:55:11,000 --> 00:55:13,000 і тады ў вас ёсць цэлая куча гэтых варыянтаў. 1037 00:55:13,000 --> 00:55:16,000 Першы з іх, проста для эстэтыкі, з'яўляецца пустым радком. 1038 00:55:16,000 --> 00:55:20,000 Я проста хацеў выпадальнага быць пустым па змаўчанні, 1039 00:55:20,000 --> 00:55:22,000 а там Apley, Canaday, шэрыя, і гэтак далей. 1040 00:55:22,000 --> 00:55:24,000 І звярніце ўвагу, дыхатамія тут. 1041 00:55:24,000 --> 00:55:27,000 Варыянт ў расчыняецца мае значэнне, 1042 00:55:27,000 --> 00:55:30,000 але тады яно мае зразумелыя чалавеку назвы, якое ў дадзеным прыкладзе 1043 00:55:30,000 --> 00:55:33,000 ідэнтычныя, але калі мы сапраўды хацелі быць анальным мы маглі б 1044 00:55:33,000 --> 00:55:36,000 Значэнне гэтага выпадальнага быць проста кароткая версія, 1045 00:55:36,000 --> 00:55:39,000 Шэрыя, але мы маглі б сапраўды сказаць, шэры зала, што людзей на самой справе бачыць, 1046 00:55:39,000 --> 00:55:43,000 Але гэта не ўсё, што цікава, таму я проста працягваў ён просты і зрабіць іх аднолькавымі. 1047 00:55:43,000 --> 00:55:46,000 Тады на дне у нас ёсць кнопка адпраўкі 1048 00:55:46,000 --> 00:55:49,000 што мы бачылі і раней, але заўважылі, што я проста даў яму іншае слова. 1049 00:55:49,000 --> 00:55:53,000 Замест таго, каб CS50 пошуку Я даў ярлык "Рэгістрацыя". 1050 00:55:53,000 --> 00:55:56,000 >> У выніку гэтай старонцы тут, і зноў, 1051 00:55:56,000 --> 00:56:00,000 дзе гэтая атрымаеце прадстаўленыя? 1052 00:56:00,000 --> 00:56:04,000 Ён атрымлівае прадстаўлена некалькі файлаў, значэнне атрыбуту дзеянні, 1053 00:56:04,000 --> 00:56:07,000 які быў register0.php. 1054 00:56:07,000 --> 00:56:09,000 Давайце паглядзім, што на самой справе тут адбываецца. 1055 00:56:09,000 --> 00:56:13,000 Дазвольце мне ісці наперад і запоўніць гэтую форму, скажам, Давіда, 1056 00:56:13,000 --> 00:56:16,000 мужчыны, Matthews, і тады я буду казаць зарэгіструйцеся. 1057 00:56:16,000 --> 00:56:18,000 Дазвольце мне маштаб і націсніце зарэгіструйцеся. 1058 00:56:18,000 --> 00:56:22,000 Такім чынам, выгляд бескарысна, але давайце паглядзім, што адбываецца на самай справе. 1059 00:56:22,000 --> 00:56:26,000 Звярніце ўвагу, што URL змяніўся, каб быць register0.php. 1060 00:56:26,000 --> 00:56:34,000 Што цікава адсутнічае ў URL, хоць, нават калі мы проста прадставілі форму? 1061 00:56:34,000 --> 00:56:37,000 [Неразборліва адказ студэнта] 1062 00:56:37,000 --> 00:56:39,000 Добра, вось толькі Chrome быць зручным у гэтыя дні. 1063 00:56:39,000 --> 00:56:42,000 Гэта на самай справе там. Яны проста схаваць яго, каб зэканоміць месца. 1064 00:56:42,000 --> 00:56:44,000 Але добрая думка, добрая думка. 1065 00:56:44,000 --> 00:56:46,000 Да іншага канца URL, хоць, чаго не хапае? Так. 1066 00:56:46,000 --> 00:56:48,000 [Студэнт] радок запыту. 1067 00:56:48,000 --> 00:56:51,000 Радок запыту, так што памятаеце з нашых простых прыкладах пошуку Google. 1068 00:56:51,000 --> 00:56:54,000 Як толькі я націскаю на кнопку адпраўкі URL 1069 00:56:54,000 --> 00:57:00,000 узяў мяне да Google, але потым было? Q = камп'ютэрных навук або тое, што я была ўвялі цалі 1070 00:57:00,000 --> 00:57:04,000 Гэта таму, што мы выкарыстоўвалі метад GET з пошукам прыклад. 1071 00:57:04,000 --> 00:57:06,000 >> На гэты раз мы выкарыстоўваем тое, што замест метаду? 1072 00:57:06,000 --> 00:57:10,000 Паведамленне, і адным з непасрэдных адрозненняў 1073 00:57:10,000 --> 00:57:14,000 паміж атрымаць і апублікаваць у тым, што паведамленне не ставіць ўваходзе карыстальніка ў URL-адрасе. 1074 00:57:14,000 --> 00:57:16,000 Ён хавае гэта. Ён па-ранейшаму адпраўляе яго. 1075 00:57:16,000 --> 00:57:19,000 На самай справе, што мы бачым у браўзэры тут, як мы раскрыем ў момант 1076 00:57:19,000 --> 00:57:22,000 гледзячы на ​​register0, гэта я проста бачыць змесціва 1077 00:57:22,000 --> 00:57:25,000 масіва, якія былі прадстаўлены ад браўзэра да сервера. 1078 00:57:25,000 --> 00:57:29,000 Але URL не?, Не мае ключавых слоў 1079 00:57:29,000 --> 00:57:31,000 або значэнняў у ім, і чаму гэта? 1080 00:57:31,000 --> 00:57:35,000 Ну, пост дазваляе яшчэ прадставіць дадзеныя з формы на сервер, 1081 00:57:35,000 --> 00:57:38,000 але ён не паклаў яго ў URL, таму, якога роду інфармацыя з'яўляецца пост 1082 00:57:38,000 --> 00:57:41,000 Асабліва падыходзіць для, магчыма, калі вы пытаецеся карыстальніка 1083 00:57:41,000 --> 00:57:44,000 ўвесці ўваходныя дадзеныя для формы? 1084 00:57:44,000 --> 00:57:48,000 Нешта накшталт пароля, нешта кшталту, што яшчэ? 1085 00:57:48,000 --> 00:57:50,000 Нумары крэдытных карт. 1086 00:57:50,000 --> 00:57:53,000 Усё гэта мякка адчувальныя вы, верагодна, не хочаце патрапіць у URL 1087 00:57:53,000 --> 00:57:56,000 калі толькі таму, што гэта азначае, што ваш сусед або член сям'і можа проста троль праз 1088 00:57:56,000 --> 00:57:59,000 вашыя гісторыі Інтэрнэту, а затым літаральна бачыць вашыя паролі, 1089 00:57:59,000 --> 00:58:02,000 літаральна бачыць вашы нумары крэдытных карт, паколькі большасць браўзэраў 1090 00:58:02,000 --> 00:58:05,000 Памятаецца, у гісторыі любой URL, вы былі на, 1091 00:58:05,000 --> 00:58:09,000 так што калі толькі таму, што гэта было бы дрэнны ідэяй. 1092 00:58:09,000 --> 00:58:11,000 Выкарыстанне паведамленні хавае, што падрабязнасці ад карыстальніка. 1093 00:58:11,000 --> 00:58:14,000 >> Акрамя таго, як вы загрузіце фатаграфію ў Facebook? 1094 00:58:14,000 --> 00:58:17,000 Ну, толькі 2 механізму вы можаце сапраўды выкарыстоўваць, 1095 00:58:17,000 --> 00:58:21,000 хоць ёсць некалькі іншых, больш таемнымі іх, гэта атрымаць і апублікаваць. 1096 00:58:21,000 --> 00:58:26,000 Як вы, магчыма, загрузіце фатаграфію з дапамогай URL-адрасы? 1097 00:58:26,000 --> 00:58:28,000 Вы сапраўды можаце гэта зрабіць. 1098 00:58:28,000 --> 00:58:30,000 Вы можаце ўзяць JPEG або растравых або GIF, і вы можаце прадставіць яго ў шаснаццатковым 1099 00:58:30,000 --> 00:58:32,000 або тое, што завецца базай 64. 1100 00:58:32,000 --> 00:58:35,000 Замест таго, падстава 16 вы выкарыстоўваеце базу 64, якая па сутнасці выглядае 1101 00:58:35,000 --> 00:58:38,000 ASCII знакі, і вы можаце загрузіць фота праз URL 1102 00:58:38,000 --> 00:58:41,000 пасля знака пытання, але, як правіла, абмежаванні на памер. 1103 00:58:41,000 --> 00:58:44,000 Большасць браўзэраў прымусіць URL-адрасоў, каб быць не больш за 1000 знакаў, 1104 00:58:44,000 --> 00:58:47,000 Можа быць, 2000 сімвалаў і да т.п., так што вы не можаце загрузіць 1105 00:58:47,000 --> 00:58:50,000 10 MB Facebook фота. 1106 00:58:50,000 --> 00:58:54,000 Для гэтага вам выкарыстоўваць пост, так што на дадзены момант атрымаць ставіць параметраў у URL, 1107 00:58:54,000 --> 00:58:57,000 што прыемна і карысна часам, але ні за што адчувальныя ці вялікі 1108 00:58:57,000 --> 00:58:59,000 Паведамленне з'яўляецца шлях. 1109 00:58:59,000 --> 00:59:02,000 Што register0 на самай справе тут робіш? 1110 00:59:02,000 --> 00:59:05,000 Ну, калі я адкрываю register0 заўважыць, што гэта супер проста старонка, 1111 00:59:05,000 --> 00:59:09,000 але гэта дэманструе той факт, што я магу сумесна змешваюцца, да лепшага ці да горшага, 1112 00:59:09,000 --> 00:59:12,000 HTML з PHP. 1113 00:59:12,000 --> 00:59:15,000 Гэты файл цалкам, за выключэннем каментароў на вяршыні, з'яўляюцца HTML 1114 00:59:15,000 --> 00:59:19,000 акрамя гэтага хлопца тут. 1115 00:59:19,000 --> 00:59:22,000 >> Звярніце ўвагу, у сярэдзіне майго кода PHP, 1116 00:59:22,000 --> 00:59:26,000 У сярэдзіне маёй HTML, у мяне накшталт часова 1117 00:59:26,000 --> 00:59:28,000 ўступіў PHP рэжыме. 1118 00:59:28,000 --> 00:59:31,000 Я тэлефаную спецыяльная функцыя, званая друк р. 1119 00:59:31,000 --> 00:59:34,000 Гэта азначае, друк рэкурсіўнай, і што ён робіць гэта рэкурсіўна друкуе 1120 00:59:34,000 --> 00:59:38,000 усё, што зменную перадаць яго, кропка з коскі, з выхадам PHP рэжыме. 1121 00:59:38,000 --> 00:59:40,000 І папярэдне тэг дае вам папярэдне адфарматаваны тэкст, 1122 00:59:40,000 --> 00:59:43,000 мона прасторы тэкст так, каб кожнае месца, вы на самой справе ўбачыць. 1123 00:59:43,000 --> 00:59:46,000 Яна не знікае. Што такое пост? 1124 00:59:46,000 --> 00:59:48,000 Ну, тое, што цікава і пераканаўчую пра PHP 1125 00:59:48,000 --> 00:59:52,000 з'яўляецца тое, што кожны раз, калі вы адпраўляеце форму з дапамогай атрымаць ці адправіць 1126 00:59:52,000 --> 00:59:56,000 нічога, што ўяўляецца Вам у браўзэры 1127 00:59:56,000 --> 01:00:00,000 PHP сам разбярэцца, што гэтыя пары ключ-значэнне ёсць, 1128 01:00:00,000 --> 01:00:02,000 лічбы, калі ёсць знак роўнасці, лічбы, калі ёсць знак пытання. 1129 01:00:02,000 --> 01:00:07,000 Гэта робіць ўсю цяжкую працу за вас, а затым ён перадае вам асацыятыўны масіў 1130 01:00:07,000 --> 01:00:10,000 які змяшчае ўсе, што карыстач увёў у форму. 1131 01:00:10,000 --> 01:00:12,000 Ну, што ж поля гэтай формы ёсць? 1132 01:00:12,000 --> 01:00:14,000 >> Гэта было 4 поля. 1133 01:00:14,000 --> 01:00:16,000 Адзін з іх быў тэкставае поле з імем імя. 1134 01:00:16,000 --> 01:00:18,000 Адзін з іх быў сцяжок называюць капітана. 1135 01:00:18,000 --> 01:00:22,000 Адзін з іх быў перамыкач называецца падлогу, 1136 01:00:22,000 --> 01:00:24,000 і адзін быў у расчыняецца меню завецца інтэрнаце, 1137 01:00:24,000 --> 01:00:27,000 так што заўважыць, калі я друкую рэкурсіўна 1138 01:00:27,000 --> 01:00:29,000 Змест гэтага адмысловую зменную. 1139 01:00:29,000 --> 01:00:34,000 Гэта адмысловая глабальная зменная $ _POST літаральна ва ўсіх каўпачкоў. 1140 01:00:34,000 --> 01:00:39,000 Гэта адмысловая глабальная зменная, якая PHP проста стварае для вас 1141 01:00:39,000 --> 01:00:42,000 і рукі, каб вас так, што вы можаце атрымаць доступ да ўсяго 1142 01:00:42,000 --> 01:00:45,000 , Які быў прадстаўлены праз форму карыстальнікам. 1143 01:00:45,000 --> 01:00:48,000 І па тэлефоне друку г-на ім вы б не зрабіць гэта ў звычайнае прыкладанне. 1144 01:00:48,000 --> 01:00:50,000 Мы робім гэта, каб бачыць у гэтай зменнай, 1145 01:00:50,000 --> 01:00:53,000 і што ўнутры яго, ну, 4 клавішы, 1146 01:00:53,000 --> 01:00:56,000 4 HTTP параметраў, так бы мовіць, 1147 01:00:56,000 --> 01:00:59,000 імя, капітан, падлогу, інтэрнат, а затым значэння, якія карыстач 1148 01:00:59,000 --> 01:01:01,000 набраў у з адным выключэннем. 1149 01:01:01,000 --> 01:01:03,000 Я зрабіў тыпу D - V-I-D. 1150 01:01:03,000 --> 01:01:05,000 Я праверыў скрынку, хоць, для мужчын, па-відаць прадстаўлены значэння 1151 01:01:05,000 --> 01:01:07,000 м за ўсё, каб быць кароткім. 1152 01:01:07,000 --> 01:01:10,000 >> Калі я выбраў Matthews гэта значэнне, быў абраны, 1153 01:01:10,000 --> 01:01:12,000 і гэта адна крыху па-дурному, але гэта канвенцыю. 1154 01:01:12,000 --> 01:01:17,000 Калі я праверыў скрынку, значэнне на "ON", атрымаў прадстаўленыя на сцяжок. 1155 01:01:17,000 --> 01:01:21,000 Калі б я не праверыў яго велічыня не быў бы пасланы бы там ні было. 1156 01:01:21,000 --> 01:01:26,000 Гэта проста дае нам разуменне таго, што знаходзіцца ўнутры гэтай спецыяльнай глабальнай зменнай, 1157 01:01:26,000 --> 01:01:29,000 і гэта настолькі асаблівым, што гэта называецца супер глабальнай зменнай. 1158 01:01:29,000 --> 01:01:33,000 Яна існуе паўсюль цябе ў кодзе, так што вы можаце атрымаць да яго доступ. 1159 01:01:33,000 --> 01:01:36,000 Гэта не так пераканаўча, так што давайце на самай справе выкарыстаць супер глабальным 1160 01:01:36,000 --> 01:01:38,000 а на самой справе спрабуюць зарэгістраваць кагосьці. 1161 01:01:38,000 --> 01:01:41,000 У froshims1 я збіраюся зрабіць адно змяненне. 1162 01:01:41,000 --> 01:01:44,000 Я мяняю дзеянні, каб быць register1.php, 1163 01:01:44,000 --> 01:01:46,000 і я раблю яшчэ адну рэч. 1164 01:01:46,000 --> 01:01:48,000 Я быў крыху збянтэжаны якасць маёй старонцы там. 1165 01:01:48,000 --> 01:01:52,000 Гэта даволі агідны, шчыра кажучы, так атрымліваецца 1166 01:01:52,000 --> 01:01:56,000 , Які можна выкарыстоўваць вельмі лёгка ў Інтэрнэце 1167 01:01:56,000 --> 01:01:59,000 іншых людзей JavaScript кода, CSS іншых людзей 1168 01:01:59,000 --> 01:02:02,000 што яны напісаныя і з адкрытым зыходным кодам і распаўсюджваецца ў выглядзе бібліятэкі, 1169 01:02:02,000 --> 01:02:06,000 так бы мовіць, і, напрыклад, тут я выкарыстоўваю ў вольным доступе бібліятэкі, 1170 01:02:06,000 --> 01:02:08,000 кучу кода, які напісаў нехта іншы. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter здарылася пісаць гэты код, і гэта завецца пачатковай загрузкі бібліятэкі, 1172 01:02:11,000 --> 01:02:15,000 і гэта проста куча CSS стыляў, кучу. CSS файлаў 1173 01:02:15,000 --> 01:02:19,000 што нехта напісаў і прыдумаў, як атрымаць усё добра і даволі 1174 01:02:19,000 --> 01:02:22,000 так што людзі, як мы можам турбавацца крыху менш аб эстэтыцы і засяродзіць значна больш 1175 01:02:22,000 --> 01:02:24,000 на логіку і фактычныя праграмавання. 1176 01:02:24,000 --> 01:02:30,000 Звязаўшы яго з дадзеным тэгам, які з'яўляецца тым жа тэгам я запомніў styles3.css раней, 1177 01:02:30,000 --> 01:02:34,000 Цяпер у мяне ёсць доступ да файла называецца bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Мінімальная проста азначае, што яны паменшаная гэта, і яны пазбавіліся ад усіх прабелаў і г. д. 1179 01:02:37,000 --> 01:02:40,000 проста каб пераканацца, што яны не пасылаць мне больш байт, чым я на самой справе трэба. 1180 01:02:40,000 --> 01:02:45,000 Але ёсць цэлая куча CSS, так што калі я зараз адкрываюцца версія 1 Frosh чаты 1181 01:02:45,000 --> 01:02:49,000 заўважыў, што мой файл, безумоўна, прыгажэй. 1182 01:02:49,000 --> 01:02:54,000 Зараз гэта яшчэ толькі чорнае і белае, але заўважыў, што толькі з дапамогай сваіх стыляў 1183 01:02:54,000 --> 01:02:58,000 і з выкарыстаннем пэўных асаблівасцяў яго на маёй форме гэта не дзіўна, 1184 01:02:58,000 --> 01:03:01,000 але гэта вызначана чысцей, чым гэта было раней, а праектар не робяць гэтага правасуддзя. 1185 01:03:01,000 --> 01:03:05,000 Там мала шэрыя лініі вакол кнопак і вакол тэкставага поля прама тут, 1186 01:03:05,000 --> 01:03:07,000 але гэта вызначана чысцей, чым гэта было раней. 1187 01:03:07,000 --> 01:03:09,000 >> Цяпер, справядлівасці дзеля, я павінен змяніць сваю разметку няшмат. 1188 01:03:09,000 --> 01:03:12,000 Гэта версія 1, і заўважылі, што я выкарыстаў некалькі новых тэгаў, 1189 01:03:12,000 --> 01:03:17,000 і, шчыра кажучы, я паняцця не меў, як гэта зрабіць, пакуль я не прачытаў дакументацыю 1190 01:03:17,000 --> 01:03:20,000 для загрузкі бібліятэкі Twitter, і яны сказалі мне, калі вы хочаце выкарыстоўваць нашу бібліятэку 1191 01:03:20,000 --> 01:03:23,000 выкарыстоўваць FIELDSET элемент ўнутры формы, 1192 01:03:23,000 --> 01:03:27,000 паставіць слова, якое вы хочаце паказаць побач з полем ўнутры этыкеткі тэгі, 1193 01:03:27,000 --> 01:03:30,000 Затым дайце ўвесці імя, як і раней, 1194 01:03:30,000 --> 01:03:34,000 , А затым на сцяжок, вы не толькі абгарнуць яго ў пазнацы элемента, 1195 01:03:34,000 --> 01:03:36,000 Вы выкарыстоўваеце тое, што называецца клас, таму мы не бачылі гэтага раней, 1196 01:03:36,000 --> 01:03:39,000 але вы ўбачыце гэта ў адным з шорт PSET 7 ст. 1197 01:03:39,000 --> 01:03:43,000 Клас у CSS дазваляе вам рабіць нешта вельмі падобнае на ID, 1198 01:03:43,000 --> 01:03:46,000 але раней, калі мы былі ID з знака # 1199 01:03:46,000 --> 01:03:48,000 гэта было для аднаго і толькі аднаго элемента. 1200 01:03:48,000 --> 01:03:51,000 Што прыемна аб класе з'яўляецца тое, што некалькі элементаў могуць мець той жа клас 1201 01:03:51,000 --> 01:03:54,000 ці той жа самы матэрыял CSS прымяняецца да яго. 1202 01:03:54,000 --> 01:03:57,000 >> Але, зноў жа, больш на тых, хто ў кароткатэрміновай, і астатнія гэта проста скапіюйце і ўстаўце 1203 01:03:57,000 --> 01:04:00,000 з іх дакументацыяй, дзе я дадаў пазнаку тут і там. 1204 01:04:00,000 --> 01:04:03,000 І ў канцы, таму што я ўключыў спасылку тэга ў верхняй частцы, 1205 01:04:03,000 --> 01:04:06,000 ўсё выглядае прыгажэй аўтаматычна 1206 01:04:06,000 --> 01:04:10,000 проста адзначыўшы маю старонку такім чынам, каб 1207 01:04:10,000 --> 01:04:12,000 Twitter чакалася, і ёсць вельмі шмат розных спосабаў 1208 01:04:12,000 --> 01:04:14,000 зрабіць гэта, і гэта сапраўды вельмі дарэчы. 1209 01:04:14,000 --> 01:04:17,000 На дадзены момант у семестр, як вы ўбачыце ў спецыфікацыі PSET 7 з, 1210 01:04:17,000 --> 01:04:20,000 Пошук у Google па ўсім, чытаў на бібліятэкі, выкарыстоўваючы CSS іншых людзей 1211 01:04:20,000 --> 01:04:23,000 і наяўнасць вырашыць праблемы дапаможных 1212 01:04:23,000 --> 01:04:26,000 да праблемы само мноства, безумоўна, заахвочваецца і з'яўляецца спосабам 1213 01:04:26,000 --> 01:04:29,000 Web пабудавана ў гэтыя дні, стоячы на ​​плячах іншых людзей 1214 01:04:29,000 --> 01:04:32,000 так што вы можаце засяродзіцца на сапраўды новых і цікавых задач. 1215 01:04:32,000 --> 01:04:34,000 Але давайце засяродзімся на, зноў жа, логіка. 1216 01:04:34,000 --> 01:04:38,000 >> Гэта быў хуткі аб'езд па эстэтыцы, каб паказаць вам кірунак, у якім вы можаце ісці. 1217 01:04:38,000 --> 01:04:40,000 Я збіраюся вярнуцца да выродлівым адзін для зараз толькі таму, што 1218 01:04:40,000 --> 01:04:44,000 няма ніякіх адцягваюць рэчаў з Twitter, і дазвольце мне ісці наперад і адкрываць 1219 01:04:44,000 --> 01:04:51,000 froshims2, які, зноў жа, адрозніваецца толькі ў акцыі, register2.php, 1220 01:04:51,000 --> 01:04:55,000 і давайце зірнем на тое, што адбываецца тут. 1221 01:04:55,000 --> 01:04:57,000 Дазвольце мне пайсці далей і ўвесці Давіда. 1222 01:04:57,000 --> 01:04:59,000 Я не буду капітанам на гэты раз. 1223 01:04:59,000 --> 01:05:01,000 Я скажу мужчына, Matthews, рэгістр. 1224 01:05:01,000 --> 01:05:05,000 Чорт вазьмі. Добра, гэта вінт на маёй частцы. 1225 01:05:05,000 --> 01:05:07,000 Рэжым чакання. 1226 01:05:07,000 --> 01:05:17,000 Register2, радок 22, калі пусты або, прабачце. 1227 01:05:17,000 --> 01:05:19,000 Давайце перазагрузіць. 1228 01:05:19,000 --> 01:05:22,000 Добра, на гэтую форму, што толькі што адбылося? 1229 01:05:22,000 --> 01:05:25,000 Я набраў у Давіда, праверыў мужчыны, націснуў Matthews, рэгістр. 1230 01:05:25,000 --> 01:05:27,000 Вы зарэгістраваныя. (Ну, не зусім.) 1231 01:05:27,000 --> 01:05:32,000 Гэта, безумоўна, крок за рамкі проста раздрукаваць змесціва некаторых зменных, 1232 01:05:32,000 --> 01:05:34,000 але тое, што гэты файл на самай справе рабіць? 1233 01:05:34,000 --> 01:05:37,000 У register2.php 1234 01:05:37,000 --> 01:05:40,000 заўважыў, што ў мяне ёсць новы код. 1235 01:05:40,000 --> 01:05:44,000 Усярэдзіне майго цела тэга ў мяне ёсць па сутнасці, калі яшчэ пабудаваць, 1236 01:05:44,000 --> 01:05:47,000 але таму, што я сумесна змешванне гэта з некаторымі HTML 1237 01:05:47,000 --> 01:05:51,000 Я павінен увайсці і выйсці з рэжыму PHP і назад, так што давайце паглядзім, што я раблю. 1238 01:05:51,000 --> 01:05:55,000 >> У першай радку тут я кажу, калі гэта мае месца 1239 01:05:55,000 --> 01:06:00,000 што пост супер глабальнага пуста ключ імя, 1240 01:06:00,000 --> 01:06:04,000 Такім чынам, іншымі словамі, калі карыстальнік не даваў мне значэнне для імя ў форму, 1241 01:06:04,000 --> 01:06:07,000 Затым пустыя збіраецца вярнуцца дакладна, таму што пустое значэнне. 1242 01:06:07,000 --> 01:06:11,000 Ці, заўважыў вертыкальныя паласы, калі падлога пустой 1243 01:06:11,000 --> 01:06:15,000 Унутры гэтага спецыяльнага супер глабальны, які, зноў жа, уяўляе сабой змесціва формы, 1244 01:06:15,000 --> 01:06:19,000 або ў інтэрнаце пуста, то я буду ісці наперад і крычаць на карыстача. 1245 01:06:19,000 --> 01:06:22,000 Як? Ну, заўважылі, што я збіраюся сказаць, што вы павінны паказаць сваё імя, падлогу і інтэрнаты. 1246 01:06:22,000 --> 01:06:24,000 Давайце на самай справе выклікае гэтую памылку. 1247 01:06:24,000 --> 01:06:27,000 Дазвольце мне вярнуцца да маёй форме. Дазвольце мне перазагрузіць, каб ачысціць яго. 1248 01:06:27,000 --> 01:06:30,000 І я проста хачу, каб даць ім Давіда, і яны не павінны ведаць, дзе я жыву. 1249 01:06:30,000 --> 01:06:33,000 Зарэгіструйцеся. Мабыць, я сапраўды павінны сказаць ім, дзе я жыву. 1250 01:06:33,000 --> 01:06:35,000 Вы павінны паказаць сваё імя, падлогу і інтэрнаты. Вярнуцца назад. 1251 01:06:35,000 --> 01:06:39,000 >> І я мог націснуць, каб вярнуцца да гэтай форме, але навошта гэта? 1252 01:06:39,000 --> 01:06:43,000 Ну, у такім выпадку імя не было пустым, але падлога была, і інтэрнат было, 1253 01:06:43,000 --> 01:06:47,000 так што гэта ўсё выраз ацэньваецца ў праўдзівай, і, хоць сінтаксіс трохі новага, 1254 01:06:47,000 --> 01:06:51,000 Зноў заходзім PHP рэжыме, знаёмым, калі заява 1255 01:06:51,000 --> 01:06:54,000 але новая частка тут з'яўляецца менавіта гэтая тоўстай кішкі, і я аблажаўся, апускаючы дужкі 1256 01:06:54,000 --> 01:06:57,000 выпадкова, але зьвярніце ўвагу на тоўстай кішцы, і гэта азначае, што 1257 01:06:57,000 --> 01:07:00,000 хоць мы выхадам PHP рэжыме ўсё 1258 01:07:00,000 --> 01:07:03,000 што варта варта выплюнуць даслоўна ў браўзэры 1259 01:07:03,000 --> 01:07:07,000 пакуль Вы не бачыце іншага блока, як гэта робім мы тут, 1260 01:07:07,000 --> 01:07:10,000 У гэтым выпадку замест яго вы павінны пляваць на гэта 1261 01:07:10,000 --> 01:07:13,000 пакуль вы не ўбачыце ENDIF, таму некаторыя крыху новага сінтаксісу 1262 01:07:13,000 --> 01:07:16,000 , Што дазваляе мне перамыкацца паміж HTML і PHP. 1263 01:07:16,000 --> 01:07:19,000 Мы можам ачысціць гэта ў рэшце рэшт, але цяпер, 1264 01:07:19,000 --> 01:07:22,000 гэта накшталт пераканаўчым спосабам праверкі памылак формы. 1265 01:07:22,000 --> 01:07:25,000 >> Зараз, я сказаў, што вы на самай справе не зарэгістраваны, таму што відавочна, што мы не зрабілі нічога, але дадзеныя, 1266 01:07:25,000 --> 01:07:28,000 так што давайце на самой справе спрабуюць зрабіць нешта прахалоднае. 1267 01:07:28,000 --> 01:07:33,000 У froshims3 той толькі розніцай, што я збіраюся прадставіць register3, 1268 01:07:33,000 --> 01:07:35,000 таму HTML адбываецца тое ж самае. 1269 01:07:35,000 --> 01:07:38,000 У register3 заўважыць гэтага. 1270 01:07:38,000 --> 01:07:40,000 Гэта адзін выгляд сэксуальна. 1271 01:07:40,000 --> 01:07:44,000 На вяршыні я выкарыстоўваю патраба заяву, так гэта як # ўключыць. 1272 01:07:44,000 --> 01:07:46,000 На гэты раз гэта не stdio.h або што-небудзь падобнае. 1273 01:07:46,000 --> 01:07:50,000 Гэта бібліятэкі PHP, і гэта адна называецца PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Як я ведаю, каб уключыць менавіта гэтую радок у двукоссях? 1275 01:07:53,000 --> 01:07:56,000 Я прачытаў гэта ў дакументацыі, таму, калі яны сказалі мне, паклаў гэта ў верхняй частцы файла 1276 01:07:56,000 --> 01:08:00,000 калі вы хочаце выкарыстоўваць спецыяльную бібліятэку пад назвай PHPMailer, што робіць тое, што ён кажа. 1277 01:08:00,000 --> 01:08:03,000 Яна дазваляе адпраўляць пошту праз PHP. 1278 01:08:03,000 --> 01:08:05,000 Цяпер пракруціць ўніз далей. 1279 01:08:05,000 --> 01:08:08,000 >> Звярніце ўвагу, каб пачаць я знаходжуся ў рэжыме PHP ўвесь гэты час, 1280 01:08:08,000 --> 01:08:11,000 так што цяпер заўважыць тут, што пасля імпарту бібліятэкі, 1281 01:08:11,000 --> 01:08:13,000  так бы мовіць, я раблю некаторыя праверкі. 1282 01:08:13,000 --> 01:08:16,000 Калі гэта так, што імя не пусты 1283 01:08:16,000 --> 01:08:19,000 і падлога не з пустымі заўважыць клічнікам- 1284 01:08:19,000 --> 01:08:24,000 і інтэрнаты не пусты, то карыстач лагічна запоўніў форму, па меншай меры дастаткова. 1285 01:08:24,000 --> 01:08:28,000 Мяне не хвалюе, калі яны капітана ці не. Мне проста трэба іх імя, падлогу і інтэрнаты. 1286 01:08:28,000 --> 01:08:31,000 Калі яны запоўнілі тыя, так, што ні адна з гэтых пустых палёў 1287 01:08:31,000 --> 01:08:33,000 гэта крыху новага сінтаксісу. 1288 01:08:33,000 --> 01:08:36,000 PHP, як у баку, з'яўляецца аб'ектна-арыентаваным мовай праграмавання 1289 01:08:36,000 --> 01:08:39,000 які некаторыя з вас, хлопцы можаце ўспомніць з АСК ТП і да т.п.. 1290 01:08:39,000 --> 01:08:42,000 Цяпер, калі незнаёмы, проста ведаю, што выкарыстоўваць гэтую бібліятэку 1291 01:08:42,000 --> 01:08:45,000 Вы павінны напісаць радок кода, як гэта з дапамогай новых ключавых слоў, 1292 01:08:45,000 --> 01:08:47,000 літаральна новае ключавое слова называецца новая. 1293 01:08:47,000 --> 01:08:50,000 Але акрамя гэтага, у нас ёсць знаёмы сінтаксіс. 1294 01:08:50,000 --> 01:08:54,000 Гэта стрэлка аператара, які падобны на тое, што мы выкарыстоўвалі для структур у кантэксце паказальнікаў. 1295 01:08:54,000 --> 01:08:57,000 На сённяшні дзень PHP не мае паказальнікаў, 1296 01:08:57,000 --> 01:09:01,000 але ведаю цяпер, што ўнутры пошце зменную 1297 01:09:01,000 --> 01:09:05,000 істотна роду паказальнікам на адмысловую бібліятэку 1298 01:09:05,000 --> 01:09:08,000 што нехта напісаў, і калі я хачу атрымаць доступ да функцыянальнасці 1299 01:09:08,000 --> 01:09:12,000 Унутры гэтай бібліятэцы я, як і ў C, выкарыстоўвайце стрэлкі аператара, 1300 01:09:12,000 --> 01:09:14,000 нават калі яны не з'яўляюцца на самай справе паказальнікі. 1301 01:09:14,000 --> 01:09:16,000 Гэта свайго роду ўласную версію PHP для іх. 1302 01:09:16,000 --> 01:09:20,000 Гэта азначае, пайсці ў бібліятэку і выклікаць IsSMTP функцыі. 1303 01:09:20,000 --> 01:09:23,000 SMTP, нагадаем, ад нашых воінаў Чыстая ставіцца да электроннай пошце, 1304 01:09:23,000 --> 01:09:28,000 і гэта проста азначае выкарыстанне паштовага сервера для гэтага Frosh чаты рэгістрацыі. 1305 01:09:28,000 --> 01:09:30,000 >> Што гаспадар я хачу выкарыстоўваць? 1306 01:09:30,000 --> 01:09:34,000 Ну, Гарвард, калі вы Google па ўсім, мае паштовы сервер завецца smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Калі вы гуляеце разам у доме ці вы жывяце на Comcast сеткі 1308 01:09:37,000 --> 01:09:40,000 гэта можа быць нешта накшталт smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 Гэта цалкам залежыць ад таго, дзе вы жывяце і хто ваш правайдэр. 1310 01:09:43,000 --> 01:09:47,000 Пасля гэтага я збіраюся ўсталяваць мой адрас ад адвольна, каб быць jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Я тады збіраўся ўсталяваць на адрас, які будзе jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Адзіны шлях, я ведаў, што гэтыя функцыі былі выкліканыя SetFrom і AddAddress 1313 01:09:55,000 --> 01:09:57,000 , Зноў жа, я чытаў дакументацыю. 1314 01:09:57,000 --> 01:09:59,000 Гэта не выгляд чароўным вядома ўсім праграмістам. 1315 01:09:59,000 --> 01:10:02,000 Тады я паставіў пытанне на "рэгістрацыю". 1316 01:10:02,000 --> 01:10:07,000 І цяпер гэтая лінія трохі выродлівыя, таму што тое, што робіць аператар кропка азначае ў PHP? 1317 01:10:07,000 --> 01:10:09,000 Хто ведае? 1318 01:10:09,000 --> 01:10:11,000 Злучыць. 1319 01:10:11,000 --> 01:10:14,000 У C гэта боль у шыі, каб аб'яднаць 2 радкі разам. 1320 01:10:14,000 --> 01:10:17,000 Вы павінны мець справу з таНос або пераразмеркаваць ці ўсё, што матэрыял 1321 01:10:17,000 --> 01:10:20,000 толькі павялічыць даўжыню радка. 1322 01:10:20,000 --> 01:10:22,000 У PHP, JavaScript і ў іншых мовах 1323 01:10:22,000 --> 01:10:24,000 Вы можаце звычайна зрабіць гэта з дапамогай аднаго знака. 1324 01:10:24,000 --> 01:10:28,000 У гэтым выпадку кропка азначае прыняць гэты радок тут 1325 01:10:28,000 --> 01:10:30,000 і дадаць да яе гэты радок. 1326 01:10:30,000 --> 01:10:32,000 >> Так, і дарэчы, дадаць да яго гэты радок, 1327 01:10:32,000 --> 01:10:34,000 які бывае зменнай ўнутры гэтага супер глабальным. 1328 01:10:34,000 --> 01:10:37,000 Затым дадаць да яго новыя лініі, так што ўсе гэтыя кропкі проста азначаць, 1329 01:10:37,000 --> 01:10:39,000 працягваць рабіць усё больш і больш і больш радкоў, 1330 01:10:39,000 --> 01:10:43,000 і вам не прыйдзецца клапаціцца ўвогуле пра таНос або, як у мове, як гэта, 1331 01:10:43,000 --> 01:10:46,000 і ёсць іншыя спосабы зрабіць гэта, але гэта адзін з самых хуткіх 1332 01:10:46,000 --> 01:10:48,000 спосабы закласці яго. 1333 01:10:48,000 --> 01:10:50,000 Што гэта робіш? 1334 01:10:50,000 --> 01:10:55,000 Гэта стварае электронны орган, які збіраецца сказаць назва: Captain: Пол: Інтэрнат: 1335 01:10:55,000 --> 01:10:58,000 Усе на асобных радках, а затым, нарэшце, 1336 01:10:58,000 --> 01:11:00,000 аднаго радка кода, і я буду ігнараваць гэта цяпер. 1337 01:11:00,000 --> 01:11:02,000 Калі == ілжывае проста азначае, што калі нешта пайшло не так, 1338 01:11:02,000 --> 01:11:04,000 але магія тут адбываецца. 1339 01:11:04,000 --> 01:11:08,000 Пошта Адаслаць азначае, адправіць гэты ліст. 1340 01:11:08,000 --> 01:11:10,000 Давайце паглядзім, што чысты вынік. 1341 01:11:10,000 --> 01:11:13,000 У ніжняй часткі файла, заўважыце, што ён збіраецца сказаць вы зарэгістраваліся на самай справе 1342 01:11:13,000 --> 01:11:15,000 калі я атрымліваю так далёка. 1343 01:11:15,000 --> 01:11:18,000 Калі, аднак, карыстальнік шрубы ўверх, звярніце ўвагу, што мы пачалі гэтую 1344 01:11:18,000 --> 01:11:21,000 калі ўмова тут, калі гэта не пустыя і не пустыя 1345 01:11:21,000 --> 01:11:24,000 і не з пустымі мы адпраўляем поштай. 1346 01:11:24,000 --> 01:11:27,000 У адваротным выпадку мы збіраемся напісаць гэты радок кода, 1347 01:11:27,000 --> 01:11:30,000 які будзе мець эфекту, як вы ўбачыце ў PSET 7, перанакіраванне карыстальнікаў 1348 01:11:30,000 --> 01:11:35,000 туды, адкуль яны прыйшлі, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Пальцы перасекліся, у адваротным выпадку гэта будзе самым расчароўваюцца дэма сёння. 1350 01:11:38,000 --> 01:11:40,000 Тут мы ідзем. 1351 01:11:40,000 --> 01:11:42,000 Дазвольце мне адкрыць свой электронны паштовую скрыню для jharvard ў Gmail. 1352 01:11:42,000 --> 01:11:44,000 Няма электронную пошту прама цяпер. Добра. 1353 01:11:44,000 --> 01:11:53,000 Цяпер дазвольце мне адкрыць froshims3, які з'яўляецца трэцім і апошнім прыкладам мы разгледзім тут. 1354 01:11:53,000 --> 01:11:55,000 Добра, тут мы ідзем. 1355 01:11:55,000 --> 01:12:00,000 Nate, ён будзе капітанам, мужчыны, ад, скажам, Apley. 1356 01:12:00,000 --> 01:12:04,000 Зарэгіструйцеся. Такім чынам, вы зарэгістраваліся на самай справе. 1357 01:12:04,000 --> 01:12:07,000 Цяпер, калі я пракруткі на маю электронную пошту, о, мой Бог. 1358 01:12:07,000 --> 01:12:09,000 Я толькі дынамічна накіраваў ліст у Інтэрнэце. 1359 01:12:09,000 --> 01:12:11,000 >> Давайце пакінем на гэтай ноце. 1360 01:12:11,000 --> 01:12:16,000 Відэа для маючай адбыцца лекцыі мы прапусцілі. Убачымся на наступным тыдні. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]