1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Недеља 8] 2 00:00:02,000 --> 00:00:04,000 [Дејвид Ј Малан] [Универзитет Харвард] 3 00:00:04,000 --> 00:00:07,000 [Ово је ЦС50.] [ЦС50.ТВ] 4 00:00:07,000 --> 00:00:09,000 >> Добродошли назад. 5 00:00:09,000 --> 00:00:11,000 Ово је ЦС50, и то је почетак седмице 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 И још једна манифестација ове недеље наше Томас Царриеро. 10 00:00:24,000 --> 00:00:27,000 Он је један од бивших стипендиста ЦС50 главу наставе, који је сада на Дропбок, 11 00:00:27,000 --> 00:00:29,000 и он је момак који нас је повезао са знате шта, 12 00:00:29,000 --> 00:00:36,000 па ако желите више од тога главе њихове приче ово поподне за Дропбок и више. 13 00:00:36,000 --> 00:00:38,000 ЦС50 ручак је у петак. 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 Наши ЦС50 Семинари, позивање, су ови факултативна настава предвођени наставних момци 17 00:00:49,000 --> 00:00:51,000 и курс помоћници и пријатељи наравно, 18 00:00:51,000 --> 00:00:55,000 људи из групе на кампусу зове АБЦД, која је група 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 Овогодишњи списак семинара обухвата семинаре на Андроид и иОС и ЈаваСцрипт 22 00:01:08,000 --> 00:01:13,000 и ПХП, Уникс, Вим и више, тако да схвате да су ови семинари долази. 23 00:01:13,000 --> 00:01:16,000 Ако желите да се пријаве за неки од њих кренути на тај УРЛ тамо. 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 >> ЦСС, они од вас који су упознати са ЦСС већ, 29 00:01:39,000 --> 00:01:42,000 шта је то у кратким цртама? 30 00:01:42,000 --> 00:01:45,000 Шта је ЦСС? 31 00:01:45,000 --> 00:01:48,000 То је Цасцадинг Стиле Схеетс, и шта то значи? 32 00:01:48,000 --> 00:01:53,000 Шта то учини за нас, ЦСС? 33 00:01:53,000 --> 00:01:57,000 У реду, хајде да загрејемо са лакшим једном, ХТМЛ ХиперТект Маркуп Лангуаге. 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 ХТМЛ ХиперТект Маркуп језик. 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 је нешто супер једноставно као болдфацинг, отворена заграда б затворена заграда каже 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 и центриран и оправдано и слично, не врши преко ХТМЛ таговима сама 49 00:02:47,000 --> 00:02:51,000 већ са техником која се зове ЦСС, Цасцадинг Стиле Схеетс. 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 >> ЦСС омогућава нам да стилизовати странице 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 и ја идем у именик зове ЦСС где имамо гомилу 60 00:03:18,000 --> 00:03:21,000 досијеа који чекају нас овде, 61 00:03:21,000 --> 00:03:27,000 и у овом фолдеру имамо, на пример, сеарцх0.хтмл од прошлог пута. 62 00:03:27,000 --> 00:03:31,000 Сада, сети сеарцх0 смо оставили на овој поруци 63 00:03:31,000 --> 00:03:35,000 тако некако имплементације Гоогле или стварно само предњи крај за њега пре недељу дана или тако, 64 00:03:35,000 --> 00:03:38,000 и приметио да смо имали ту неке нове ознаке. 65 00:03:38,000 --> 00:03:41,000 Имали смо Х1 за велику, смелим насловом, 66 00:03:41,000 --> 00:03:45,000 форма, која нам је омогућило да имамо заправо ХТМЛ образац за унос података. 67 00:03:45,000 --> 00:03:48,000 Акција, која је била смисао акционог атрибута 68 00:03:48,000 --> 00:03:52,000 на ХТМЛ форми ознаку? 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 Чињеница да се каже акција = "гоогле.цом / сеарцх" 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 или наш апарат већ на дату УРЛ на Гоогле. 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 путем УРЛ адресе, па хајде да на брзину погледамо уназад на то како ово ради. 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 чија вредност је ЦС50 претрага, и заиста, ако смо отворили овде овај фајл, 82 00:04:39,000 --> 00:04:42,000 сеарцх0.хтмл, то је супер једноставан облик, 83 00:04:42,000 --> 00:04:45,000 и ако тражим нешто попут компјутерске науке 84 00:04:45,000 --> 00:04:50,000 и онда притисните ентер или кликните на ЦС50 Претрага 85 00:04:50,000 --> 00:04:53,000 приметити да је оно што се дешава је изван добијање Гоогле 86 00:04:53,000 --> 00:04:56,000 Конкретно сам завршио на овој адреси на врху, 87 00:04:56,000 --> 00:05:01,000 гоогле.цом / сеарцх к = компјутер? + наука, 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 конфузија и бели простор у стварном УРЛ. 92 00:05:13,000 --> 00:05:15,000 А онда к, наравно, је параметар име. 93 00:05:15,000 --> 00:05:20,000 Нисмо видели како је програмер, заправо може приступити к још. 94 00:05:20,000 --> 00:05:23,000 Можемо претпоставити да Гоогле зна шта да ради са овим овде, 95 00:05:23,000 --> 00:05:25,000 али ћемо стићи у догледно време данас. 96 00:05:25,000 --> 00:05:30,000 >> Али дозволите ми да погледам уместо на сеарцх1.хтмл, 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 мало више личи на Гоогле-у, чији је хомепаге, подсјетимо, 101 00:05:43,000 --> 00:05:47,000 иако можда не тако често га посетите, изгледа овако данас на Ноћ вештица. 102 00:05:47,000 --> 00:05:53,000 Ако се уместо тога отворили верзију 1 овог фајла, тражи 1.хтмл, ја сам га центриран. 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 >> Ту је овај стил атрибут, па испада да се у ХТМЛ 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 и да је цитирао стринг ЦСС. 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 да ЦСС језик за себе, 117 00:06:40,000 --> 00:06:43,000 али синтаксички је веома разликује од ХТМЛ-а. 118 00:06:43,000 --> 00:06:46,000 У овом случају, видимо да је унутрашњост моје веб странице, који је написан у ХТМЛ, 119 00:06:46,000 --> 00:06:51,000 Имам ЦСС унутар ових навода, као и Конвенција за ЦСС 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 Није све то секси, али барем је центриран и мало више као прави Гоогле. 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 и ово, ја се извињавам, синтаксички изгледа веома разликује од ХТМЛ, 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 Па, ово је корак ка чишћење ствари, слично као у писаној форми Ц кода 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 на једну централну локацију него да имају све разасути широм ХТМЛ. 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 Али све остало што је текст, као и ЦС50 Претрага до врха, је у ствари плавом. 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 >> У сеарцх3.хтмл веб страница је скоро идентична 163 00:09:14,000 --> 00:09:17,000 осим онога што сада нову ознаку? 164 00:09:17,000 --> 00:09:20,000 Линк, тако да ово неко није баш згодно назван 165 00:09:20,000 --> 00:09:24,000 јер не повезује у смислу кликне хипервезу. 166 00:09:24,000 --> 00:09:28,000 Уместо тога, ти си некако раде еквивалент # инцлуде у Ц 167 00:09:28,000 --> 00:09:31,000 при чему је веза таг са атрибутом хреф 168 00:09:31,000 --> 00:09:34,000 и рел атрибут каже напред 169 00:09:34,000 --> 00:09:39,000 и копирај налепите садржај фајла назван сеарцх3.цсс управо овде, у суштини. 170 00:09:39,000 --> 00:09:42,000 То не баш то, али то је дух тога. 171 00:09:42,000 --> 00:09:45,000 Он каже да иде отворени тај фајл, сеарцх3.цсс, 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 Сеарцх3.цсс, у међувремену, је прилично једноставно. 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 >> Иако нисмо провели много времена уопште у ХТМЛ-у или веб програмирање 178 00:10:07,000 --> 00:10:11,000 само интуитивно шта је мотивација, можда, за факторинг ван 179 00:10:11,000 --> 00:10:14,000 овај мали фрагмент чак ЦСС у сопственом фајлу 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 Ок, то је лакше да прочитате у смислу да имате свој ЦСС у ЦСС фајлу. 183 00:10:25,000 --> 00:10:28,000 Ви имате ХТМЛ у ХТМЛ фајлу, тако да је више читљив у том смислу. 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 прави сајт као ти воља за псет 7 или вашег коначног пројекта можда, 189 00:10:42,000 --> 00:10:45,000 и желите да имате више веб страница, што је свакако уобичајена на 190 00:10:45,000 --> 00:10:48,000 стварна Ворлд Виде Веб, и то би било некако јадно 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 Уместо тога има више смисла да факторишу, слично као што смо урадили у Ц 194 00:10:59,000 --> 00:11:02,000 са х фајл., стави га у једном централном месту, 195 00:11:02,000 --> 00:11:06,000 у овом случају сеарцх3.цсс, а затим допустите било који фајл 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 још стилизована страница, али прво погледајмо на ХТМЛ. 204 00:11:36,000 --> 00:11:41,000 Ово је сеарцх4.хтмл, и приметићете да структурално је скоро иста 205 00:11:41,000 --> 00:11:44,000 осим за увођење новог тага, див. 206 00:11:44,000 --> 00:11:48,000 Див је ознака која уводи поделу странице. 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 зове ИД. 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 Ако смо се помицати приметити да ИД овог дива је заглавље. 232 00:12:58,000 --> 00:13:02,000 Лична овог дива је садржај, а ИД овој је подножје. 233 00:13:02,000 --> 00:13:05,000 И као што име сугерише, када имате личну атрибут 234 00:13:05,000 --> 00:13:09,000 у ХТМЛ, по дефиницији јединствено мора да идентификује 235 00:13:09,000 --> 00:13:12,000 један од елемената, један од ознака у вашој страници. 236 00:13:12,000 --> 00:13:16,000 Терет је потпуно вама да се сетите да сте већ заглавља ИД. 237 00:13:16,000 --> 00:13:19,000 Имате подножје. Ви сте већ садржаја ИД. 238 00:13:19,000 --> 00:13:22,000 Рачунар неће да схватим шта располагању ИД је за вас, 239 00:13:22,000 --> 00:13:27,000 па сте случајно може дати 2 Тагс легитимацију за заглавља, 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 или еквивалентно у мом ЦСС фајлу, ако сам још увек користи ту верзију, 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 и #, само људском конвенцијом, представља личну карту. 248 00:13:53,000 --> 00:13:56,000 Оштар знак или фунте знак представља личну карту. 249 00:13:56,000 --> 00:13:58,000 Главом је име које сам дао. 250 00:13:58,000 --> 00:14:01,000 То значи да примењују овај ЦСС имовину 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 само да гура све остало од ње мало, као што сте могли урадити у Ворду, 263 00:14:35,000 --> 00:14:37,000 Мицрософт Ворд или страница, или слично. 264 00:14:37,000 --> 00:14:39,000 А онда текст алигн центар. 265 00:14:39,000 --> 00:14:43,000 Хајде да видимо крајњи резултат, а онда се враћамо до једног преосталог исечак ЦСС тамо. 266 00:14:43,000 --> 00:14:48,000 Ово је верзија 4, наша последња за претрагу примера, а то је много, много више секси. 267 00:14:48,000 --> 00:14:54,000 Сада, у додуше, само сам Гооглед "гоогле фонта Лого Генератор". 268 00:14:54,000 --> 00:14:58,000 И то ми је дозволио да се створи ГИФ, слика формата, која изгледа као да је тамо. 269 00:14:58,000 --> 00:15:00,000 У ствари, можете да урадите ово. 270 00:15:00,000 --> 00:15:03,000 Имамо "Гоогле фонтс Лого Генератор". 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 Можемо рећи Ец 10, на пример, и да их самостално. 274 00:15:11,000 --> 00:15:13,000 Можете играти са овим цео дан, а затим кликните десним тастером миша на њега 275 00:15:13,000 --> 00:15:16,000 а онда преузмите стварни ГИФ, што је све што сам урадио. 276 00:15:16,000 --> 00:15:19,000 И заиста, то је разлог зашто се у мојој ХТМЛ, подсјетимо, овамо 277 00:15:19,000 --> 00:15:22,000 Имао сам слику ознаку, што смо видели прошле недеље накратко 278 00:15:22,000 --> 00:15:24,000 чији извор је лого.гиф. 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 или нешто слично барем човек може видети "ЦС50 претрагу" 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 чији ИД је садржај, али онда постоји размак, а онда је реч улаз. 298 00:16:20,000 --> 00:16:25,000 Па, шта је занимљиво у вези ЦСС је да можете 299 00:16:25,000 --> 00:16:29,000 се односе на ознаке на странице врсти хијерархијски, 300 00:16:29,000 --> 00:16:33,000 а шта је то одломак ЦСС средстава је пронаћи ознаку 301 00:16:33,000 --> 00:16:37,000 чији ИД је садржај, а затим примените следећа својства 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 Пусти ме да одем до моје ЦСС, и пусти ме да идем напред и само 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 ЦСС својства које постоје, јер, опет, постоје ствари као што су величина фонта, 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 или можете да пребаците све то напоље и ставио га у засебну ЦСС датотеку 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 или велика слика ЦСС? 344 00:18:41,000 --> 00:18:43,000 Опет ћете видети више од њега у псет 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 а ми ћемо се вратити на мало ЦСС-у облику пример. 349 00:18:54,000 --> 00:18:58,000 ПХП је заправо предивно приступачан језик 350 00:18:58,000 --> 00:19:02,000 у томе што синтаксички је скоро једнака Ц. 351 00:19:02,000 --> 00:19:06,000 Другим речима, ако знате Ц, знате за највећи део ПХП, 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 >> Али углавном, сада када смо прелаз из Ц на ПХП 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 За референцу, посебно са псет 7 и коначног пројекта па надаље, 359 00:19:27,000 --> 00:19:31,000 не искористе ову УРЛ адресу овде ако желите да прочитате горе на формалности ПХП. 360 00:19:31,000 --> 00:19:34,000 То заправо је ефикасно као бесплатне уџбеник, 361 00:19:34,000 --> 00:19:37,000 а такође ћете наћи да оно што је заиста лепо о ПХП 362 00:19:37,000 --> 00:19:41,000 је да постоје стотине функција које долазе са њом, 363 00:19:41,000 --> 00:19:44,000 док је у Ц нисте нужно имати приступ 364 00:19:44,000 --> 00:19:47,000 више функција него су били у математике библиотеци, ЦС50 библиотека. 365 00:19:47,000 --> 00:19:51,000 У ПХП и много модерних језика, Питхон и Руби међу њима, 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 >> Узмимо брз обилазак синтаксом ПХП и онда напише неколико примера. 370 00:20:03,000 --> 00:20:06,000 Шта је лепо о ПХП, пре свега 371 00:20:06,000 --> 00:20:08,000 је нема главна функција. 372 00:20:08,000 --> 00:20:10,000 Ако желите да напишете програм у ПХП почнете писање кода, 373 00:20:10,000 --> 00:20:12,000 а ви не морате да бринете о томе главни. 374 00:20:12,000 --> 00:20:14,000 Нема инт. Нема повратка. 375 00:20:14,000 --> 00:20:17,000 Нема аргв, аргц што је потребно када пишете програм. 376 00:20:17,000 --> 00:20:20,000 Уместо само да почнете писање кода, а то је у делу 377 00:20:20,000 --> 00:20:23,000 јер ПХП је оно што се зове тумачи језик. 378 00:20:23,000 --> 00:20:26,000 Ц је саставио, и да је сачињен у смислу да почнете 379 00:20:26,000 --> 00:20:29,000 са изворним кодом, то пролазе кроз кланг, што је преводилац, 380 00:20:29,000 --> 00:20:33,000 и на крају, након неког броја корака добијате објектног кода, 0с и 1с. 381 00:20:33,000 --> 00:20:36,000 ПХП и Питхон и Руби и Перл и остали 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 пишући у уобичајеном текстуалној датотеци, која се завршава у ПХП-у. у овом случају 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 директно да уместо тога написати програм са датотеком завршава пхп.. 390 00:21:04,000 --> 00:21:09,000 Затим покренете стварну емисију пхп.еке, ако си на Виндовс, 391 00:21:09,000 --> 00:21:12,000 или само ПХП, ако сте на Мац ОС или Линук, 392 00:21:12,000 --> 00:21:17,000 а ти дају као улаз за ПХП програму сопствени извор кода, 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 У ПХП имамо услове. 397 00:21:27,000 --> 00:21:29,000 Овај слајд је идентична ономе што сте се видели у недељу 1. 398 00:21:29,000 --> 00:21:33,000 јер синтаксички услови, ИФС и другде ИФС и другде у ПХП 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 Прекидачи изгледају исто, и добићете додатну корист у ПХП 403 00:21:46,000 --> 00:21:51,000 да прекидачи у Ц може само пребацити на цхар или инт. 404 00:21:51,000 --> 00:21:53,000 Ниси могао пребацити на ниске вредности. 405 00:21:53,000 --> 00:21:55,000 У ПХП заправо може имати израз 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 Не показивач поређење, како би се одлучило да ли да урадим ако сам или ј или нешто друго. 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 Док петљи постоје у ПХП. 413 00:22:18,000 --> 00:22:21,000 До вхиле петље такође постоје у ПХП, 414 00:22:21,000 --> 00:22:26,000 и низови постоје у ПХП-у, али ево где је синтакса почиње да се мало другачије, 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 То је била одлука о дизајну у ПХП чиме било променљива 419 00:22:37,000 --> 00:22:41,000 у ПХП по дизајн почиње са $ знаком. 420 00:22:41,000 --> 00:22:46,000 Нема више Кс, И, З. Сада је $ Кс $ И З $ само зато. 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 У ПХП и ЈаваСцрипт, као што смо на крају ћемо видети, 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 >> Сада, како смо урадили нешто овако у Ц? 429 00:23:11,000 --> 00:23:16,000 Шта је синтакса за декларисање статички низ познатих бројева? 430 00:23:16,000 --> 00:23:19,000 То је био витичасте заграде, па мала разлика овде, али иу ПХП 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 Врста, па шта је занимљиво посебно о ПХП 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 морате рећи инт, морате рећи плива. 445 00:24:00,000 --> 00:24:03,000 >> Кад год хоћеш променљиву мораш рећи шта његова јека је тип. 446 00:24:03,000 --> 00:24:05,000 ПХП је мало лењи. 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 Ово такође значи да на крају функције у ПХП ће бити у стању да се врате 457 00:24:32,000 --> 00:24:36,000 било инт већину времена, а можда једном у неко време 458 00:24:36,000 --> 00:24:40,000 они ће вратити Боол, боолеан фалсе, на пример, значи да нешто није у реду. 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 Променљиве изгледају веома свиђа, па $ а = "хелло, ворлд". 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 То може бити фоо, бар, или елемент, 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 ПХП ради све то посла за вас и на свакој итерацији 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 >> И онда на крају, за сада, има једна друга карактеристика ПХП 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 или кључ фоо чија је вредност бар. 496 00:26:41,000 --> 00:26:46,000 Тада можете да имате још један кључ чије име је баз и чија је вредност кук. 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 Уместо тога ће имати носача фоо и носећег Баз. 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 >> Хајде да погледамо неке основне ПХП 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 фајл који се зове хелло1.пхп. 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 и садашњи вама можда најједноставнији ПХП програма овде. 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 Датотека се зове хелло1.пхп. 524 00:28:12,000 --> 00:28:16,000 Прва линија, међутим, <пхп. 525 00:28:16,000 --> 00:28:18,000 Слично духом у ХТМЛ, 526 00:28:18,000 --> 00:28:21,000 који низ знакова говори рачунар 527 00:28:21,000 --> 00:28:25,000 "Хеј, рачунар, ево програм да смо у у ПХП." 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 је принтф наш стари пријатељ, 531 00:28:32,000 --> 00:28:34,000 овај пут у контексту ПХП. 532 00:28:34,000 --> 00:28:37,000 ПХП има своју верзију принтф која се понаша потпуно исто, 533 00:28:37,000 --> 00:28:39,000 па ово је само ће да штампа "Здраво, свете." 534 00:28:39,000 --> 00:28:46,000 А онда супротно ознака овде,>, значи? То је то за мој ПХП кода. 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 Ја ћу да одем у ПХП директоријум. 538 00:28:52,000 --> 00:28:56,000 Приметите да имамо гомилу фајлова, прва од којих је хелло.пхп. 539 00:28:56,000 --> 00:29:01,000 Дозволите ми да иде напред и покренули ову, хелло1.пхп, унесете. 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 Ми треба читати и писати, али дозволите ми да урадим лс-л. 544 00:29:11,000 --> 00:29:14,000 Запамти ово донекле шифровану излаз при хелло1 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 буквално зове ПХП. 554 00:29:38,000 --> 00:29:41,000 >> Негде на том хард диск уређаја постоји програм 555 00:29:41,000 --> 00:29:45,000 неко је написао зове ПХП, или на Виндовс пхп.еке. 556 00:29:45,000 --> 00:29:48,000 Оно што ћу да урадим овде јесте да ћу стварно покретање ПХП 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 У хелло2.пхп најаве да је ово сувише 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 то # је! / Бин / пхп. 566 00:30:20,000 --> 00:30:24,000 Бин је конвенција о Линук и Мац ОС за бинарне, 567 00:30:24,000 --> 00:30:27,000 тако / бин значи да је фасцикла садржи гомилу бинарне 568 00:30:27,000 --> 00:30:29,000 који је програмиран, од којих је ПХП. 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 "Хеј, ми смо написали ову емисију хелло1.пхп." 575 00:30:50,000 --> 00:30:54,000 Све што треба да урадите је да заувек покрене ПХП и онда име овог програма. 576 00:30:54,000 --> 00:30:58,000 Искрено, само би било лепше да покренете хелло1.пхп, 577 00:30:58,000 --> 00:31:00,000 и заиста, можемо да урадимо следеће. 578 00:31:00,000 --> 00:31:05,000 Пусти ме само напред и урадите лс-л, а обавештење у хелло2 то је још увек само читати писати 579 00:31:05,000 --> 00:31:10,000 а онда читати читање, тако да још не може да уради ово, хелло2.пхп. 580 00:31:10,000 --> 00:31:15,000 Али смо увели ово икада тако кратко последњи пут је цхмод команда. 581 00:31:15,000 --> 00:31:20,000 Ако урадим цхмод а + к, што значи да сви плус извршности, 582 00:31:20,000 --> 00:31:26,000 и онда хелло2.пхп и онда не лс-л опет приметили шта се променило. 583 00:31:26,000 --> 00:31:29,000 Један, Линук ми показује име датотеке у зеленој да пренесе идеју 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 Шта ово сад значи да је могу покренути ./хелло2.пхп као и обично, 587 00:31:42,000 --> 00:31:45,000 ударио ентер, и због схебанг на самом врху датотеке 588 00:31:45,000 --> 00:31:48,000 То је наговештај, опет, на Линук да каже 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 и преименовати ову ствар хелло2, на пример. 594 00:32:04,000 --> 00:32:07,000 А сада, ако ја ./хелло2 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 за тако нешто и учини кланг који их траже. 598 00:32:15,000 --> 00:32:18,000 Али за ПХП, могао назвати ништа екстензију желим. 599 00:32:18,000 --> 00:32:22,000 Могао преварити свет у мислећи да сам стварно добар у Руби, 600 00:32:22,000 --> 00:32:25,000 и ја сам могао да напишем хелло2.рб а затим покренути ово, 601 00:32:25,000 --> 00:32:28,000 и воила, сада имам Руби верзију, која је потпуна лаж. 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 У хелло3 сам урадио нешто лоше мало 607 00:32:45,000 --> 00:32:47,000 да ћу ажурирати изворни код онлајн. 608 00:32:47,000 --> 00:32:50,000 У верзији 3 испада да на већини Линук рачунарима 609 00:32:50,000 --> 00:32:53,000 постоји програм који се зове енв за животну средину, 610 00:32:53,000 --> 00:32:56,000 и шта можете учинити овде је ако немате идеју где ПХП 611 00:32:56,000 --> 00:33:00,000 је инсталиран на локалном хард диску, јер заиста то може варирати у зависности од рачунара 612 00:33:00,000 --> 00:33:03,000 да неко користи, енв само каже покренути енв, 613 00:33:03,000 --> 00:33:07,000 који је на већини система, и схватим где ПХП је. 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 >> Дозволите ми да умањите и тип који пхп, 618 00:33:19,000 --> 00:33:23,000 и приметите да ми говори да је заправо у уср / бин / пхп. 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 Ако сте се икада запитали где је кланг, који кланг, који је у уср / бин / кланг, 622 00:33:31,000 --> 00:33:34,000 који чине, уср / бин / направи, и шта то значи све ово време 623 00:33:34,000 --> 00:33:38,000 могли су да куцате уср / бин / зазвечати уђе да покренете кланг, 624 00:33:38,000 --> 00:33:41,000 али некако је досадан да се то уради, тако да неки фолдери 625 00:33:41,000 --> 00:33:44,000 као уср / бин и бин претпоставља се да су подразумеване 626 00:33:44,000 --> 00:33:50,000 тако да рачунар зна да траже у њима за вас. 627 00:33:50,000 --> 00:33:53,000 Сва питања у вези писања супер, супер једноставан Хелло Ворлд програм 628 00:33:53,000 --> 00:33:55,000 у ПХП и онда ради? 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 >> Ако сам отвори, на пример, хајде да урадимо беер1.пхп, 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 мој Ц кода ПХП кода овде. 636 00:34:15,000 --> 00:34:18,000 Већина на врху фајла је цомментс овде. 637 00:34:18,000 --> 00:34:20,000 Испоставило се да је то једна нова функција морамо зове реадлине. 638 00:34:20,000 --> 00:34:23,000 ГетСтринг, опозив, из недеље 0 па надаље био ЦС50 ствар. 639 00:34:23,000 --> 00:34:27,000 ПХП долази са сопственим усер-фриендли функције зове реадлине 640 00:34:27,000 --> 00:34:30,000 који траје 1 аргумент који одређује одзив 641 00:34:30,000 --> 00:34:33,000 да желите да покажете кориснику, и шта ради реадлине 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 Ја складиштење у њој повратну вредност реадлине 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 и покретање пхп беер1.пхп. 648 00:34:50,000 --> 00:34:53,000 Колико флаша ће тамо бити? Хајде само до 2. овог пута. 649 00:34:53,000 --> 00:34:55,000 Ентер. То је све. 650 00:34:55,000 --> 00:34:59,000 >> Програм је функционално идентичан Ц верзији из недеље пре. 651 00:34:59,000 --> 00:35:01,000 Али синтаксички хајде да видимо шта је то другачије. 652 00:35:01,000 --> 00:35:05,000 Након што сам добити инт од корисника најаве да радим неке грешке провере, 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  У Ц шта смо урадили? У Ц смо се вратили 1. 657 00:35:16,000 --> 00:35:20,000 У ПХП изађете са 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 То је нетачно у ПХП рећи инт. 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 да ако стави број у $ сам да ће га третирати 670 00:35:51,000 --> 00:35:53,000 као број за вас. 671 00:35:53,000 --> 00:35:57,000 А онда овде доле смо прикључите $ и $ и, $ и - 1. 672 00:35:57,000 --> 00:36:00,000 Све то је иста, а онда овде радимо "Вау, то је досадно" принтф 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 мало времена на ПХП, сигурно у односу оно што смо урадили у Ц, 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 Само да видимо да једна ствар не преведе преко из Ц, 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 Синтакса у ПХП је скоро исти. 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 Синтакса за функције у ПХП је икада тако нешто другачија. 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 >> Ми немамо, на пример, инт овде. 699 00:37:12,000 --> 00:37:15,000 Ми не, на пример, овде инт, јер, понављам, у ПХП 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 У ПХП је скоро мало јасније јер када желите функцију 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 На врху фајла потпуно одсутног у ПХП такође прототип. 709 00:37:43,000 --> 00:37:45,000 Ово је, такође по дизајну. 710 00:37:45,000 --> 00:37:48,000 Језици и преводиоци попут ПХП су паметнији од Ц икада био 711 00:37:48,000 --> 00:37:50,000 у компајлерима као јека. 712 00:37:50,000 --> 00:37:53,000 >> Подсетимо да је јека, ако нисте то рекли да постоји коцку, 713 00:37:53,000 --> 00:37:56,000 Ако нисте рекли да је иф постоји као са прототип 714 00:37:56,000 --> 00:38:00,000 или са # инцлуде, па је кренуо да виче на тебе и ни компајлирати код. 715 00:38:00,000 --> 00:38:03,000 ПХП и више савремени језици су много паметнији када је у питању ово. 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 ПХП и сличне језици су сада довољно паметни да погледамо напред 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 и ако сам отворити превише цондитионс2.пхп обавештење 724 00:38:35,000 --> 00:38:37,000 синтакса овде је скоро исти. 725 00:38:37,000 --> 00:38:40,000 Ја користим реадлине уместо ГетСтринг, али та линија је иста као и пре, 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 па ако сам покренути ову ствар, ПХП од цондитионс2, 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 бар за мене је била да се вратим и видим колико брзо могу да спроводе псет 5, 736 00:39:10,000 --> 00:39:12,000 Грешке псет. 737 00:39:12,000 --> 00:39:15,000 Подсетимо да је тај фајл под спеллер.ц, 738 00:39:15,000 --> 00:39:17,000 и тамо је фајл под дицтионари.ц. 739 00:39:17,000 --> 00:39:20,000 Оно што сам сам био некако провео неколико минута и ја претвара Ц кода 740 00:39:20,000 --> 00:39:23,000 да ПХП код, и нећемо провести много времена на Спеллер 741 00:39:23,000 --> 00:39:26,000 јер баш као у псет 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 Овде овај фајл, то је прилично еквивалент Ц кода 745 00:39:35,000 --> 00:39:37,000 ми смо ти дали за псет 5. 746 00:39:37,000 --> 00:39:39,000 Управо сам додао неких $ местима. 747 00:39:39,000 --> 00:39:43,000 Променио сам неке функције имена ако нису постојала у ПХП-у. 748 00:39:43,000 --> 00:39:45,000 Има једна додатна ствар овде, прег_матцх, 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 На врху мом досијеу сам захтева дицтионари.пхп. 755 00:40:05,000 --> 00:40:09,000 Баш као што је Ц # инцлуде ПХП има специјалну функцију која се зове захтевају 756 00:40:09,000 --> 00:40:14,000 да прилично ради исту ствар, захтевају фајл под називом дицтионари.пхп. 757 00:40:14,000 --> 00:40:18,000 Како да идем на имплементацији псет 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 И дозволите ми да направите нови фајл и почните да зовете овај дицтионари.пхп. 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 Идем да започнем свој ПХП фајл са отвореним носачем пхп затворена конзолу. 764 00:40:37,000 --> 00:40:40,000 А онда овде је било неколико функција сам потребне за спровођење за псет 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 Истовар, која се није ни аргументе. 773 00:41:06,000 --> 00:41:10,000 Ово су 4 функције које бих сада треба да спроведе у ПХП, 774 00:41:10,000 --> 00:41:13,000 и шта ћу да урадим је напред и урадите то. 775 00:41:13,000 --> 00:41:16,000 Многи од вас користи хеш табелу у псет 5, 776 00:41:16,000 --> 00:41:21,000 па ћу ићи напред и створи хеш табелу у ПХП. 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 Низ, али у ПХП низова не морају да буду индексиране бројчано. 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 >> Слично као у псет 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 рецимо иссет, што је ПХП функција која буквално значи само је кључ скуп, 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 То је то. То је псет 5 у ПХП-у. 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 Фајл функција у ПХП отвара датотеку 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 тако да не морате да урадите досадне [и] нотацију и слично. 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 можда у Ц, али ако ми сада идемо напред и покрените ово, 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 Овде је речник фајл који садржи само реч фоо. 849 00:45:12,000 --> 00:45:15,000 Овде је текст фајл који садржи само фоо бар. 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 Готово са псет 5. 853 00:45:23,000 --> 00:45:30,000 Узмимо овде 5-минута паузе, па ћемо се вратити и на ПХП. 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 који спроводи ову ствар у ПХП. 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 Дозволите ми да иде напред и покрените Ц верзију 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 И да је овде у идемо у нашу Ц фолдер, 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 Краљ Џејмс Библија била .38 секунди, тако да веома добро користи да би имплементација. 869 00:46:13,000 --> 00:46:16,000 Сада ме пустите у ПХП верзији, коју смо управо написао. 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 Спеллер на краља Џејмса 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 ПХП, Питхон, Руби, Перл или други при цему 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 секунде у односу на .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 употребе језика као ПХП или много тумаче језика 905 00:48:27,000 --> 00:48:30,000 У контексту Веба, што се тога тиче, имате корист 906 00:48:30,000 --> 00:48:34,000 да је интернет много спорије него већини рачунара. 907 00:48:34,000 --> 00:48:38,000 Имате ГХз процесор у вашем рачунару, 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 или Фацебоок фотографија или добијање инстант поруке преко Фацебоок брбљање, 913 00:48:54,000 --> 00:48:57,000 Гцхат или слично, све ове повратну карту пута 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 као ПХП или Питхон или Руби 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 Нема путоказа у ПХП. 922 00:49:22,000 --> 00:49:25,000 Нема сег грешке које лако могу да подстакну 923 00:49:25,000 --> 00:49:27,000 на исти начин на који би у Ц. 924 00:49:27,000 --> 00:49:29,000 Са Ц си супер близу хардверу. 925 00:49:29,000 --> 00:49:33,000 Са ПХП и сличне језике си некако вишем нивоу, да тако кажем, 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 као ПХП због лекција научених у језицима као што су ПХП у Ц. 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 и свакако, када је у питању рад на оваквом месту Фацебоок или Гоогле 933 00:49:56,000 --> 00:49:59,000 или било који од ових места која се све више играју са великим скуповима података 934 00:49:59,000 --> 00:50:01,000 чак и ако се вратимо и да премед и раде са неким МД 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 је у Ц, али ће вам помоћи да ценимо да када се спроведе нешто у Ц 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 међу примерима данашњим зове фросх.имс, 954 00:51:03,000 --> 00:51:06,000 и то је у ствари лично мотивисана чињеницом да је прва ствар 955 00:51:06,000 --> 00:51:10,000 Писао сам за Веб пре неколико година након што ЦС50 и ЦС51 956 00:51:10,000 --> 00:51:14,000 је сајт за Фросх Ћаскање програма, бруцош интрамуралне спорт, 957 00:51:14,000 --> 00:51:16,000 који је у то време то је било довољно година да је у то време 958 00:51:16,000 --> 00:51:19,000 нема сајт за овај програм, иако је било Веб, 959 00:51:19,000 --> 00:51:22,000 и уместо тога дошло је прокуратор у Вигглесвортх којој, ако сте желели 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 >> Ово је била прва ствар коју сам урадио, али у језику зове Перл, 970 00:51:49,000 --> 00:51:52,000 али је релативно лако урадити у ПХП-у, и то је нека врста представника 971 00:51:52,000 --> 00:51:55,000 проблема можете почети решавање када можете сами изразе 972 00:51:55,000 --> 00:51:58,000 програмски и не морају да се ослањају на ствари као што су Гоогле сајтовима 973 00:51:58,000 --> 00:52:01,000 или Екцел или алата који се предају на вас. 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 да омогући људима на Интернету да се пријавите за Фросх ИМС. 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 Хајде да прво погледамо испод хаубе на ХТМЛ-а који представља ову страницу. 983 00:52:27,000 --> 00:52:31,000 Пусти ме да идем у фросхимс0, 984 00:52:31,000 --> 00:52:35,000 и као по страни, за псет 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 >> У реду, овде је фросхимс0.пхп. 990 00:52:49,000 --> 00:52:52,000 Пусти ме доле померање, а оно што је занимљиво овде, 991 00:52:52,000 --> 00:52:56,000 ово је ПХП фајл, али оно што је унутар ње, јасно? 992 00:52:56,000 --> 00:52:59,000 То је много ХТМЛ, и заиста, ПХП је порекло 993 00:52:59,000 --> 00:53:02,000 стварно су за што веб-центриц језик. 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 Можете да користите ПХП као програмски језик 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 ПХП је супер корисна јер сте видели како брзо 1000 00:53:22,000 --> 00:53:24,000 Релативно можемо шчепати програме у ПХП. 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 Ја почети са <ПХП?. 1004 00:53:34,000 --> 00:53:38,000 Онда ја имам гомилу непотребних коментара, одобрених, али онда затворим ПХП режим. 1005 00:53:38,000 --> 00:53:41,000 Али онда сам упадне у ХТМЛ режим. 1006 00:53:41,000 --> 00:53:45,000 >> Оно што је интересантно у вези ПХП је, иако фајл завршава пхп. 1007 00:53:45,000 --> 00:53:48,000 је генерално то је значило да се заједно помешани са ХТМЛ, 1008 00:53:48,000 --> 00:53:50,000 неки ПХП код, неке ХТМЛ. 1009 00:53:50,000 --> 00:53:53,000 И ми ћемо на крају видети да можемо почети да задиркују оне поред 1010 00:53:53,000 --> 00:53:56,000 и држати наше ХТМЛ одвојено од нашег ПХП сасвим, 1011 00:53:56,000 --> 00:53:59,000 али порекло ПХП заиста требало да вам дам ову флексибилност, 1012 00:53:59,000 --> 00:54:02,000 да ако желите неки ХТМЛ само писати, а то ће бити 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 Ево моје ХТМЛ. 1017 00:54:14,000 --> 00:54:16,000 Имам звање ово за Фросх ИМС. 1018 00:54:16,000 --> 00:54:20,000 Имам тело ознаку који је добио неку ЦСС о томе да центар свега у средини, 1019 00:54:20,000 --> 00:54:23,000 и онда овде имам форму која очигледно иде да се достави 1020 00:54:23,000 --> 00:54:27,000 на нови фајл под називом регистер0.пхп, па ћемо видети да у овом тренутку. 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 а онда је Аплеи, Цанадаи, Граис, и тако даље. 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 Уместо потраге ЦС50 сам дао ознаку "Регистер". 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 који је регистер0.пхп. 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 мушкарац, Метјус, а онда ћу рећи региструјете. 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 Приметимо да је УРЛ променио се регистер0.пхп. 1060 00:56:26,000 --> 00:56:34,000 Оно што је занимљиво одсутна из УРЛ адресе, међутим, иако смо управо поднели образац? 1061 00:56:34,000 --> 00:56:37,000 [Нечујан ученик одговор] 1062 00:56:37,000 --> 00:56:39,000 Ок, то је само Цхроме као корисник пријатан ових дана. 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 Пред другом крају УРЛ, мада, шта фали? Да. 1066 00:56:46,000 --> 00:56:48,000 [Студентски] упита ниска. 1067 00:56:48,000 --> 00:56:51,000 Упит ниска, тако да се сетим од наших једноставних Гоогле претраге примера. 1068 00:56:51,000 --> 00:56:54,000 Чим сам кликните на дугме Пошаљи УРЛ 1069 00:56:54,000 --> 00:57:00,000 одвела на Гоогле, али онда је к = компјутер? наука или шта год да сам унесе 1070 00:57:00,000 --> 00:57:04,000 То је зато што смо користили метод гет со претрагу пример. 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 између добити и поставите је да пост не стави унос корисниково у УРЛ. 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 гледајући регистер0, је само видим садржај 1077 00:57:22,000 --> 00:57:25,000 низа који су достављени од претраживача ка серверу. 1078 00:57:25,000 --> 00:57:29,000 Али УРЛ нема?, Нема кључне речи 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 али га не стави у УРЛ-у, па каква информација је порука 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 Све то благо сте осетљиви вероватно не желите завршити у УРЛ 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 запамтите у историји год СЕО сте били у, 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 >> Такође, како да отпремите фотографију на Фацебоок? 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 Како сте евентуално отпремите фотографију преко УРЛ-а? 1097 00:58:26,000 --> 00:58:28,000 Ви заправо можете да урадите. 1098 00:58:28,000 --> 00:58:30,000 Можете узети ЈПЕГ или битмапу или ГИФ и можете га заступа у хексадецимални 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 АСЦИИ карактера, а ви заправо може отпремити слику преко УРЛ-а 1102 00:58:38,000 --> 00:58:41,000 после знаком питања, али генерално постоје ограничења величине. 1103 00:58:41,000 --> 00:58:44,000 Већина претраживача СЕО натера да нема више од 1.000 карактера, 1104 00:58:44,000 --> 00:58:47,000 Можда 2.000 карактера или слично, тако да не можете да отпремите 1105 00:58:47,000 --> 00:58:50,000 10 мб Фацебоок фотографија. 1106 00:58:50,000 --> 00:58:54,000 За то користите пост као добро, за сада се ставља параметара у УРЛ, 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 Шта се заправо регистер0 ради овде? 1110 00:59:02,000 --> 00:59:05,000 Па, ако отворим регистер0 обавештење да је ово супер једноставан страница, 1111 00:59:05,000 --> 00:59:09,000 али је демонстрирао чињеницу да могу да сарађују измешају, за боље или на горе, 1112 00:59:09,000 --> 00:59:12,000 ХТМЛ са ПХП. 1113 00:59:12,000 --> 00:59:15,000 Ова цела датотека, осим за коментаре на врху, су ХТМЛ 1114 00:59:15,000 --> 00:59:19,000 осим овог момка овде. 1115 00:59:19,000 --> 00:59:22,000 >> Обавештење у сред мог ПХП кода, 1116 00:59:22,000 --> 00:59:26,000 у сред мог ХТМЛ, имам неку врсту привремено 1117 00:59:26,000 --> 00:59:28,000 ушао ПХП режим. 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 год променљива га предате, тачка и зарез, излаз ПХП режим. 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 Па, шта је интересантно и убедљив о ПХП 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 ПХП сама схвати шта те кључне вредности пара су, 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 Ово је посебна Глобална променљива зове дословно $ _ПОСТ, у свим капама. 1140 01:00:34,000 --> 01:00:39,000 Ово је посебна Глобална променљива да ПХП само ствара за вас 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 хттп параметри, да тако кажем, 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 Ја сам тип Д-В-И-Д. 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 >> Када сам изабрао Метјуз је то вредност коју је добио изабрани, 1153 01:01:10,000 --> 01:01:12,000 а ово је мало глупо, али то је конвенција. 1154 01:01:12,000 --> 01:01:17,000 Када сам проверио кутију, вредност ОН ", на" добио поднети за чекбокс. 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 У фросхимс1 ћу направити једну промену. 1162 01:01:41,000 --> 01:01:44,000 Мењам акцију да регистер1.пхп, 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 туђа ЈаваСцрипт код, ЦСС туђе 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 >> Твиттер се догодило да напишем овај код, и то се зове боотстрап библиотека, 1172 01:02:11,000 --> 01:02:15,000 и то је само гомила ЦСС стила листова, гомила ЦСС датотеке. 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 Од повезујући га са том ознаком, која је иста ознака Сећам се користи за стилес3.цсс раније, 1177 01:02:30,000 --> 01:02:34,000 Сада имам приступ фајлу зове боотстрап.мин.цсс. 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 Али постоји читава гомила ЦСС, па ако сад отворим верзију 1 од Фросх ИМС 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 за Твиттер је боотстрап библиотеке, и они су ми рекли, ако желите да користите нашу библиотеку 1191 01:03:20,000 --> 01:03:23,000 користите елемент Фиелдсет унутар форми, 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 али ћете видети у једној од псет 7 је шортс. 1197 01:03:39,000 --> 01:03:43,000 Класе у ЦСС вам омогућава да урадите нешто веома слично ИД, 1198 01:03:43,000 --> 01:03:46,000 али пре него када смо имали личну карту са симболом # 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 или исти ЦСС ствари примењује на њега. 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 Твиттер очекује, и постоји толико много различитих начина 1208 01:04:12,000 --> 01:04:14,000 то уради, а то је заиста веома прикладно. 1209 01:04:14,000 --> 01:04:17,000 У овом тренутку у семестру, као што ћете видети у спец псет 7 а, 1210 01:04:17,000 --> 01:04:20,000 Гооглинг около, читање се на библиотекама, коришћењем ЦСС туђе 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 Веб се гради ових дана, стајао на раменима других људи 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 да нема сметњи са Твитеру ствари, и дозволите ми да иде напред и отворити 1219 01:04:44,000 --> 01:04:51,000 фросхимс2, која, опет, разликује само у акцији, регистер2.пхп, 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 Ја ћу рећи мушкарац, Маттхевс, регистарски. 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 Регистер2, линија 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 Сам откуцао у Давиду, проверена мушкарац, кликнуо Маттхевс, регистарски. 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 У регистер2.пхп 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 већ зато што сам се стапају ово са неким ХТМЛ 1237 01:05:47,000 --> 01:05:51,000 Морам да улазе и излазе из моде ПХП и назад, па да видимо шта радим. 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 опет улазимо ПХП режим, познати ако изјави, 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 иако смо изласку ПХП мод све 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 док не видите ендиф, тако да неки мало нова синтакса 1262 01:07:13,000 --> 01:07:16,000 који ми омогућава да прелазите ХТМЛ и ПХП. 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 У фросхимс3 једина разлика је што ћу да поднесе регистер3, 1268 01:07:33,000 --> 01:07:35,000 па ХТМЛ је исти. 1269 01:07:35,000 --> 01:07:38,000 У регистер3 приметити. 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 Овај пут то није стдио.х или нешто слично. 1273 01:07:46,000 --> 01:07:50,000 То је ПХП библиотека, и то се зове ПХПМаилер. 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 ако желите да користите посебан библиотеку под називом ПХПМаилер који ради оно што каже. 1277 01:08:00,000 --> 01:08:03,000 Она вам омогућава да шаљете е-маил преко ПХП. 1278 01:08:03,000 --> 01:08:05,000 Сада идемо помицати доле даље. 1279 01:08:05,000 --> 01:08:08,000 >> Обавештење почети сам у ПХП моду цео овај пут, 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 ПХП, као на страну, је објекат оријентисан програмски језик 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 За данас ПХП нема показиваче, 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 унутар те библиотеке радим, као у Ц, користите оператор стрелице, 1300 01:09:12,000 --> 01:09:14,000 иако то заправо нису показивачи. 1301 01:09:14,000 --> 01:09:16,000 То је нека врста сопственог верзије ПХП истих. 1302 01:09:16,000 --> 01:09:20,000 То значи да иду у библиотеку и позове ИсСМТП функцију. 1303 01:09:20,000 --> 01:09:23,000 СМТП, опозив, од наших ратника на Нету односи на емаил, 1304 01:09:23,000 --> 01:09:28,000 а то само значи коришћење е-маил сервер за овај Фросх Ћаскање регистрације. 1305 01:09:28,000 --> 01:09:30,000 >> Оно домаћин не желим да користим? 1306 01:09:30,000 --> 01:09:34,000 Па, Харвард, ако Гоогле около, има е-маил сервер зове смтп.фас.харвард.еду. 1307 01:09:34,000 --> 01:09:37,000 Ако играте заједно код куће или живите на Цомцаст мрежи 1308 01:09:37,000 --> 01:09:40,000 то би могло бити нешто као смтп.цомцаст.нет. 1309 01:09:40,000 --> 01:09:43,000 То је потпуно зависи од тога где живите и ко је ваш ИСП. 1310 01:09:43,000 --> 01:09:47,000 После тога ћу да поставим своје адресе из самовољно да буде јхарвард@цс50.нет. 1311 01:09:47,000 --> 01:09:52,000 Онда ћу да подесите да се обрати да јхарвард@цс50.нет. 1312 01:09:52,000 --> 01:09:55,000 Једини начин на који сам знао да су се звали ове функције СетФром и АддАддресс 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 И сада ова линија је мало ружна, јер шта значи тачка оператер у ПХП? 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 У Ц је бол у врату да заједно повезати у облику ланца 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 У ПХП, у ЈаваСцрипт-у и другим језицима 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 То је стварање е тело које ће да каже име: Капетан Пол: Дорм: 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 која ће имати ефекат, као што ћете видети у псет 7, преусмеравања корисника 1348 01:11:30,000 --> 01:11:35,000 тамо где су дошли, фросхимс3.пхп. 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 Дозволите ми да отворим свој инбок-поште за јхарвард у Гмаил. 1352 01:11:42,000 --> 01:11:44,000 Не е сада. У реду. 1353 01:11:44,000 --> 01:11:53,000 Сада дозволите ми отвори фросхимс3, која је трећи и последњи пример ћемо погледати овде. 1354 01:11:53,000 --> 01:11:55,000 Ок, идемо. 1355 01:11:55,000 --> 01:12:00,000 Нејт, он ће бити капитен, мушко, од, рецимо, Аплеи. 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 [ЦС50.ТВ]