1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [Мусиц плаиинг] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> Давид Малан: Ово је ЦС50, и ово је почетак недеље осам. 5 00:00:13,350 --> 00:00:17,510 И ми смо толико узбуђен да дочека назад, велико изненађење, ЦС50 сопствене Рамон 6 00:00:17,510 --> 00:00:22,160 Галван, растућа виши који је био проводи у последњих неколико месеци 7 00:00:22,160 --> 00:00:26,190 од јула у Лос Анђелесу, у Холивуду, буквално ради на новом ТВ 8 00:00:26,190 --> 00:00:31,930 Схов се зове Колонија, творац који је заправо Харварду стипса сам. 9 00:00:31,930 --> 00:00:36,610 И тако смо веома узбуђени да види ово деби на УСА Нетворк ово јануара. 10 00:00:36,610 --> 00:00:40,370 Дакле, стаи тунед за то, и за више Рамон за недељама које долазе. 11 00:00:40,370 --> 00:00:42,550 >> Сада знам да је крај близу. 12 00:00:42,550 --> 00:00:47,400 А шта то значи да нема све толико остало од ЦС50, тужно је рећи. 13 00:00:47,400 --> 00:00:49,400 Имамо само три проблема сетови лефт-- нема 14 00:00:49,400 --> 00:00:52,510 Проблем сет сик-- који је у руке сада или ће ускоро бити, 15 00:00:52,510 --> 00:00:56,080 због касније ове Недељу има за циљ да премости наши светови командној линији, где 16 00:00:56,080 --> 00:00:59,450 смо провели већину нашег времена коришћења Ц, а свет веб програмирања. 17 00:00:59,450 --> 00:01:02,350 Па, видећете много идеја позајмљено из командне линије рада, 18 00:01:02,350 --> 00:01:04,560 али и доста нових и интересантне идеје 19 00:01:04,560 --> 00:01:07,929 које су такође ће бити Германе за мобилних апликација и за технологију, 20 00:01:07,929 --> 00:01:10,470 генерално, са којом сте момци су сви упознати данас 21 00:01:10,470 --> 00:01:12,090 на лаптоповима и телефонима и сл. 22 00:01:12,090 --> 00:01:15,220 >> Тако ћете не спроводи веб страница, или сајт 23 00:01:15,220 --> 00:01:17,620 по себи, већ стварни веб сервер. 24 00:01:17,620 --> 00:01:21,590 Ви ћете написати остатак веб сервера писан у Ц, чији је циљ у животу 25 00:01:21,590 --> 00:01:25,410 је да прими ХТТП захтева, те виртуал коверте чувамо говоримо 26 00:01:25,410 --> 00:01:29,780 о, и заправо реагују или са неки статични цонтент-- лике а дот ХТМЛ 27 00:01:29,780 --> 00:01:32,310 датотека, или тачка ЈПЕГ или било који други број фајлова, 28 00:01:32,310 --> 00:01:37,070 или чак ПХП фајл где ваш веб сервер ће интерпретирати ту ПХП 29 00:01:37,070 --> 00:01:38,332 број и испљунути резултате. 30 00:01:38,332 --> 00:01:40,540 Сада смо вас добили доста оквира 31 00:01:40,540 --> 00:01:43,100 за заиста тога-- дистрибуција кода за проблем 32 00:01:43,100 --> 00:01:47,496 сет шест је дуга преко 1.000 линије, Много која је коментара, да буду фаир-- 33 00:01:47,496 --> 00:01:49,370 али ово је стварно значи да буде прилика 34 00:01:49,370 --> 00:01:52,570 да се руке прљаве роњење у прилично великом пројекту 35 00:01:52,570 --> 00:01:55,570 да смо веома специфично исклесао комада за вас, 36 00:01:55,570 --> 00:01:59,046 тако да заиста када изађете из ЦС50 и улазе у стварни свет програмирања 37 00:01:59,046 --> 00:02:00,920 и желе да се бави било који број пројеката, 38 00:02:00,920 --> 00:02:03,253 имаћете много већа удобност довнлоадинг неки извор 39 00:02:03,253 --> 00:02:05,020 Код неке Опен Соурце пројектује на Интернету, 40 00:02:05,020 --> 00:02:08,174 и роњење у и израда промене које вам одговара. 41 00:02:08,174 --> 00:02:11,340 Проблем сет седам ће бити око чинећи свој веб базиране апликације 42 00:02:11,340 --> 00:02:14,140 која се динамички унос и производи динамичан излаз у облику 43 00:02:14,140 --> 00:02:16,920 од етраде.цом налик сајту. 44 00:02:16,920 --> 00:02:20,800 А Проблем сет осам ће се фокусирати на још други језик познат као ЈаваСцрипт. 45 00:02:20,800 --> 00:02:24,170 >> У међувремену, коначни Пројекат је на хоризонту. 46 00:02:24,170 --> 00:02:26,800 Такозвани пред-пропосал је због недељу дана од данас. 47 00:02:26,800 --> 00:02:29,930 Пре-понуду-- складу са спецификацији, који је на ЦС50 је вебсите-- 48 00:02:29,930 --> 00:02:33,260 је прилично повремени прилика за да шаљете прилично језгровит емаил 49 00:02:33,260 --> 00:02:35,170 на ваш демонстратор само да га апприсе 50 00:02:35,170 --> 00:02:38,250 или јој шта мислиш, да користити њега или њу као резонатор. 51 00:02:38,250 --> 00:02:40,980 И имају разум цхецк-- да ли размишљате 52 00:02:40,980 --> 00:02:43,210 о Одгризање превише много или можда премало, 53 00:02:43,210 --> 00:02:46,480 или можда имате никакву идеју и желе да се укључе у разговор. 54 00:02:46,480 --> 00:02:48,480 >> Након тога је предлог и статус извештај, 55 00:02:48,480 --> 00:02:51,860 тзв ЦС50 Хацкатхон овде у Кембриџ за Харвард и Јејл студената 56 00:02:51,860 --> 00:02:52,362 слично. 57 00:02:52,362 --> 00:02:54,320 Коначна Пројекат је Имплементација је тада због. 58 00:02:54,320 --> 00:02:59,290 А онда ЦС50 сајам овде, у Кембриџу, као и још један у Њу Хејвену. 59 00:02:59,290 --> 00:03:02,500 Тако предлога, погледајте веб сајт за оне појединости. 60 00:03:02,500 --> 00:03:06,530 >> Али више узбудљиво, такође, је прилика да се руке прљаве, 61 00:03:06,530 --> 00:03:09,350 и ваши умови отворене у целини гомила тема и алата 62 00:03:09,350 --> 00:03:12,920 и технике које су помоћни да у току језгра наставног плана и програма, 63 00:03:12,920 --> 00:03:14,810 али ипак повезани. 64 00:03:14,810 --> 00:03:18,400 Али и дивно степпинг камење да ради стварно цоол завршне пројекте који 65 00:03:18,400 --> 00:03:22,020 иду добро изнад материјала смо покривени формално у проблему поставља или предавања. 66 00:03:22,020 --> 00:03:24,446 Па иди на сајт ЦС50 за цео списак семинара. 67 00:03:24,446 --> 00:03:26,070 Ако још не региструју, то је у реду. 68 00:03:26,070 --> 00:03:29,860 Само напред и пријавите се још и ми ћемо прати уживо са линком стреаминг, 69 00:03:29,860 --> 00:03:31,844 дан и време је на сајту. 70 00:03:31,844 --> 00:03:33,760 И све ће бити снимио и ставио на мрежи 71 00:03:33,760 --> 00:03:35,800 ако не може учинити одређених дана и времена. 72 00:03:35,800 --> 00:03:39,380 >> А шта се налази испред тхереафтер-- добро, Наравно, ту је ЦС50 Хацкатхон. 73 00:03:39,380 --> 00:03:43,560 Ова фотографија, опозив, из седмице нула узети око 4 ПМ једне вечери у години раније. 74 00:03:43,560 --> 00:03:46,900 ЦС50 сајму, који опет ће се одржати у оба града. 75 00:03:46,900 --> 00:03:49,760 А онда, само да поставиш семе, иако смо и даље 76 00:03:49,760 --> 00:03:54,080 има месец дана, плус остало семестра, ако желите да се придружите ЦС50 сопствену учење 77 00:03:54,080 --> 00:03:56,770 особље и желите да почнете размишљам о томе како постати ЦА 78 00:03:56,770 --> 00:03:59,550 или демонстратор, знам да Почећемо говоримо више о томе 79 00:03:59,550 --> 00:04:00,630 Касније овог семестра. 80 00:04:00,630 --> 00:04:03,470 Али овде је на слици већина овогодишњег тима. 81 00:04:03,470 --> 00:04:06,950 >> И тако, ПХП-- и била сам тако тужна прошле недеље да [? Аллисе?] Љубазно 82 00:04:06,950 --> 00:04:09,370 отишао у напору добијања Амерички ова дивна Пропс 83 00:04:09,370 --> 00:04:11,720 да нисам на крају користе, тако да стварно само погледао мало глупо 84 00:04:11,720 --> 00:04:15,160 да смо имали лопату седи овде све дан прошле среде, и мало кашика. 85 00:04:15,160 --> 00:04:17,709 Али ово је била моја метафоричан начин покушава да наслика 86 00:04:17,709 --> 00:04:21,600 слика зашто смо транзиције од Ц до језика као ПХП. 87 00:04:21,600 --> 00:04:25,480 А исто би се могло рећи било Број лангуагес-- Јава, Питхон, Руби 88 00:04:25,480 --> 00:04:31,270 или гомиле Остали-- Али, док у Ц, на пример, писање програма у Ц 89 00:04:31,270 --> 00:04:34,050 Можда обично бити као узимајући кашику овако 90 00:04:34,050 --> 00:04:36,770 и копање рупу у тло, у песку или прашини. 91 00:04:36,770 --> 00:04:39,770 ПХП вам омогућава да се много веће угриза од проблема, 92 00:04:39,770 --> 00:04:42,842 писање далеко мање код коришћењем далеко мању алат, 93 00:04:42,842 --> 00:04:45,050 јер тако је много више функционалност пиецед у. 94 00:04:45,050 --> 00:04:47,633 >> Сада, ако смо заиста драматичан, ћемо морати нешто да ашов 95 00:04:47,633 --> 00:04:48,760 овде, али нека тако и буде. 96 00:04:48,760 --> 00:04:51,370 У међувремену, друга метафора смо смислили 97 00:04:51,370 --> 00:04:53,770 је, наравно, можеш користити нешто као кључем 98 00:04:53,770 --> 00:04:56,610 да закуца у нешто попут ексера. 99 00:04:56,610 --> 00:04:58,980 Али наравно, право алат за коришћење иде 100 00:04:58,980 --> 00:05:01,360 да не буде толико језик назван ц-- 101 00:05:01,360 --> 00:05:03,590 а сада сам љут [? Сандерс?] Вјероватно, 102 00:05:03,590 --> 00:05:07,890 средићемо то тако латер-- право алат за често користе 103 00:05:07,890 --> 00:05:09,640 неће бити ово најнижи ниво алат. 104 00:05:09,640 --> 00:05:13,720 И заиста, Ц није језик који већина вас је икада користити, 105 00:05:13,720 --> 00:05:15,590 или треба нужно користити поново. 106 00:05:15,590 --> 00:05:18,350 >> А у ствари, мало тајна-- једини пут 107 00:05:18,350 --> 00:05:23,160 Ја користим, Ц себи је прилично између Септембра и децембра сваке јесени 108 00:05:23,160 --> 00:05:23,870 семестар. 109 00:05:23,870 --> 00:05:25,790 А то је зато што смо користите га као прилику 110 00:05:25,790 --> 00:05:27,852 научити основе програмирања, 111 00:05:27,852 --> 00:05:29,810 а са њом компјутерском наука основе, подаци 112 00:05:29,810 --> 00:05:32,435 структуре, алгоритми и као-- али врло брзо хоћеш 113 00:05:32,435 --> 00:05:35,010 видим да је синтакси и идеје основни Ц 114 00:05:35,010 --> 00:05:37,530 су тако дивно преносива на модернија 115 00:05:37,530 --> 00:05:41,130 језици вишем нивоу, као што су ПХП и Питхон и Перл и Јава 116 00:05:41,130 --> 00:05:46,750 и циљ-ц-- ствари, не толико Циљ-ц-- али Свифт, ово новије 117 00:05:46,750 --> 00:05:50,010 језици који многи од вас ће онда површно витх иоу коначног пројекта. 118 00:05:50,010 --> 00:05:55,070 >> Дакле, без даљег одлагања, хајде да ствари користите ПХП да реше неке проблеме. 119 00:05:55,070 --> 00:06:00,230 Подсетимо се да је рано, задња недеље, само смо користили ЦС50 ИДЕ 120 00:06:00,230 --> 00:06:02,990 ми написао Динки мало програм то само рекао: "Здраво свете". 121 00:06:02,990 --> 00:06:05,680 И онда сам га спасио у фајл под именом хелло.пхп. 122 00:06:05,680 --> 00:06:07,280 А онда сам водио ову команду. 123 00:06:07,280 --> 00:06:08,080 >> И зашто? 124 00:06:08,080 --> 00:06:09,900 На енглеском, шта се овде дешава? 125 00:06:09,900 --> 00:06:12,760 Шта сам радио када Трчао сам ову команду? 126 00:06:12,760 --> 00:06:13,405 >> Да? 127 00:06:13,405 --> 00:06:16,572 >> ПУБЛИКА: Има неких функција тект да чита оно што је у-- то разуме. 128 00:06:16,572 --> 00:06:19,696 Давид Малан: Добро, има неких функција ПХП-- и пусти ме да будем прецизнији, 129 00:06:19,696 --> 00:06:21,810 постоји програм који се зове ПХП а.к.а. 130 00:06:21,810 --> 00:06:25,872 Тумач, да разуме садржај хелло.пхп, 131 00:06:25,872 --> 00:06:27,830 и тумачи одозго дно, с лева на десно, 132 00:06:27,830 --> 00:06:29,590 и ради шта ти кажем команде. 133 00:06:29,590 --> 00:06:33,320 Команди је хелло.пхп, наравно, је само извор цоде-- функције 134 00:06:33,320 --> 00:06:35,750 и варијабле и петље и слично, које смо сами 135 00:06:35,750 --> 00:06:37,460 су почела да пише у ПХП. 136 00:06:37,460 --> 00:06:40,240 >> Али за разлику од Ц, која је компајлерском језику, 137 00:06:40,240 --> 00:06:42,810 ПХП-само га напишем, и покрените га. 138 00:06:42,810 --> 00:06:46,420 Прескочите си ту посредника корак претварајући га нула и јединица, 139 00:06:46,420 --> 00:06:47,790 и онда ради. 140 00:06:47,790 --> 00:06:50,510 И шта је окренут ово? 141 00:06:50,510 --> 00:06:52,690 Зашто прескакање корак? 142 00:06:52,690 --> 00:06:55,238 Зашто више модерних језика имају тенденцију да прескочите овај корак? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 Шта је корист? 145 00:07:01,220 --> 00:07:02,080 >> Или само интуитивно? 146 00:07:02,080 --> 00:07:04,200 Чак и ако нисам написано много ПХП пре, 147 00:07:04,200 --> 00:07:07,210 оно што је корисно о томе да не састављања код мислиш? 148 00:07:07,210 --> 00:07:08,520 Ne? 149 00:07:08,520 --> 00:07:09,610 Није починио? 150 00:07:09,610 --> 00:07:11,350 Гребање главу? 151 00:07:11,350 --> 00:07:12,614 Да. 152 00:07:12,614 --> 00:07:13,600 >> ПУБЛИКА: Више динамичан. 153 00:07:13,600 --> 00:07:14,683 >> Давид Малан: Више динамичан? 154 00:07:14,683 --> 00:07:16,032 Шта си мислио? 155 00:07:16,032 --> 00:07:17,000 >> ПУБЛИКА: [неразумљиво] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 Давид Малан: Добро, добро, тако Зависно од улаза, 158 00:07:22,390 --> 00:07:23,470 не морате да га саставити сваки пут. 159 00:07:23,470 --> 00:07:24,990 И заиста је као једноставно као што то-- 160 00:07:24,990 --> 00:07:26,990 је тачка наставка саставити свој код? 161 00:07:26,990 --> 00:07:29,480 Ово је само корак који је макинг-- то захтијева, 162 00:07:29,480 --> 00:07:31,900 У последњих неколико недеља, двоструко више корака 163 00:07:31,900 --> 00:07:33,820 као само ради свој програм. 164 00:07:33,820 --> 00:07:36,940 Прошло је корисно у томе да вас видите неке поруке о грешкама и тако даље, 165 00:07:36,940 --> 00:07:38,720 али то је само досадни корак. 166 00:07:38,720 --> 00:07:41,810 >> И тако програмери схватио током времена, зашто не бисмо 167 00:07:41,810 --> 00:07:45,327 почнем да пишем језике које не треба да прилично механички корак, 168 00:07:45,327 --> 00:07:47,160 тако да само могу да пишем Ваш код и њиме управља. 169 00:07:47,160 --> 00:07:48,920 Али оно што је била цена да смо видели смо платили 170 00:07:48,920 --> 00:07:50,910 прошле недеље, са једном конкретном примјеру? 171 00:07:50,910 --> 00:07:51,650 Да? 172 00:07:51,650 --> 00:07:52,370 >> Брзина. 173 00:07:52,370 --> 00:07:54,690 Prema tome [? шта је?] преводиоци мало спорије, 174 00:07:54,690 --> 00:07:57,330 у томе и они су нула лепо и брзо за компјутер 175 00:07:57,330 --> 00:08:00,070 да разуме, јер је ЦПУ, или шта год да је, 176 00:08:00,070 --> 00:08:03,070 Само разуме шта се дешава о са тим обрасцима бита. 177 00:08:03,070 --> 00:08:05,370 Док преводиоца је програм који стварно 178 00:08:05,370 --> 00:08:07,980 мора да прочита извор АСЦИИ код које сте написали, 179 00:08:07,980 --> 00:08:12,700 и претворити га, да тако кажем, или схватити како то на крају претвара 180 00:08:12,700 --> 00:08:13,525 да нула и јединица. 181 00:08:13,525 --> 00:08:15,650 Дакле, то је само потребно мало Мало хит перформанси. 182 00:08:15,650 --> 00:08:16,858 Дакле, то је мало траде-офф. 183 00:08:16,858 --> 00:08:21,570 Сада, ако радимо овде, пусти ме само напред и уради један пример како следи. 184 00:08:21,570 --> 00:08:26,610 Ако ја одем унутра, нови фајл, ја ћу ово поново сачувате хелло.пхп. 185 00:08:26,610 --> 00:08:31,450 А сада ћу да наставим и кажу, "Принт Хелло Ворлд" - 186 00:08:31,450 --> 00:08:35,130 и сећам се да сам могу користити отисак, не знам морају да користе штампање Ф. А сада овде доле, 187 00:08:35,130 --> 00:08:42,039 ако урадим ПХП за хелло.пхп, хух-- сам не изгледа да га тумаче. 188 00:08:42,039 --> 00:08:43,412 Шта сам урадио погрешно? 189 00:08:43,412 --> 00:08:44,710 >> ПУБЛИКА: коси наруквице. 190 00:08:44,710 --> 00:08:47,015 >> Давид Малан: Да, треба да је угао носач на врху. 191 00:08:47,015 --> 00:08:49,390 Тако је некако нервира, али се навикнете на то брзо. 192 00:08:49,390 --> 00:08:53,500 Ако морам да пишем ПХП код, ја генерално треба да кажете програм, 193 00:08:53,500 --> 00:08:56,950 или реци преводиоца, хеј ПХП ево мало ПХП код. 194 00:08:56,950 --> 00:09:00,440 А онда за сваки случај, ја бих затварање овог није са овим, него 195 00:09:00,440 --> 00:09:03,740 са само питање углом марк носач, тако да сада овде, 196 00:09:03,740 --> 00:09:06,840 ако налетим поново, сада Ја добити жељени резултат. 197 00:09:06,840 --> 00:09:09,820 >> Хајде да урадимо мали оптимизација, тако да сам то раније. 198 00:09:09,820 --> 00:09:14,040 Ово је мало неугодно да сам морати да покренете ПХП простор хелло.пхп, 199 00:09:14,040 --> 00:09:16,060 јер је у прошлости сам могао само напишите дот сласх 200 00:09:16,060 --> 00:09:17,560 име програма, што је лепо. 201 00:09:17,560 --> 00:09:19,420 То је нека врста боље корисничко искуство. 202 00:09:19,420 --> 00:09:24,160 >> Тако испада можете да урадите ово у ПХП са фолловинг-- И 203 00:09:24,160 --> 00:09:28,780 Можете користити ову прилично загонетан бајалица на врху овде, 204 00:09:28,780 --> 00:09:31,740 који се генерално назива схебанг, при чему је оштар симбол, 205 00:09:31,740 --> 00:09:34,270 да тако кажем, ово је прасак или знак узвика. 206 00:09:34,270 --> 00:09:38,490 А ово сада је пут ка програму на типичном Линук систему који 207 00:09:38,490 --> 00:09:41,500 се зове окружење, или енв. 208 00:09:41,500 --> 00:09:43,920 И то лине-- дугу причу схорт-- прва линија једноставно 209 00:09:43,920 --> 00:09:48,710 каже, хеј рачунар, наћи ПХП преводилац за мене у окружењу, 210 00:09:48,710 --> 00:09:50,610 нашао у вашем сећању, да се тако изразим. 211 00:09:50,610 --> 00:09:54,130 >> И шта је сад лепо, зар да ако одем доле, 212 00:09:54,130 --> 00:09:57,750 Ја могу да урадим дот сласх здраво тачка ПХП, или-- ха. 213 00:09:57,750 --> 00:09:59,000 Дозвола одбијена. 214 00:09:59,000 --> 00:10:02,350 Па, видећете још више од тога са проблемом сет седам, ако вас 215 00:10:02,350 --> 00:10:04,060 већ нисте, са дозволама. 216 00:10:04,060 --> 00:10:06,510 Испоставило се да требам да изврши ову команду 217 00:10:06,510 --> 00:10:10,779 зове [? цхамод?] за промену моде-- је Плус Кс хелло.пхп. 218 00:10:10,779 --> 00:10:13,820 Требам [неразумљиво] ово један додатни корак који говори мој рачунар, 219 00:10:13,820 --> 00:10:16,400 да хелло.пхп извршну. 220 00:10:16,400 --> 00:10:21,310 И сад гледајте шта хаппенс-- дот сласх хелло.пхп, само ради. 221 00:10:21,310 --> 00:10:23,310 Не треба да наведете преводилац више. 222 00:10:23,310 --> 00:10:26,680 И могу учинити чак и лепши, ипак, ако преименовати ову ствар. 223 00:10:26,680 --> 00:10:30,570 Ако хелло.пхп пређемо на само Хелло-- тако приметити у горњем левом углу, 224 00:10:30,570 --> 00:10:32,860 Име овог програма је заиста сада само Здраво. 225 00:10:32,860 --> 00:10:37,300 Сада могу да изгледа као Ц програма, иако је написано у ПХП-- 226 00:10:37,300 --> 00:10:39,210 или искрено било који број других језика. 227 00:10:39,210 --> 00:10:41,480 >> Тако маргинална унапређење, не функционална разлика. 228 00:10:41,480 --> 00:10:44,460 Али то је само мали куриозитет сада, тако да можете писати програме 229 00:10:44,460 --> 00:10:48,989 на било ком језику, а корисник не морате да знате или брига шта они јесу. 230 00:10:48,989 --> 00:10:51,030 Па, хајде да погледамо Више убедљив пример сада 231 00:10:51,030 --> 00:10:52,850 да сам подизали унапред. 232 00:10:52,850 --> 00:10:54,955 И то се зове куоте.пхп. 233 00:10:54,955 --> 00:10:56,740 И то је доступан онлине. 234 00:10:56,740 --> 00:11:00,299 И приметите да је прилично схорт-- али је програм командне линије је то 235 00:11:00,299 --> 00:11:02,840 ће погледати цене акција За мене, који се заправо догађа 236 00:11:02,840 --> 00:11:04,230 да је Германе да проблема сет седам. 237 00:11:04,230 --> 00:11:05,396 >> Дакле, хајде да видимо шта радим. 238 00:11:05,396 --> 00:11:08,640 На самом врху ја имам отворена конзола знак питања тект. 239 00:11:08,640 --> 00:11:13,372 Онда имам ову линију, где сам захтева фајл под називом фунцтионс.пхп-- 240 00:11:13,372 --> 00:11:15,080 идемо да видимо Више о томе у мало, 241 00:11:15,080 --> 00:11:17,340 али ово је као Ц је верзија оштар укључују, 242 00:11:17,340 --> 00:11:19,090 gde želite da idete укључују још једну датотеку. 243 00:11:19,090 --> 00:11:23,720 Тект зове се захтевају, иако је такође има инцлуде функцију. 244 00:11:23,720 --> 00:11:26,861 И испоставило се да је фунцтион.пхп Само нешто што сам написао раније класе. 245 00:11:26,861 --> 00:11:29,860 Ставио сам га у истом директоријуму, јер Хтео сам да се неки фактор код 246 00:11:29,860 --> 00:11:31,800 да бисмо могли желите да користите на другом месту. 247 00:11:31,800 --> 00:11:34,560 >> У међувремену, вероватно можете закључити шта се овде дешава. 248 00:11:34,560 --> 00:11:39,200 Ово је мало другачији од ц-- али Шта ја подразумевам под осигурало правилно коришћење? 249 00:11:39,200 --> 00:11:41,180 Транслате то више технички. 250 00:11:41,180 --> 00:11:45,950 Под којим околностима а одвикавање програм, или излазе? 251 00:11:45,950 --> 00:11:47,074 Да? 252 00:11:47,074 --> 00:11:47,990 >> ПУБЛИКА: Када немате Две командне линије аргументи. 253 00:11:47,990 --> 00:11:49,480 >> Давид Малан: Када Немам да аргументе командне линије. 254 00:11:49,480 --> 00:11:52,396 И запамтите да је један од оних Аргументи је Сам назив овог програма. 255 00:11:52,396 --> 00:11:55,340 А други ће бити неку другу реч куцам после упита. 256 00:11:55,340 --> 00:11:57,460 Дакле, баш као Ц, ова је мој начин провјере, 257 00:11:57,460 --> 00:12:00,022 да ли је корисник сарађују и покрените програм као што сам намеравао? 258 00:12:00,022 --> 00:12:01,730 Сада, постоји нешто мало другачије 259 00:12:01,730 --> 00:12:04,020 са ц-- пре свега смо имају овај знак долара, 260 00:12:04,020 --> 00:12:07,710 и шта долар потписати означавају у ПХП? 261 00:12:07,710 --> 00:12:08,440 Само променљива. 262 00:12:08,440 --> 00:12:11,731 То је все-- само променљива следи год желите да заиста назвати. 263 00:12:11,731 --> 00:12:14,000 Обратите пажњу на нешто нестао из мог ПХП програма, 264 00:12:14,000 --> 00:12:18,210 баш као што је недостајало прошле недеље, насупрот Ц, што је шта? 265 00:12:18,210 --> 00:12:21,620 >> А врсте, али и нешто друго. 266 00:12:21,620 --> 00:12:26,409 Не постоји нешто фунцтион-- основну функцију. 267 00:12:26,409 --> 00:12:27,450 Нема основна функција. 268 00:12:27,450 --> 00:12:29,680 Само почнем да пишем Ваш број без 269 00:12:29,680 --> 00:12:32,790 да брине о прилично произвољно конвенција именовања неки дефаулт 270 00:12:32,790 --> 00:12:33,880 Функција главни. 271 00:12:33,880 --> 00:12:36,720 Дакле, АРГ, Ц ис јуст реалли глобална променљива 272 00:12:36,720 --> 00:12:39,049 да је преводилац ставља на располагање за мене. 273 00:12:39,049 --> 00:12:40,090 Дакле, ово је интересантно. 274 00:12:40,090 --> 00:12:41,140 Зато погледајте горе ствари. 275 00:12:41,140 --> 00:12:43,370 Доллар сигн Сток је на лево, то је мој променљива. 276 00:12:43,370 --> 00:12:45,120 На десној страни, очигледно нема 277 00:12:45,120 --> 00:12:50,270 функција у ПХП зове проналажење да Ја дајем мој последњи командну линију 278 00:12:50,270 --> 00:12:51,902 Аргумент да-- год је реч. 279 00:12:51,902 --> 00:12:53,610 И ми ћемо видети како ово ради у тренутку. 280 00:12:53,610 --> 00:12:55,380 >> И онда на крају да се јавим цену. 281 00:12:55,380 --> 00:12:58,650 Ја штампање један Удео тако и тако. 282 00:12:58,650 --> 00:13:02,082 И запамтите, ово је Начин на ПХП-- начин у ПХП-- 283 00:13:02,082 --> 00:13:04,290 где не треба да урадите долар знак с више. 284 00:13:04,290 --> 00:13:06,782 Можете само да користе витичасте и плуг у некој променљивој. 285 00:13:06,782 --> 00:13:09,240 Не морате да бринете о користећи принтф на исти начин. 286 00:13:09,240 --> 00:13:13,530 >> А успут, кад сте ставили променљиву унутар двоструким наводницима као што је ова, 287 00:13:13,530 --> 00:13:17,370 користите фенси технике назива променљива интерполација. 288 00:13:17,370 --> 00:13:20,380 То само значи да прикључите на променљиву овде. 289 00:13:20,380 --> 00:13:23,760 И успут, неки од вас који долазе од других програмских средина, 290 00:13:23,760 --> 00:13:26,960 не смете да користите апострофе око жице за то. 291 00:13:26,960 --> 00:13:30,290 Морате користити наводнике за променљива интерполација на посао. 292 00:13:30,290 --> 00:13:32,740 У супротном ћу буквално видим те витичасте. 293 00:13:32,740 --> 00:13:34,500 >> Па на крају, идемо напред и покрените ово. 294 00:13:34,500 --> 00:13:36,690 Дозволите ми да мој терминала мало већи. 295 00:13:36,690 --> 00:13:41,940 Пусти ме само напред и покрените у мом куоте директоријум. 296 00:13:41,940 --> 00:13:46,950 [? ЦДсоурце?] [? ПМ?] [? цитат?] ПХП цитат тачка ПХП 297 00:13:46,950 --> 00:13:50,290 и ја ћу тражити нешто као ГООГ, што је њен Тикер, 298 00:13:50,290 --> 00:13:55,510 и једна акција новим именом, Абецеда доо, кошта $ 717, од данас. 299 00:13:55,510 --> 00:13:58,680 У реду, ако желимо да рун то поново, неко 300 00:13:58,680 --> 00:14:02,600 још један Стоцк Тицкер желе да изгледају горе? 301 00:14:02,600 --> 00:14:06,770 >> Мицрософт мислим да је ова, МСФТ-- $ 53. 302 00:14:06,770 --> 00:14:09,720 Мислим да је Иахоо можда је. 303 00:14:09,720 --> 00:14:12,130 И Фацебоок је то. 304 00:14:12,130 --> 00:14:13,740 >> Дакле, шта је тај програм ради? 305 00:14:13,740 --> 00:14:16,306 Магија изгледа да буде уграђена у тој функцији проналажење. 306 00:14:16,306 --> 00:14:17,430 Дакле, хајде да бацимо поглед. 307 00:14:17,430 --> 00:14:21,815 >> Испоставило се да не долази са ПХП, то је у фунцтионс.пхп. 308 00:14:21,815 --> 00:14:23,690 И нећемо проћи кроз ово веома детаљно, 309 00:14:23,690 --> 00:14:28,040 не приметим оперативни реч овде да он лине шест од фунцтионс.пхп-- 310 00:14:28,040 --> 00:14:29,440 Ја буквално кажем функцију. 311 00:14:29,440 --> 00:14:31,050 Ја навести име моје функције. 312 00:14:31,050 --> 00:14:34,330 Онда сам навести било који аргументи или параметри, 313 00:14:34,330 --> 00:14:36,480 Желим да функција да таке-- нема типова. 314 00:14:36,480 --> 00:14:37,580 И онда сам га спроведе. 315 00:14:37,580 --> 00:14:39,240 >> И ја ћу махнем руком у имплементацији, 316 00:14:39,240 --> 00:14:42,115 јер је прилично напредни у праву сада, али ћемо га видети ствари 317 00:14:42,115 --> 00:14:44,700 у недељу у проблему сет седам. 318 00:14:44,700 --> 00:14:47,490 Али могу очистити ово, такође. 319 00:14:47,490 --> 00:14:49,590 Такође сам укључен у данашња код верзија 320 00:14:49,590 --> 00:14:52,340 цитата, који нема тачка ПХП датотеке. 321 00:14:52,340 --> 00:14:57,270 Јер оно што је вероватно На врх програма под називом само цитирам? 322 00:14:57,270 --> 00:15:00,140 То тзв схебанг-- прилично загонетан бајање 323 00:15:00,140 --> 00:15:04,590 која каже пронађу ПХП и онда покрените га на мом коду овде. 324 00:15:04,590 --> 00:15:07,360 >> У реду, тако да доноси да где смо стали 325 00:15:07,360 --> 00:15:09,560 последња времена-- готово мада са неки напреднији примера. 326 00:15:09,560 --> 00:15:13,980 Сва питања до сада о ПХП или шта радимо? 327 00:15:13,980 --> 00:15:15,570 Не-- реду. 328 00:15:15,570 --> 00:15:16,180 Да? 329 00:15:16,180 --> 00:15:19,610 >> ПУБЛИКА: Унутар ХТМЛ фајлови, ти-- 330 00:15:19,610 --> 00:15:22,226 [? зар не ?] [? само га зову?] А [неразумљиво] ПХП фајл? 331 00:15:22,226 --> 00:15:23,350 Давид Малан: Добро питање. 332 00:15:23,350 --> 00:15:26,070 У веб контексту, који смо дословно транзиције у, 333 00:15:26,070 --> 00:15:28,028 не користите тзв ствар на врху, 334 00:15:28,028 --> 00:15:31,980 јер веб сервер-- често Програм под називом Апацхе или Мицрософт 335 00:15:31,980 --> 00:15:37,470 ИИС Интернет Информатион Сервер или било који број осталих софтвера веб сервера, 336 00:15:37,470 --> 00:15:40,636 зна да када се види тачка ПХП фајл, то је то 337 00:15:40,636 --> 00:15:42,010 треба покренути преводиоца на њега. 338 00:15:42,010 --> 00:15:43,468 То не гледа тој првој линији. 339 00:15:43,468 --> 00:15:45,580 Дакле, овај први линије трик само кад си 340 00:15:45,580 --> 00:15:48,330 писање командна линија програмс-- коју неће учинити Супер често, 341 00:15:48,330 --> 00:15:52,510 али то је наш начин премошћавање наши Ц примери до сада наш ПХП. 342 00:15:52,510 --> 00:16:00,680 >> Дакле, хајде да заиста премости овај свет из командне линије света на веб 343 00:16:00,680 --> 00:16:02,230 радећи следеће. 344 00:16:02,230 --> 00:16:05,090 Пусти ме само напред и извући овде на тренутак. 345 00:16:05,090 --> 00:16:09,940 Дакле, ако имамо веб сервер, односно ако имамо свој лаптоп овде, 346 00:16:09,940 --> 00:16:11,280 што ћу извући овако. 347 00:16:11,280 --> 00:16:14,250 А овде имамо Интернет у неком облику. 348 00:16:14,250 --> 00:16:18,210 А онда овде имамо сервер у буилдинг-- 349 00:16:18,210 --> 00:16:20,760 ово је како интернет воркс-- и овде 350 00:16:20,760 --> 00:16:23,120 је сервер са неким светлима можда. 351 00:16:23,120 --> 00:16:27,530 Шта се заправо дешава између ова два везама? 352 00:16:27,530 --> 00:16:29,240 >> Дакле, у овој згради је веб сервер. 353 00:16:29,240 --> 00:16:31,420 То је само компјутер да води неким оперативним 354 00:16:31,420 --> 00:16:34,561 систем-- можда слободан софтвер под називом Апацхе која ЦС50 ИДЕ ради. 355 00:16:34,561 --> 00:16:36,310 Дакле, ви заправо могу мислите о овој згради 356 00:16:36,310 --> 00:16:38,579 као зграда у која ЦСт0 ИДЕ чува. 357 00:16:38,579 --> 00:16:40,870 То је место где све вас има рачуни, где сви ви 358 00:16:40,870 --> 00:16:43,130 имају свој веб сервер трчање, сви ви 359 00:16:43,130 --> 00:16:45,730 имају своје јединствене УРЛ адресе, као што смо почели да разговарају, 360 00:16:45,730 --> 00:16:47,280 а ви ћете видети више у П. сет шест. 361 00:16:47,280 --> 00:16:49,450 >> Ево мој лаптоп негде друго на интернету. 362 00:16:49,450 --> 00:16:54,550 И тако кад одем УРЛ који припада за мене је Интернет саобраћај ће 363 00:16:54,550 --> 00:16:58,360 над серверу, сервер је прима ХТТП рекуест-- 364 00:16:58,360 --> 00:17:02,900 Лике А да индек.хтмл и то је одговарање на тој интернет страници. 365 00:17:02,900 --> 00:17:04,280 Дакле, то је општа парадигма. 366 00:17:04,280 --> 00:17:07,089 Док свега горе До сада Данас, све 367 00:17:07,089 --> 00:17:09,660 се догађало само у ограничава овог објекта. 368 00:17:09,660 --> 00:17:12,910 Ја сам користећи мој лаптоп, али Ја сам повезан са ЦС50 ИДЕ, 369 00:17:12,910 --> 00:17:17,369 тако да све те програме сам трчао је унутар тог сервера, сама. 370 00:17:17,369 --> 00:17:22,660 >> Али сада, почнимо поновно коришћење ПХП да пишу неке стварне програме који 371 00:17:22,660 --> 00:17:24,230 се сервира од стране веб сервера. 372 00:17:24,230 --> 00:17:30,320 И за то, ја идем у гомила примера 373 00:17:30,320 --> 00:17:33,710 да уведе ову идеју овде. 374 00:17:33,710 --> 00:17:38,500 Дакле, ово је некако фенси начин описује парадигме програмирања. 375 00:17:38,500 --> 00:17:41,540 >> И у ствари, као што изађете ЦС50 или раде на завршним пројектима, 376 00:17:41,540 --> 00:17:43,520 или да неки прате на часу, ви ћете почети 377 00:17:43,520 --> 00:17:45,740 да видим да је ворлд-- посебно одрастао 378 00:17:45,740 --> 00:17:48,300 на језицима као што су Ц да су супер ниска левел-- 379 00:17:48,300 --> 00:17:51,290 схватите да постоји бољи начини писања софтвера. 380 00:17:51,290 --> 00:17:53,290 Постоје одређена обрасци можете пратити, 381 00:17:53,290 --> 00:17:57,640 одређени начин организовања датотеке и начини именовање своје функције, 382 00:17:57,640 --> 00:18:00,300 тако да скратим причу, свет је дошао до 383 00:18:00,300 --> 00:18:04,340 са хрпом скраћеница и имена за начине програмирања. 384 00:18:04,340 --> 00:18:06,260 Ово су само технике можете користити. 385 00:18:06,260 --> 00:18:09,660 >> А један од њих се зове ДСЦ, Модел Виев Цонтроллер за. 386 00:18:09,660 --> 00:18:12,270 И ово је само за Сада, превише компликовано 387 00:18:12,270 --> 00:18:18,960 начин да се каже како треба да изнесем сајт ПХП базиран, у нашем случају. 388 00:18:18,960 --> 00:18:22,140 Како да организујете своје датотеке, Како да организујете свој логику, 389 00:18:22,140 --> 00:18:26,220 на начин који олакшава напиши компликованије сајтова? 390 00:18:26,220 --> 00:18:28,550 И заиста, брзо смо цу тамо са п-сет седам. 391 00:18:28,550 --> 00:18:32,020 >> Дакле, у свету МВЦ, идеш да видимо да наш код може генерално 392 00:18:32,020 --> 00:18:38,290 се окарактерисати или као Код Модел, или контролер код, или поглед кода. 393 00:18:38,290 --> 00:18:40,200 И ја ћу поедностави га као фолловс-- 394 00:18:40,200 --> 00:18:42,074 контролер је мозак вашег програма, 395 00:18:42,074 --> 00:18:44,100 то је место где све од Интересантно логика се дешава. 396 00:18:44,100 --> 00:18:46,110 Дакле, све што смо били писање до сада у класи, 397 00:18:46,110 --> 00:18:48,210 је попут контролера цоде-- то контролише 398 00:18:48,210 --> 00:18:50,585 ваш програм, ваши петље, твој услови, ваши функције 399 00:18:50,585 --> 00:18:52,100 и варијабле и све то. 400 00:18:52,100 --> 00:18:56,160 >> Прегледи, сада, ће бити мало очигледнији у свету Интернету. 401 00:18:56,160 --> 00:18:59,360 Поглед је естетика о Вашем сајту. 402 00:18:59,360 --> 00:19:04,080 То је оно што корисник сеес-- слике, ХТМЛ табеле, ХТМЛ ознаке, и све 403 00:19:04,080 --> 00:19:08,220 од тога, сав флуффи естетике ствари које није тако тешко написати, 404 00:19:08,220 --> 00:19:11,380 али је управо оно што сте генерисање, је тзв поглед, естетика. 405 00:19:11,380 --> 00:19:13,880 И модела, на крају, иде да се базе података које стуфф-- 406 00:19:13,880 --> 00:19:16,510 почећемо роњење у све више у среду. 407 00:19:16,510 --> 00:19:19,740 Дакле, контролер је логика, Поглед је естетска ствар, 408 00:19:19,740 --> 00:19:23,500 и модел ће бити где чувамо наше стварне податке. 409 00:19:23,500 --> 00:19:26,410 >> Дакле, хајде да погледамо ово конкретно са следећом примером. 410 00:19:26,410 --> 00:19:34,700 Ја идем у моју директоријум овде данашњег извора цоде-- све што 411 00:19:34,700 --> 00:19:35,770 је доступан на Интернету. 412 00:19:35,770 --> 00:19:37,800 И ја ћу да идем у верзији нула. 413 00:19:37,800 --> 00:19:41,500 И овде је-- хајде да позив Верзија нула сајту ЦС50 је. 414 00:19:41,500 --> 00:19:43,010 Нема много овде уопште. 415 00:19:43,010 --> 00:19:46,810 То је веома једноставан веб страница које је вероватно користи оно што је ХТМЛ тагс-- само 416 00:19:46,810 --> 00:19:48,970 Ваљда из прошлих примера? 417 00:19:48,970 --> 00:19:49,890 >> Шта је ово? 418 00:19:49,890 --> 00:19:53,920 Х1-- вероватно због тога велика Болд назив, односно логотип до врха, ЦС50. 419 00:19:53,920 --> 00:19:55,080 А шта је још у игри? 420 00:19:55,080 --> 00:19:55,799 Да? 421 00:19:55,799 --> 00:19:56,840 ПУБЛИКА: Списак без редних бројева. 422 00:19:56,840 --> 00:19:59,990 Давид Малан: неуређене лист-- тако да УЛ ознака и можда пар ЛИ тагова. 423 00:19:59,990 --> 00:20:01,840 А ако се не сећате ове, то искрено није битно. 424 00:20:01,840 --> 00:20:04,170 Ово су флуффи врста имплементације детаљи ХТМЛ 425 00:20:04,170 --> 00:20:06,378 да брзо погледати а ти си се вратио на путу. 426 00:20:06,378 --> 00:20:10,040 Ми ћемо се фокусирати више на програмирања идеје које су се сочније комада. 427 00:20:10,040 --> 00:20:12,890 >> Дакле, хајде да се брзо погледате ХТМЛ-- и заиста 428 00:20:12,890 --> 00:20:16,880 ако сам отворити поглед извор овде, да, то је управо оно што се дешава овде. 429 00:20:16,880 --> 00:20:18,440 Постоји ул ознака. 430 00:20:18,440 --> 00:20:20,630 Смештен унутар тога је да ЛИ ознаке. 431 00:20:20,630 --> 00:20:24,470 А онда сам позајмио УРЛ од стварног наставног програма овде. 432 00:20:24,470 --> 00:20:27,570 >> А онда у лецтурес.пхп је очигледно 433 00:20:27,570 --> 00:20:31,640 још један динамички генеришу страна који ће имати, хајде да видим-- Ах, 434 00:20:31,640 --> 00:20:33,170 Прве две недеље предавања. 435 00:20:33,170 --> 00:20:36,600 Тако недеље нула и један недеље, хајдемо погледај ово-- ако видите страну извор, 436 00:20:36,600 --> 00:20:38,120 Такође супер једноставна. 437 00:20:38,120 --> 00:20:42,430 Они доводе до две странице зове веек0.пхп, и веек1.пхп. 438 00:20:42,430 --> 00:20:44,040 Дакле, размислите сад шта се дешава. 439 00:20:44,040 --> 00:20:50,630 >> Када кликнем на веек0.пхп, мој лаптоп прави захтев за веек0.пхп. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 Веб сервер, а.к.а., ЦС50 ИДЕ прима ту виртуелну коверту. 442 00:20:58,110 --> 00:21:01,040 То је види поруку као, да веек0.пхп. 443 00:21:01,040 --> 00:21:05,060 Затим се тумачи датотеке, врх до дна, с лева на ригхт-- датотеку 444 00:21:05,060 --> 00:21:07,720 зове веек0.пхп-- и пљује од резултата. 445 00:21:07,720 --> 00:21:10,510 Дакле, унутар ове датотеке, веек0.пхп, мора бити 446 00:21:10,510 --> 00:21:15,410 логика контролер који се генерише ово ХТМЛ и ускоро ћемо видети. 447 00:21:15,410 --> 00:21:19,340 >> Али за сада, дозволите ми да кликнете на недељу нула, а сада имамо среде и петка 448 00:21:19,340 --> 00:21:25,260 а сада имамо слајдове полако из недеље нуле. 449 00:21:25,260 --> 00:21:27,400 И можда се сећате ово из давне када. 450 00:21:27,400 --> 00:21:29,340 Тако да је све ово сајт ради. 451 00:21:29,340 --> 00:21:31,120 >> Дакле, хајде да размотримо како се то ради. 452 00:21:31,120 --> 00:21:34,290 Ја идем назад у изворни код овде, у ЦС50 ИДЕ, 453 00:21:34,290 --> 00:21:36,660 и ја ћу да отворим индек.пхп. 454 00:21:36,660 --> 00:21:38,910 На врху ове датотеке је гомила коментара. 455 00:21:38,910 --> 00:21:43,000 А онда у сред ове датотеке ит, Испоставило се да је уопште нема ПХП код. 456 00:21:43,000 --> 00:21:47,380 Јер ако немате ниједан од отворено брацкет знак питања ПХП ознаке, 457 00:21:47,380 --> 00:21:49,180 ви сте слободни да само стави ХТМЛ. 458 00:21:49,180 --> 00:21:51,480 >> Јер оно ПХП преводилац треба да уради, 459 00:21:51,480 --> 00:21:53,938 када пише овај филе-- од врха до дна, с лева на ригхт-- 460 00:21:53,938 --> 00:21:59,100 то само интерпретира код је види између те угао заграде знак питања. 461 00:21:59,100 --> 00:22:02,380 И још нешто да не признати као ПХП, само избацује. 462 00:22:02,380 --> 00:22:05,080 А ХТМЛ је међу стварима само ће испљунути. 463 00:22:05,080 --> 00:22:09,090 >> Дакле, овај фајл могао да је индек.хтмл зове, 464 00:22:09,090 --> 00:22:11,690 али ја именовање све тачка ПХП као одскочну даску. 465 00:22:11,690 --> 00:22:15,960 Лецтурес.пхп-- слично ундервхелминг, то је само неки ХТМЛ. 466 00:22:15,960 --> 00:22:19,840 Веек0.пхп, слично само су неке ХТМЛ. 467 00:22:19,840 --> 00:22:22,300 >> Али сада хајде да стави на пословична инжењеринг шешир, 468 00:22:22,300 --> 00:22:24,400 и размотрити како можемо да побољшамо ово. 469 00:22:24,400 --> 00:22:28,541 То није тешко да уради, али некако од пренета у Копирајте и пренесите. 470 00:22:28,541 --> 00:22:31,540 А у ствари, ако направим недеље двоје, Знаш шта ја вероватно ћеш да урадиш? 471 00:22:31,540 --> 00:22:34,940 Ја идем у веек1.пхп, ја сам ће све истакне. 472 00:22:34,940 --> 00:22:39,110 Ја ћу да га копирате, налепите га у нову датотеку под називом веек2.пхп, 473 00:22:39,110 --> 00:22:42,440 твеак неке адресе, и бити на путу. 474 00:22:42,440 --> 00:22:45,240 >> Дакле, на основу онога што сам види у Ц већ 475 00:22:45,240 --> 00:22:46,860 ово не осећа добро, надам се. 476 00:22:46,860 --> 00:22:49,610 Цопи, Пасте ретко право решење. 477 00:22:49,610 --> 00:22:51,429 Дакле, шта можемо почети да урадимо да бисмо побољшали ово? 478 00:22:51,429 --> 00:22:53,345 Где су могућности за бољу дизајн? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> До тренутка када дођем до недеље осам, иде 481 00:22:58,760 --> 00:23:00,910 бити заиста досадан ако желите да промените 482 00:23:00,910 --> 00:23:03,930 фонт сваког од моја страна, или ако желим 483 00:23:03,930 --> 00:23:06,522 да промени структуру распореда. 484 00:23:06,522 --> 00:23:08,396 Па где је прилика за бољу дизајн? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 Па, хајде да размотримо шта је дели између свих ових фајлова. 487 00:23:15,160 --> 00:23:21,696 >> Ево једна недеља, ево недеља нула, ево лецтурес.пхп, 488 00:23:21,696 --> 00:23:25,790 ево индек.пхп-- што је исто и Оно што је другачије, грубо говорећи, 489 00:23:25,790 --> 00:23:26,760 У сваком од ових фајлова? 490 00:23:26,760 --> 00:23:30,560 491 00:23:30,560 --> 00:23:32,060 Да? 492 00:23:32,060 --> 00:23:34,560 >> ПУБЛИКА: [неразумљиво] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 Давид Малан: Добро, добро. 495 00:23:42,160 --> 00:23:46,115 Дакле, постоји образац, сигурно, при чему сваки пут бирам Предавање И, 496 00:23:46,115 --> 00:23:48,250 Требало би да генерише врло сличног изгледа страна. 497 00:23:48,250 --> 00:23:50,375 И тако можда могу искористити чињеница да је заиста, 498 00:23:50,375 --> 00:23:53,060 намерно нисмо бројчано индексирани нашу лецтурес-- 499 00:23:53,060 --> 00:23:55,290 ако ја могу ставити још више речи у свом одговору. 500 00:23:55,290 --> 00:23:59,984 А шта је једина ствар, стварно, да се мења између недеље једног-- 501 00:23:59,984 --> 00:24:02,400 и пусти ме да спустите тако да је отприлике у истом место-- 502 00:24:02,400 --> 00:24:05,480 па ево седмице нула, грубо на врху. 503 00:24:05,480 --> 00:24:12,370 Овде је један недеље, недеља нула, један недеље, недеља нула. 504 00:24:12,370 --> 00:24:14,370 У реду, буквално ако знате ниједан програм уопште, 505 00:24:14,370 --> 00:24:16,286 ово је сада управо као образац подударање игра. 506 00:24:16,286 --> 00:24:17,200 Дакле, шта је другачије? 507 00:24:17,200 --> 00:24:18,765 Да? 508 00:24:18,765 --> 00:24:19,777 >> ПУБЛИКА: [неразумљиво] 509 00:24:19,777 --> 00:24:22,360 Давид Малан: Добро, тако да је наслов се мења, никада тако нешто. 510 00:24:22,360 --> 00:24:24,010 Зеро иде, наравно, да један. 511 00:24:24,010 --> 00:24:25,570 Иста ствар се дешава у Х1 таг. 512 00:24:25,570 --> 00:24:28,790 И ми баш не видим тако лако, јер су УРЛ су мало дуго. 513 00:24:28,790 --> 00:24:30,670 Али ти УРЛ-ови су нешто мења. 514 00:24:30,670 --> 00:24:34,490 >> Али оно што се не мења, ако смем кажу, већина садржаја паге-- 515 00:24:34,490 --> 00:24:38,530 ХТМЛ ознака је иста, глава је исти, наслов је готово исти, 516 00:24:38,530 --> 00:24:40,659 тело је исти, и Скоро све остало 517 00:24:40,659 --> 00:24:42,450 је исти осим за оне мале Твеакс. 518 00:24:42,450 --> 00:24:45,310 Дакле, како можемо ићи о факторинг неке ово? 519 00:24:45,310 --> 00:24:48,740 >> Па дозволите ми да тачно предложити да ће у следећој верзији. 520 00:24:48,740 --> 00:24:53,890 Дакле, овде у верзији једном, имам тачан Исти филес, плус неколико других. 521 00:24:53,890 --> 00:24:59,730 Ево индек.пхп--, па чак и ако никад нисам видела ПХП раније, 522 00:24:59,730 --> 00:25:05,511 оно што ја радим вјеројатно да се реши ово мали проблем на основу онога што видите овде? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 Да ли је то благо посвећености? 525 00:25:12,760 --> 00:25:13,450 Ne? 526 00:25:13,450 --> 00:25:16,020 Да, хајде. 527 00:25:16,020 --> 00:25:17,380 >> ПУБЛИКА: [неразумљиво] 528 00:25:17,380 --> 00:25:18,380 >> Давид Малан: Да. 529 00:25:18,380 --> 00:25:20,380 >> ПУБЛИКА: [неразумљиво] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> Давид Малан: Требам те да Говорим само мало гласније. 532 00:25:28,669 --> 00:25:31,084 >> ПУБЛИКА: [неразумљиво] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 Давид Малан: Добро, добро. 535 00:25:36,660 --> 00:25:38,620 И мислим-- да је тешко ти-- али чујем 536 00:25:38,620 --> 00:25:42,690 Мислим шта циљаш је то ознаке које су биле заједничке до врха, 537 00:25:42,690 --> 00:25:47,710 и ознаке које су биле заједничке на дно, сада су урачунати се, 538 00:25:47,710 --> 00:25:51,140 или испадају шта филес? 539 00:25:51,140 --> 00:25:53,476 Хеадер.пхп и фоотер.пхп-- и идемо 540 00:25:53,476 --> 00:25:55,600 направити неке твеакс да обратити тиче само 541 00:25:55,600 --> 00:25:59,370 подигла о бројевима промене, за пример, ако сам вас добро чуо. 542 00:25:59,370 --> 00:26:02,060 >> Али то изгледа да је суштина. 543 00:26:02,060 --> 00:26:04,820 Ако је постојала огромна количина редунданције на врху странице, 544 00:26:04,820 --> 00:26:06,736 и огромна количина редунданције на дну, 545 00:26:06,736 --> 00:26:09,280 хајде да буквално само врхунац и исећи тај садржај се, 546 00:26:09,280 --> 00:26:13,270 ставите га у посебном филе-- баш као и идеја ЦСС, где смо урачунати од 547 00:26:13,270 --> 00:26:16,710 веома слични естетика, пут она у одвојеном тачка ПХП датотеци, 548 00:26:16,710 --> 00:26:20,340 користите захтевају мецханисм-- који је као Ц схарп инцлуде-- који 549 00:26:20,340 --> 00:26:23,570 је у суштини исто као да кажеш го зграбите садржај хеадер.пхп, 550 00:26:23,570 --> 00:26:25,370 и копирате их овде. 551 00:26:25,370 --> 00:26:29,490 >> Али шта то значи да сада у индек.пхп, имам те две линије. 552 00:26:29,490 --> 00:26:32,130 У лецтурес.пхп, такође имамо те две линије. 553 00:26:32,130 --> 00:26:35,230 У веек0.пхп, такође имамо те две линије. 554 00:26:35,230 --> 00:26:38,380 >> Дакле, сада, ако желите да промените наслов свих мојих страница, 555 00:26:38,380 --> 00:26:40,530 или Желим да промените основна структура, 556 00:26:40,530 --> 00:26:44,380 Ја могу променити сада у само једном месту, или два плацес-- заглавља и подножја, 557 00:26:44,380 --> 00:26:45,429 респективно. 558 00:26:45,429 --> 00:26:47,970 Сада Кодекса стартни погледати мало загонетан, зар не? 559 00:26:47,970 --> 00:26:53,590 Али ако мислите о томе шта је страница је доинг-- ако сам тражи веек0.пхп, 560 00:26:53,590 --> 00:26:59,880 баш као на цртежу изнад овдје-- када се тражи веек0.пхп, 561 00:26:59,880 --> 00:27:00,960 шта то значи? 562 00:27:00,960 --> 00:27:04,410 >> Дословно, овај фајл је тражи претраживачу. 563 00:27:04,410 --> 00:27:06,240 Веб сервер-- а.к.а. 564 00:27:06,240 --> 00:27:09,250 ЦС50 ИД-- зграби ово Филе, веек0.пхп и чита 565 00:27:09,250 --> 00:27:10,780 је од врха до дна, с лева на десно. 566 00:27:10,780 --> 00:27:15,400 На линији један, одмах наилази отворена конзола знак питања ПХП захтевају 567 00:27:15,400 --> 00:27:17,872 заглавље тачка ПХП, и тако ста ПХП преводилац 568 00:27:17,872 --> 00:27:20,580 доес-- који је уграђен у веб Сервер, јер смо преконфигурисана 569 00:27:20,580 --> 00:27:24,580 је за тебе-- се аутоматски пребацује у хеадер.пхп, копије садржаја, 570 00:27:24,580 --> 00:27:25,640 пасте их овде. 571 00:27:25,640 --> 00:27:28,790 >> Али тада је преводилац сусрети знак питања затворена заграда, 572 00:27:28,790 --> 00:27:30,320 тако да све је готово размишља. 573 00:27:30,320 --> 00:27:33,400 Сада се само слепо пљуне од линија два кроз седам, 574 00:27:33,400 --> 00:27:35,240 јер то је само сирова ХТМЛ. 575 00:27:35,240 --> 00:27:38,470 Гетс да се построје осам, и да ли то Исто магија Поново: отварање фајла, 576 00:27:38,470 --> 00:27:41,460 граббинг садржај, и их захтева или их лијепити 577 00:27:41,460 --> 00:27:42,480 управо тада и тамо. 578 00:27:42,480 --> 00:27:44,210 >> Али сам алудирао на бубу. 579 00:27:44,210 --> 00:27:48,610 Ово је делимично корак уназад, јер ако погледамо у хеадер.пхп, 580 00:27:48,610 --> 00:27:50,850 Некако сам прекинуо угао. 581 00:27:50,850 --> 00:27:56,250 Шта особина сам одустати како да добију ову спорну бољи дизајн? 582 00:27:56,250 --> 00:27:57,305 Да? 583 00:27:57,305 --> 00:27:58,180 ПУБЛИКА: [неразумљиво] 584 00:27:58,180 --> 00:28:00,570 Давид Малан: Да, ја исекли нетривијална угао. 585 00:28:00,570 --> 00:28:04,489 Истакао сте да је оно што се мења био је назив, број у наслову, 586 00:28:04,489 --> 00:28:05,530 а број у Х1. 587 00:28:05,530 --> 00:28:08,170 Дакле, моје решење је, у реду, хајде да преименовати страницу, 588 00:28:08,170 --> 00:28:10,080 и не бави тиме Проблем уопште. 589 00:28:10,080 --> 00:28:12,130 Дакле, то је делимични корак уназад сигурно. 590 00:28:12,130 --> 00:28:14,300 >> Али, оно што је поменути овде је оно што сам учинио 591 00:28:14,300 --> 00:28:17,200 је иначе факторисан од свега заједничке ствари. 592 00:28:17,200 --> 00:28:21,520 И у фоотер.пхп, приметио сам факторисан од свега тога, иако мање, 593 00:28:21,520 --> 00:28:22,790 уобичајена ствар. 594 00:28:22,790 --> 00:28:26,070 Зато морам да некако сада моћи да још један корак напред, и поправити 595 00:28:26,070 --> 00:28:27,160 ту титулу питања. 596 00:28:27,160 --> 00:28:28,180 Па хајде да урадимо то. 597 00:28:28,180 --> 00:28:35,060 >> Пусти ме у мојој другој верзији овде, што, опет, има исте фајлове 598 00:28:35,060 --> 00:28:36,825 осим једне нове тога. 599 00:28:36,825 --> 00:28:38,950 И то је мало више опсирније, али хајде да видимо да ли можемо 600 00:28:38,950 --> 00:28:40,550 може да је задиркује, осим што се овде дешава. 601 00:28:40,550 --> 00:28:45,370 Дакле, уместо да захтева хеадер.пхп, фоотер.пхп и, 602 00:28:45,370 --> 00:28:50,180 Чини ми се да само тражи један филе-- зове, наравно, хелперс.пхп. 603 00:28:50,180 --> 00:28:52,560 И дозволите ми сада предвиђају, шта је унутар хелперс.пхп 604 00:28:52,560 --> 00:28:55,330 је само гомила функције да сам написао, баш као и пре. 605 00:28:55,330 --> 00:28:57,550 Али ја то назвао хелперс.пхп. 606 00:28:57,550 --> 00:29:00,370 >> Сада очигледно, у линија три и 10, ја сам 607 00:29:00,370 --> 00:29:02,840 позива два фунцтионс-- рендер заглавље, подножје рендер. 608 00:29:02,840 --> 00:29:05,040 Они не долазе са ПХП написао сам их лично. 609 00:29:05,040 --> 00:29:07,880 И ја сам их ставио у хелперс.пхп. 610 00:29:07,880 --> 00:29:11,210 >> Сада смо само видели ову синтаксу Једном, и то је супер кратак. 611 00:29:11,210 --> 00:29:15,330 Али ово је очигледно аргумент да пружи заглавље, функцију. 612 00:29:15,330 --> 00:29:16,450 Зашто је то познато? 613 00:29:16,450 --> 00:29:18,522 Па овде је блиски парен, Овде је отворена заграда. 614 00:29:18,522 --> 00:29:21,230 И наравно, као иу Ц, нешто између тих заграда 615 00:29:21,230 --> 00:29:23,350 је инпут-- или аргумент функцији. 616 00:29:23,350 --> 00:29:26,710 >> Који је тип података овог аргумента, на основу онога што сам истакао? 617 00:29:26,710 --> 00:29:30,820 Шта ти квадратних заграде указују, на основу прошле недеље? 618 00:29:30,820 --> 00:29:33,390 Да, то је арраи-- посебно асоцијативни низ. 619 00:29:33,390 --> 00:29:35,700 И ово синтакса додуше је мало фанки, 620 00:29:35,700 --> 00:29:38,860 али то је само у пролазу у једном кључном вредности пара. 621 00:29:38,860 --> 00:29:43,530 Кључ је, под знацима навода наслов, а вредност је ЦС50. 622 00:29:43,530 --> 00:29:46,220 >> Ако смо урадили ин Ц, то би могло уместо 623 00:29:46,220 --> 00:29:49,400 изгледају овако, само под знацима навода ЦС50-- 624 00:29:49,400 --> 00:29:52,460 или заправо било би коврџава протезе, или тако нешто у Ц, 625 00:29:52,460 --> 00:29:55,580 где је кључ нула, а вредност је ЦС50. 626 00:29:55,580 --> 00:29:59,840 Али опет, у ПХП-у, иако је синтакса је, опет, мало чудно, 627 00:29:59,840 --> 00:30:02,860 то вам омогућује да прође у речи уместо бројева 628 00:30:02,860 --> 00:30:05,120 да се друже кључеве са вредностима. 629 00:30:05,120 --> 00:30:06,390 >> Дакле, шта све ово значи? 630 00:30:06,390 --> 00:30:09,750 Ако одем у хелперс.пхп, хајде да погледамо ову функцију. 631 00:30:09,750 --> 00:30:13,620 рендерХеадер.пхп, а рендерХеадер је моја функција, 632 00:30:13,620 --> 00:30:16,220 и знам јер видим функција кључна реч овде. 633 00:30:16,220 --> 00:30:19,450 Ово је нова да га ц-- очигледно заузима аргумент под називом дата-- 634 00:30:19,450 --> 00:30:22,400 али сам могао да се зове ово ништа, али сам га назвао података, 635 00:30:22,400 --> 00:30:25,090 само да буде мало цлеан-- и само да претпоставите, посебно 636 00:30:25,090 --> 00:30:28,173 ако сте програмиран у неки други виши ниво језика пре нешто 637 00:30:28,173 --> 00:30:29,820 изнад Ц, концептуално. 638 00:30:29,820 --> 00:30:33,820 >> Шта једнак отворен брацкет квадратних носач вероватно значи? 639 00:30:33,820 --> 00:30:35,540 Или шта би то значило? 640 00:30:35,540 --> 00:30:39,660 Не Видели смо то у Ц. Да? 641 00:30:39,660 --> 00:30:40,480 >> Празан низ. 642 00:30:40,480 --> 00:30:45,440 Конкретно, ово значи да ако корисник не зови рендерХеадер 643 00:30:45,440 --> 00:30:49,340 свађом, ја још увек траје да аргумент који се зове података, 644 00:30:49,340 --> 00:30:52,327 али његова стандардна вредност је ће бити празан низ. 645 00:30:52,327 --> 00:30:53,660 Дакле, то је само лепо погодност. 646 00:30:53,660 --> 00:30:56,493 Ја не морам да вичем на корисника, или да сте користили моја функција није у реду. 647 00:30:56,493 --> 00:30:59,849 Ја само могу дати кориснику дефаулт вредност, ако не посебно брига. 648 00:30:59,849 --> 00:31:01,890 Ова функција, ја сам да машу руке у. 649 00:31:01,890 --> 00:31:07,620 Али овај одломак функција омогућава да прође ове варијабле у подацима 650 00:31:07,620 --> 00:31:10,360 у хеадер.пхп на следећи начин. 651 00:31:10,360 --> 00:31:13,100 И ово је последњи комад, Мислим, функи синтаксе. 652 00:31:13,100 --> 00:31:15,860 Ово је моја нова верзија да га хеадер.пхп-- 653 00:31:15,860 --> 00:31:20,140 имао обичај да каже, дословно, отворен носач наслов ЦС50, и то је било то. 654 00:31:20,140 --> 00:31:21,766 И иста ствар за Х1. 655 00:31:21,766 --> 00:31:24,310 >> Сада је очигледно пише нешто прилично фанки. 656 00:31:24,310 --> 00:31:28,030 И дозволите ми да поједноставимо на тренутак као што следи. 657 00:31:28,030 --> 00:31:31,020 То је оно што сам Променио сам наслов да буде. 658 00:31:31,020 --> 00:31:35,140 Међутим, то постаје мало ружно да стално отворене заграде са ПХП, 659 00:31:35,140 --> 00:31:36,610 а затим користите функцију штампања. 660 00:31:36,610 --> 00:31:40,810 Испоставило се да ПХП има стенографију нотатион за то, што је само 661 00:31:40,810 --> 00:31:45,050 знак једнакости, што је технички функција названа ецхо уместо принт, 662 00:31:45,050 --> 00:31:46,800 али то је иста ствар, ефикасно. 663 00:31:46,800 --> 00:31:48,440 >> То само изгледа боље. 664 00:31:48,440 --> 00:31:50,510 То је само синтактичка шећера, ако хоћете, 665 00:31:50,510 --> 00:31:52,260 да чини мој број изгледају мало боље. 666 00:31:52,260 --> 00:31:54,010 Али се испоставило, и ћемо опет видети 667 00:31:54,010 --> 00:31:57,420 пре дуго, морамо да зовемо досадно дуг функција названа 668 00:31:57,420 --> 00:32:00,582 ХТМЛ посебне карактере ПХП јер се испоставило 669 00:32:00,582 --> 00:32:02,790 постоје одређени улаза да корисник може да нам дају, 670 00:32:02,790 --> 00:32:05,160 или да корисници могу нам дати, која се дешава да се пробије наш сајт. 671 00:32:05,160 --> 00:32:07,035 Али видећемо да следеће недеље ЈаваСцрипт. 672 00:32:07,035 --> 00:32:10,740 Али за сада, само знам да овај фајл, хеадерс.пхп, једноставно 673 00:32:10,740 --> 00:32:13,040 узима титулу да Прошао сам у то да 674 00:32:13,040 --> 00:32:17,380 Сигурно је сигурно да се убризгава у мрежу страна, и то га избацује као мој наслов 675 00:32:17,380 --> 00:32:18,640 и као мој Х1. 676 00:32:18,640 --> 00:32:24,440 Дакле, ако одем у ову верзију сада, Приметићете да предавања има своју титулу, 677 00:32:24,440 --> 00:32:28,630 недеља нула има своју титулу, и Заиста, ХТМЛ ја генерисање 678 00:32:28,630 --> 00:32:32,110 је идентичан шта је моја првој верзији био-- осим мог белина, 679 00:32:32,110 --> 00:32:35,150 јер сам почео форматирање мој код мало другачије. 680 00:32:35,150 --> 00:32:38,082 Али сам генерише све код ми је стало. 681 00:32:38,082 --> 00:32:39,790 Дакле, да направите паузу за само тренутак и види 682 00:32:39,790 --> 00:32:42,200 ако има било каквих питања или конфузија сам створио. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 У реду, хајде да твист мало теже овде 685 00:32:48,150 --> 00:32:51,500 да видимо да ли је прилика за унапређење. 686 00:32:51,500 --> 00:32:56,130 Хелперс.пхп такође имао ово функција, зове рендерФоотер. 687 00:32:56,130 --> 00:32:59,652 А шта је напоменути о рендерХеадер, и рендерФоотер? 688 00:32:59,652 --> 00:33:02,610 И опет, за данашње потребе, знам да је екстракт функција је само 689 00:33:02,610 --> 00:33:08,280 мој начин полагања аргумената у хеадер.пхп и фоотер.пхп. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> Молим? 692 00:33:11,780 --> 00:33:13,056 >> ПУБЛИКА: [неразумљиво] 693 00:33:13,056 --> 00:33:15,180 Давид Малан: Да, само ја променио линија захтева. 694 00:33:15,180 --> 00:33:19,410 Па буквално сам починио грех копирања и лепљења, опет. 695 00:33:19,410 --> 00:33:21,920 То није велики број линија, али долазе ајде-- 696 00:33:21,920 --> 00:33:25,220 ако сам копирате и налепите све само да промените једну малу реч, 697 00:33:25,220 --> 00:33:28,610 и једна мала реч која указује Алан Оут је фоотер овде, насупрот хеадер овде. 698 00:33:28,610 --> 00:33:30,670 Иначе, све је идентична изузев, 699 00:33:30,670 --> 00:33:32,180 Наравно, имена функцију екипе. 700 00:33:32,180 --> 00:33:33,690 Дакле, шта можемо да урадимо боље? 701 00:33:33,690 --> 00:33:39,810 >> Па дозволите ми да отворим ову верзију Овде, при чему се хелперс.пхп, 702 00:33:39,810 --> 00:33:42,300 зашто не само добити мало паметнији о томе? 703 00:33:42,300 --> 00:33:46,410 Напишите нешто компликованија код, али назвати рендер? 704 00:33:46,410 --> 00:33:48,470 Дакле, шта сам фундаментално променио? 705 00:33:48,470 --> 00:33:51,770 >> Потребно је аргумент сада-- два аргумента, подаци и даље. 706 00:33:51,770 --> 00:33:54,444 А у чему је онда први Назив највероватније се користи за, 707 00:33:54,444 --> 00:33:55,860 на основу онога што сте овде читате? 708 00:33:55,860 --> 00:33:58,452 Чак и ако неки од синтаксе је још увек нова. 709 00:33:58,452 --> 00:33:59,660 Шта је долар знак шаблон? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> Молим? 712 00:34:03,016 --> 00:34:03,710 >> ПУБЛИКА: заглавље или подножје. 713 00:34:03,710 --> 00:34:04,510 >> Давид Малан: заглавље или подножје. 714 00:34:04,510 --> 00:34:07,134 Тако очигледно, одлучио сам да, ако једина ствар која се мења 715 00:34:07,134 --> 00:34:10,159 је оно што ја желим шаблон да принт-- и по шаблону 716 00:34:10,159 --> 00:34:13,100 Мислим да је ово план за код који сам желите да прикажете, 717 00:34:13,100 --> 00:34:16,350 али желим да прикључите у неким валуес-- па ако је само заглавље 718 00:34:16,350 --> 00:34:20,440 или футер, зашто не бих параметеризе да и позвати знак Аргумент долара 719 00:34:20,440 --> 00:34:21,409 шаблон? 720 00:34:21,409 --> 00:34:26,250 И онда фанки синтакса ме омогућује да створи пут у променљивој овде. 721 00:34:26,250 --> 00:34:28,030 >> Дакле, долар знак пут је променљива. 722 00:34:28,030 --> 00:34:31,120 Шта ова синтаксу уради, да ли сте упознати? 723 00:34:31,120 --> 00:34:32,512 Да? 724 00:34:32,512 --> 00:34:34,065 >> ПУБЛИКА: [неразумљиво] 725 00:34:34,065 --> 00:34:34,940 Давид Малан: Управо тако. 726 00:34:34,940 --> 00:34:37,600 Ако предложак је, под знацима навода, заглавље, или ако је шаблон, 727 00:34:37,600 --> 00:34:41,170 под знацима навода, футер, та линија постоји да сам истакао, линија осам, 728 00:34:41,170 --> 00:34:46,330 једноставно узимајући то име, као и заглавље, и то Надовезивањем са дот ПХП. 729 00:34:46,330 --> 00:34:49,750 Дакле, нисмо имали овај оператор у Ц. Овај оператор тачка је 730 00:34:49,750 --> 00:34:54,520 невероватна ствар у ПХП-- ако сте упознат са ЈаваСцрипт или Јава, 731 00:34:54,520 --> 00:34:56,949 можете користити плус потписати да уради конкатенацију. 732 00:34:56,949 --> 00:34:59,974 >> У Ц, то је бол у нецк-- и жао ми је, у стр-сет шест, 733 00:34:59,974 --> 00:35:02,390 ти ћеш морати да урадите ово-- то је бол у врату 734 00:35:02,390 --> 00:35:03,930 да спојите жице. 735 00:35:03,930 --> 00:35:04,670 Zašto? 736 00:35:04,670 --> 00:35:06,580 Па, зато ако имаш стринг који је тако дуго, 737 00:35:06,580 --> 00:35:09,538 а други стринг који је тако дуго, не можете их само плуг заједно. 738 00:35:09,538 --> 00:35:11,070 Шта треба да урадите уместо у Ц? 739 00:35:11,070 --> 00:35:11,680 Да? 740 00:35:11,680 --> 00:35:12,380 >> ПУБЛИКА: [неразумљиво] 741 00:35:12,380 --> 00:35:15,090 >> Давид Малан: Морате да маллоц меморија, или користите низ на стек. 742 00:35:15,090 --> 00:35:17,214 А ви заправо треба да проверите да низ довољно велик 743 00:35:17,214 --> 00:35:20,940 да се уклопи ово плус ово, плус обрнута коса црта нула. 744 00:35:20,940 --> 00:35:24,994 Онда их спојите заједно користећи мешати мачку или ручно са петље за, 745 00:35:24,994 --> 00:35:26,160 или било који број техника. 746 00:35:26,160 --> 00:35:27,760 И ми вам показати пар у п-сет шест. 747 00:35:27,760 --> 00:35:29,080 >> То је бол у врату. 748 00:35:29,080 --> 00:35:34,190 И то је заиста оно што мислим о ово у односу на ово-- као Ц у односу на ПХП. 749 00:35:34,190 --> 00:35:36,870 Само ти много више функционалност бесплатно, 750 00:35:36,870 --> 00:35:39,030 тако да можете да се фокусирате, идеално, на забаву 751 00:35:39,030 --> 00:35:41,190 део кодирања је Пројекат желите да решите, 752 00:35:41,190 --> 00:35:43,190 уместо нивоа ситницама ниске. 753 00:35:43,190 --> 00:35:49,840 >> Дакле, ово само ствара поавилса или фоотер.пхп на основу којих се ја зовем. 754 00:35:49,840 --> 00:35:52,280 И заиста, ако одем у индек.пхп, обавештење 755 00:35:52,280 --> 00:35:56,230 све што је цхангед-- Уместо позива рендер заглавље или подножје рендер, 756 00:35:56,230 --> 00:36:00,230 Зовем рендер, затим од стране назив предлошка које желим да урадим. 757 00:36:00,230 --> 00:36:02,370 И ви ћете видети, такође, у проблему сет седам, 758 00:36:02,370 --> 00:36:05,530 при чему смо вам омогућавају да користите иста функција да букете 759 00:36:05,530 --> 00:36:07,550 и гомиле различитих веб страницама. 760 00:36:07,550 --> 00:36:10,570 >> Дакле, пре него задржавати превише много више о тим детаилс-- 761 00:36:10,570 --> 00:36:13,210 које ћете опет видети у Проблем скуп севен-- погледајмо 762 00:36:13,210 --> 00:36:16,850 на почетку сада раствора у више занимљив проблем. 763 00:36:16,850 --> 00:36:19,310 До сада, ништа имамо урађено је сачуване податке. 764 00:36:19,310 --> 00:36:22,920 У ствари, једини пут да смо икада спасили нешто што смо урадили у овој класи 765 00:36:22,920 --> 00:36:31,030 се када смо имали врло једноставан демо неко време назад, при чему смо користили слику ИО ин Ц, 766 00:36:31,030 --> 00:36:34,520 и мислим да сам откуцао у моје име, и Име Ханнах, и Марије име, 767 00:36:34,520 --> 00:36:37,610 или можда Енди је име, и онда смо спасили ЦСВ филе-- 768 00:36:37,610 --> 00:36:39,430 Цомма сепаратед валуес филе. 769 00:36:39,430 --> 00:36:43,530 >> И користили смо фопен-- мислим смо фпринтф колико се сећам, 770 00:36:43,530 --> 00:36:44,910 а ми спасили датотеку. 771 00:36:44,910 --> 00:36:46,920 Дакле, то је најједноставнији облик базе података. 772 00:36:46,920 --> 00:36:50,230 Ако желите да направите сајт за Фросх ИМ програм, при чему бруцоша 773 00:36:50,230 --> 00:36:53,390 могу се пријавити за спорт, те идеално желите да урадите нешто са тим подацима. 774 00:36:53,390 --> 00:36:55,370 Прошле недеље смо учинили ништа са дата-- смо рекли, 775 00:36:55,370 --> 00:36:56,661 сте регистровани, не баш. 776 00:36:56,661 --> 00:36:58,950 Или можда послати е-поштом Процтор, и то је било то. 777 00:36:58,950 --> 00:37:02,110 >> Али било би лепо кад бих могао Дај ми то Процтор ЦСВ датотеку, 778 00:37:02,110 --> 00:37:03,340 као Екцел фајл. 779 00:37:03,340 --> 00:37:05,090 Или још боље, да би би лепо када бих могао 780 00:37:05,090 --> 00:37:08,830 стави имена тих корисника и дорм имена и све то 781 00:37:08,830 --> 00:37:11,740 у базу података која само живи заувек, 782 00:37:11,740 --> 00:37:13,530 док не одлучите да избришете податке. 783 00:37:13,530 --> 00:37:15,645 База података који омогућава да упита информације. 784 00:37:15,645 --> 00:37:18,070 И заиста, то је оно што је база података. 785 00:37:18,070 --> 00:37:20,470 >> Уводимо данас, и следеће недеље, такође, технологија 786 00:37:20,470 --> 00:37:25,020 назива СКЛ-- структурисаном Упит Језик, што је још један језик. 787 00:37:25,020 --> 00:37:28,750 То у суштини је програмирање језик, али за базе података. 788 00:37:28,750 --> 00:37:31,760 И база података за сада, само сматрамо супер фенси верзију 789 00:37:31,760 --> 00:37:35,710 Мицрософт Екцел или Гоогле Табеле, или Аппле Бројеви. 790 00:37:35,710 --> 00:37:39,950 То генерално је програм који омогућава можете да сачувате гомилу података 791 00:37:39,950 --> 00:37:43,960 у редовима и колонама, сасвим као да би могао у Екцелу. 792 00:37:43,960 --> 00:37:47,100 >> Али оно што је лепо, нарочито ако нисмо супер упознати са Екцел, 793 00:37:47,100 --> 00:37:52,040 шта СКЛ вам омогућава да урадите је ово упит информације писањем линија кода 794 00:37:52,040 --> 00:37:55,220 где можете, чак и ако ваш База има милион редова у њој, 795 00:37:55,220 --> 00:37:57,190 можете наћи ствари супер брзо. 796 00:37:57,190 --> 00:37:59,950 У ствари, Екцел је посебно лоша у великим скуповима података. 797 00:37:59,950 --> 00:38:02,460 А у ствари, до неколико пре неколико година, испоставило 798 00:38:02,460 --> 00:38:08,890 Екцел би само вам омогућити да сачувате до 65.535 редова дата-- који 799 00:38:08,890 --> 00:38:12,020 звучи као много, али у пут када сам био студент, 800 00:38:12,020 --> 00:38:14,920 и сећам се да сам саплету ово јер сам генерише 801 00:38:14,920 --> 00:38:17,900 ЦСВ датотеке за мог истраживања и ја хтео да их анализирају брзо 802 00:38:17,900 --> 00:38:19,530 самим отварањем у Екцел. 803 00:38:19,530 --> 00:38:23,730 Наравно, мој компјутер само срушио, јер сам имао више од 65.000 редова. 804 00:38:23,730 --> 00:38:27,210 >> Али одакле је 65.535 долазе? 805 00:38:27,210 --> 00:38:29,670 Шта је Мицрософт ради, вероватно? 806 00:38:29,670 --> 00:38:32,430 Ако сте добри са својим овлашћењима двоје? 807 00:38:32,430 --> 00:38:37,160 Да, они су помоћу 16-бит вриједност представљају број реда. 808 00:38:37,160 --> 00:38:41,310 И два до 16 је 65,536-- минус један, јер ако 809 00:38:41,310 --> 00:38:45,414 нула индекс значи да је највећи број редова сам могао. 810 00:38:45,414 --> 00:38:46,830 И то је била само одлука дизајн. 811 00:38:46,830 --> 00:38:52,760 Од уштеде 16 бита, они су ме ограничена 16.000 редова, уместо 4 милијарде долара, 812 00:38:52,760 --> 00:38:54,322 које сам могао имати идеално. 813 00:38:54,322 --> 00:38:57,030 Али за сада, идемо у увести ово више у веб контексту. 814 00:38:57,030 --> 00:39:00,390 А шта је лепо у вези СКЛ је да чак и иако је прилично моћан и прилично 815 00:39:00,390 --> 00:39:04,050 софистицирано, стварно проври до четири кључна операција, четири 816 00:39:04,050 --> 00:39:08,060 кључне функције, ако вилл-- изаберете, за преузимање података, претраживање 817 00:39:08,060 --> 00:39:12,510 за податке; брисање или брисање података; убаците за додавање редова у базу података; 818 00:39:12,510 --> 00:39:13,410 и ажурирање. 819 00:39:13,410 --> 00:39:17,010 Дакле, ако сте икада користили Гоогле Табеле, Аппле, Мицрософт бројеви 820 00:39:17,010 --> 00:39:19,310 Екцел, ви сте извели, највероватније, све 821 00:39:19,310 --> 00:39:22,530 ових операција као цовека само помоћу тастатуре и моусе-- 822 00:39:22,530 --> 00:39:26,050 унос података, користећи очи да бисте изабрали или потражите података, 823 00:39:26,050 --> 00:39:28,360 или ажурирање података, брисање података. или 824 00:39:28,360 --> 00:39:29,870 >> Дакле, шта то значи? 825 00:39:29,870 --> 00:39:34,300 Па, пре-инсталиран у ЦС50 ИДЕ је програм који се зове МиСКЛ. 826 00:39:34,300 --> 00:39:37,050 То је бесплатно, опен соурце база података која је супер популаран. 827 00:39:37,050 --> 00:39:40,590 Фацебоок, на пример, користи да би ово дан, између осталог алата које користе. 828 00:39:40,590 --> 00:39:44,300 И много веома популарних сајтова користи је у великој мери јер је брз, 829 00:39:44,300 --> 00:39:45,230 и зато што је бесплатан. 830 00:39:45,230 --> 00:39:46,820 Иако свакако постоје алтернативе. 831 00:39:46,820 --> 00:39:49,580 А неки од вас можда површно са алтернативе за завршне пројекте. 832 00:39:49,580 --> 00:39:55,330 >> Ово је сцреенсхот, у међувремену, од алат веб-басед зове ПхпМиАдмин. 833 00:39:55,330 --> 00:39:58,260 То је случајност да овај алат веб-басед је такође 834 00:39:58,260 --> 00:40:01,720 написана на језику ПХП, али оно што је требало да уради 835 00:40:01,720 --> 00:40:04,620 је да нам базирани веб- интерфејс са базом података. 836 00:40:04,620 --> 00:40:07,180 Пошто МиСКЛ типично нешто, историјски вас, 837 00:40:07,180 --> 00:40:08,770 би интеракцију са само са командне линије. 838 00:40:08,770 --> 00:40:10,811 И то би било супер досадан и волшебни да 839 00:40:10,811 --> 00:40:14,487 да куцате текстуалне команде да бисте изабрали података, унос података, брисање података. 840 00:40:14,487 --> 00:40:16,820 Тако су неки људи на интернету написао програм заснован на Вебу 841 00:40:16,820 --> 00:40:18,900 да само да нам управљају податке у нашој бази. 842 00:40:18,900 --> 00:40:23,040 То је као дуплим кликом на Екцел, и ради верзију веб-басед истих. 843 00:40:23,040 --> 00:40:26,370 >> И шта ћеш да користите ово за на крају следеће недеље, а не у стр-сет шест, 844 00:40:26,370 --> 00:40:28,680 али је изградити нешто зове ЦС50 финансија, који 845 00:40:28,680 --> 00:40:32,630 ће имати базу података корисници, са корисничких имена и лозинки, 846 00:40:32,630 --> 00:40:34,860 долар износи да су имају у својим банковним рачунима. 847 00:40:34,860 --> 00:40:37,280 То ће бити нешто што користите за складиштење 848 00:40:37,280 --> 00:40:39,910 симболи и количине акција које корисник 849 00:40:39,910 --> 00:40:42,567 купили користећи виртуелни долара које ћете дати. 850 00:40:42,567 --> 00:40:44,900 И то ће да омогући корисницима да се региструју на вашем сајту, 851 00:40:44,900 --> 00:40:47,190 тако да чак и своје пријатеље можете подесити у на Вашем сајту 852 00:40:47,190 --> 00:40:49,360 и заправо регистер, лог ин, и играти се 853 00:40:49,360 --> 00:40:52,807 и покушати да пронађу кривца у вашем коду, и покушати да нађу грешке у Вашем сајту. 854 00:40:52,807 --> 00:40:55,390 И они једноставно ће регистровати додајући себе, ефикасно, 855 00:40:55,390 --> 00:40:58,120 преко кода сте написали да ваше базе података. 856 00:40:58,120 --> 00:41:02,470 >> На пример, ово је брз с шта је база података може изгледати. 857 00:41:02,470 --> 00:41:05,190 Ово је из једне од прошлогодишњи солутионс-- 858 00:41:05,190 --> 00:41:07,760 ово је као мини Екцел филе, чувају у нашој бази, 859 00:41:07,760 --> 00:41:09,950 складиштити у овом софтверу под називом МиСКЛ. 860 00:41:09,950 --> 00:41:13,260 На лијевој страни, ја сам очигледно с обзиром Сваки корисник јединствени број. 861 00:41:13,260 --> 00:41:16,200 У другој колони, ја сам дао сви корисник назовете моје 862 00:41:16,200 --> 00:41:16,880 међу њима. 863 00:41:16,880 --> 00:41:21,430 А на десној страни, Ја сам им дао хасх. 864 00:41:21,430 --> 00:41:26,760 >> Ово је заправо лозинка, али то није обичан текст лозинке. 865 00:41:26,760 --> 00:41:30,160 То је кодиран лозинка, ако хоћете, или хасх лозинке. 866 00:41:30,160 --> 00:41:32,000 Које ћемо се вратити на пре дуго. 867 00:41:32,000 --> 00:41:34,340 >> Али ако сте икада прочитали чланак о томе како 868 00:41:34,340 --> 00:41:37,950 лозинка на некој банци или неки сајт можда угрожена, 869 00:41:37,950 --> 00:41:39,630 генерално може да значи једну од две ствари. 870 00:41:39,630 --> 00:41:42,780 Дакле, ово је само одломак од шест корисника. 871 00:41:42,780 --> 00:41:45,460 Сви ви сада могу да схватим од преко хаковања или пуцање 872 00:41:45,460 --> 00:41:47,690 оно лозинке наших шест људи су. 873 00:41:47,690 --> 00:41:49,720 Али, ако сте икада стечен увек будни или извињење 874 00:41:49,720 --> 00:41:52,803 из предузећа или веб изрека, Жао ми је, хакер провалио у нашој бази, 875 00:41:52,803 --> 00:41:56,360 вероватно треба мењати лозинка, шта би то значило? 876 00:41:56,360 --> 00:41:59,670 >> Па, један, може да значи да је Компанија је више идиотски, 877 00:41:59,670 --> 00:42:03,630 и да је чување лозинку у колони овако, некодиран. 878 00:42:03,630 --> 00:42:05,840 Што значи непријатеља, који је украо базу података, 879 00:42:05,840 --> 00:42:07,440 дословно зна твој усернаме и пассворд. 880 00:42:07,440 --> 00:42:08,960 То је најгори могући сценарио. 881 00:42:08,960 --> 00:42:11,710 И као што ћете видети у П-СЕТ седам, тако лако да се избегне. 882 00:42:11,710 --> 00:42:15,624 Не постоји апсолутно никакво оправдање за то облик глупости у данашњем интернету. 883 00:42:15,624 --> 00:42:18,540 Два-- и ми ћемо наћи неке чланке да сведочи чињеница да је ово још увек 884 00:42:18,540 --> 00:42:21,710 деси, нонетхелесс-- два, можда противник 885 00:42:21,710 --> 00:42:23,840 украо ову верзију базе података. 886 00:42:23,840 --> 00:42:27,110 Што је још некако лоше, јер сада они знају да ја имам шест купаца, 887 00:42:27,110 --> 00:42:29,270 Знам корисничка имена тих шест купаца, 888 00:42:29,270 --> 00:42:32,910 и знам да је кодиран верзије, или су хеширану верзије, 889 00:42:32,910 --> 00:42:34,340 лозинки тих шест купаца. 890 00:42:34,340 --> 00:42:37,010 Али сви ви који би могао завршио [? Хакер 2?] 891 00:42:37,010 --> 00:42:41,150 где сте испуцала лозинке, или је погледам ту верзију проблема 892 00:42:41,150 --> 00:42:46,280 скуп, зашто га још увек мало забрињава ако је противник зна свој хасх 893 00:42:46,280 --> 00:42:47,435 лозинке? 894 00:42:47,435 --> 00:42:49,732 >> ПУБЛИКА: Зато што су могли унесите цео речник 895 00:42:49,732 --> 00:42:50,690 у хеш функције. 896 00:42:50,690 --> 00:42:54,520 А ако лозинка је речник реч, [? они само могу да матцх--?] 897 00:42:54,520 --> 00:42:57,640 >> Давид Малан: Тачно, противник могу само написати код, као неки од вас 898 00:42:57,640 --> 00:43:00,526 урадио за [? Хакер?] 2, где сте прелазили преко 899 00:43:00,526 --> 00:43:03,400 све речи у речнику, или све могуће комбинације А 900 00:43:03,400 --> 00:43:06,610 до З и један преко нине-- која звучи као много, и то је то. 901 00:43:06,610 --> 00:43:08,361 Али за компјутер, то је прилично проклето брзо. 902 00:43:08,361 --> 00:43:10,610 У ствари, то је био тачка [? Хакер 2,?] Био 903 00:43:10,610 --> 00:43:12,540 да се ствари које дословно изгледа овако, 904 00:43:12,540 --> 00:43:14,900 и обрнути инжењеринг шта је то уствари. 905 00:43:14,900 --> 00:43:17,270 >> Тако ћемо погледати како можемо складиштити ово ефикасније. 906 00:43:17,270 --> 00:43:20,210 Испоставило се да, на срећу у МиСКЛ, ту ће бити врсте података. 907 00:43:20,210 --> 00:43:22,800 И један од забавних делова о дизајн базе података, да будем искрен, 908 00:43:22,800 --> 00:43:25,810 заправо одлучује за себе како треба да представљају податке? 909 00:43:25,810 --> 00:43:29,630 Ако сте представник број телефона као инт, као велики број, или дуго? 910 00:43:29,630 --> 00:43:31,630 Или да ли заиста то као низ карактера? 911 00:43:31,630 --> 00:43:33,780 И не може бити врло не-тривијални утицаји ово. 912 00:43:33,780 --> 00:43:36,714 >> У ствари, један од најранији, фун Германе приче 913 00:43:36,714 --> 00:43:39,880 када Марк Зуцкерберг је изградња Фацебоок, је првобитно написан у, 914 00:43:39,880 --> 00:43:42,300 и још увек је у великој мери написан у ПХП. 915 00:43:42,300 --> 00:43:45,400 И један од највећих изазова они рано је скалирање суочава. 916 00:43:45,400 --> 00:43:48,820 Када су држали додајући школу после школа после школе, према мојим сазнањима, 917 00:43:48,820 --> 00:43:51,639 једно од оригиналним решењима је у суштини да копирате и налепите 918 00:43:51,639 --> 00:43:53,430 неке од база података а неки од кода, 919 00:43:53,430 --> 00:43:55,346 тако да је Харвард био ради на сопственом серверу, 920 00:43:55,346 --> 00:43:56,995 и МИТ је покренут на свом серверу. 921 00:43:56,995 --> 00:43:59,120 И то је био разлог, за неке од вас ко би могао да се сетим, 922 00:43:59,120 --> 00:44:01,510 нисте могли имати пријатеље у другим мрежама. 923 00:44:01,510 --> 00:44:05,050 >> Вероватно немају пријатеље у МИТ-или Харварду пре 10-так година, 924 00:44:05,050 --> 00:44:07,467 али нисте могли спан мрежа за делимично тог разлога. 925 00:44:07,467 --> 00:44:10,550 И један од највећих изазова за Марк и за компаније као што су Фацебоок 926 00:44:10,550 --> 00:44:13,460 заправо руковање стотине и хиљаде и милионе 927 00:44:13,460 --> 00:44:14,460 захтева у секунди. 928 00:44:14,460 --> 00:44:16,501 Дакле, ствари почећемо говоримо о ове недеље 929 00:44:16,501 --> 00:44:19,860 стварно ће бити Германе да писање доброг софтвера, и популарно 930 00:44:19,860 --> 00:44:23,040 успешних алата који може носити много корисника. 931 00:44:23,040 --> 00:44:25,460 >> Тако ћемо причати о стварима као индексирање и претраживање, 932 00:44:25,460 --> 00:44:26,910 али то је то за данас. 933 00:44:26,910 --> 00:44:28,780 Ми ћемо вас видети више у среду. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [МУЗИКА - "Сеинфелд" ТЕМА] 936 00:44:33,902 --> 00:44:35,943 Давид Малан: можете да да, и одузети од ње. 937 00:44:35,943 --> 00:44:38,859 И не морате да се држите нека предодређен количина меморије. 938 00:44:38,859 --> 00:44:40,580 Па, шта то иде да се зове? 939 00:44:40,580 --> 00:44:42,369 >> СПЕАКЕР 1: Па, шта се дешава? 940 00:44:42,369 --> 00:44:43,535 Звучник 2: Како то мислиш? 941 00:44:43,535 --> 00:44:44,451 Он држи предавање. 942 00:44:44,451 --> 00:44:47,650 Давид Малан: Можемо користи Функција маллоц позвао да мемори-- 943 00:44:47,650 --> 00:44:50,050 >> СПЕАКЕР 1: Зашто се не помера руке? 944 00:44:50,050 --> 00:44:52,450 >> Звучник 2: Па то је-- знате, то је нормално. 945 00:44:52,450 --> 00:44:57,162 То је као да има само велике кобасице виси тамо. 946 00:44:57,162 --> 00:44:59,040 >> СПЕАКЕР 1: То је нормално? 947 00:44:59,040 --> 00:45:03,096 >> Звучник 2: Да, ми мислимо само он преузме случајно 948 00:45:03,096 --> 00:45:06,840 сменио дезодоранс са суперлепак. 949 00:45:06,840 --> 00:45:07,608