1 00:00:00,000 --> 00:00:03,920 >> [Музыка, якая іграе] 2 00:00:03,920 --> 00:00:11,760 3 00:00:11,760 --> 00:00:13,800 >> Дэвід Дж Малання: Добра. 4 00:00:13,800 --> 00:00:15,640 Гэта CS50. 5 00:00:15,640 --> 00:00:17,620 Гэта пачатак тыдня восем. 6 00:00:17,620 --> 00:00:22,440 І вы, напэўна, памятаеце, што мы спыніліся Апошні раз, гледзячы на ​​новую мову 7 00:00:22,440 --> 00:00:23,240 ў цэлым. 8 00:00:23,240 --> 00:00:25,905 На самай справе, адзін, што даволі лёгкі і гэта нават не 9 00:00:25,905 --> 00:00:26,940 Мова праграмавання. 10 00:00:26,940 --> 00:00:31,100 Гэта мова разметкі, які дазваляе нам фактычна структураваць і зрабіць вэб-старонак. 11 00:00:31,100 --> 00:00:33,350 А калі вам што-то яшчэ ў спалучэнні з this-- 12 00:00:33,350 --> 00:00:35,670 ці вы хутка будзеце, калі Вы ўжо не маеце. 13 00:00:35,670 --> 00:00:38,530 Мы збіраемся выкарыстоўваць каскаднае Стыляў, або CSS, якія 14 00:00:38,530 --> 00:00:40,971 яшчэ адзін тып мовы са ўласцівасцямі і значэннямі 15 00:00:40,971 --> 00:00:43,220 што адбываецца, каб паведаміць нам зрабіць рэчы, як змяніць колер 16 00:00:43,220 --> 00:00:46,010 і змяніць становішча і гэтыя віды налад. 17 00:00:46,010 --> 00:00:49,940 Але сёння і далей, мы пачынаем засяродзіцца на больш магутных мовах, 18 00:00:49,940 --> 00:00:52,810 фактычныя мовы праграмавання, такія як PHP. 19 00:00:52,810 --> 00:00:54,880 >> Так PHP была вакол на працягу некаторага часу. 20 00:00:54,880 --> 00:00:56,810 І, як вы ўбачыце, гэта быў распрацаваны, перш за ўсё, 21 00:00:56,810 --> 00:01:00,280 рана для фактычная выкарыстоўваць у вэб-распрацоўцы 22 00:01:00,280 --> 00:01:02,360 і на самай справе генерацыі вэб-старонак. 23 00:01:02,360 --> 00:01:04,849 Так што віды Асаблівасці робіць мову 24 00:01:04,849 --> 00:01:10,040 трэба для таго, каб вэб- старонкі дынамічна з ёй? 25 00:01:10,040 --> 00:01:14,760 >> Іншымі словамі, калі вы хочаце стварыць Змест dynamically-- як Facebook, 26 00:01:14,760 --> 00:01:19,480 Стужка навін, якія пастаянна змяняецца, або імгненныя паведамленні, якія з'яўляюцца час ад 27 00:01:19,480 --> 00:01:21,872 у time-- як тое, што Ключавой часткай функцыянальнасці 28 00:01:21,872 --> 00:01:24,580 Вам трэба на мове праграмавання што хай будзе вам дынамічна 29 00:01:24,580 --> 00:01:28,070 друкаваць новую інфармацыю на экран? 30 00:01:28,070 --> 00:01:28,685 >> СТУДЕНТ: Код. 31 00:01:28,685 --> 00:01:29,560 Дэвід Дж Малання: Код. 32 00:01:29,560 --> 00:01:30,440 Добра. 33 00:01:30,440 --> 00:01:31,995 Мы будзем лічыць, што. 34 00:01:31,995 --> 00:01:35,310 Крыху больш за дакладным. 35 00:01:35,310 --> 00:01:37,639 Я маю на ўвазе, мы маглі б зрабіць гэта з C, адкрыта. 36 00:01:37,639 --> 00:01:38,930 Было б боль у шыі. 37 00:01:38,930 --> 00:01:41,045 Но-- гэта абавязацельства? 38 00:01:41,045 --> 00:01:41,895 >> СТУДЕНТ: Так. 39 00:01:41,895 --> 00:01:42,677 Зменныя, можа быць? 40 00:01:42,677 --> 00:01:43,760 Дэвід Дж Малання: Зменныя. 41 00:01:43,760 --> 00:01:44,160 Так, вядома. 42 00:01:44,160 --> 00:01:45,740 Зменныя, безумоўна, можа дапамагчы нам. 43 00:01:45,740 --> 00:01:47,020 І нават што-то прасцей. 44 00:01:47,020 --> 00:01:50,640 Мы выкарыстоўвалі яго ў самы першы Праграма першага дня 45 00:01:50,640 --> 00:01:55,686 калі мы на самай справе сказаў "прывітанне свет". 46 00:01:55,686 --> 00:01:56,570 >> СТУДЕНТ: Друк. 47 00:01:56,570 --> 00:01:57,778 >> Дэвід Дж Малання: Друк, ці не так? 48 00:01:57,778 --> 00:02:01,050 Друк, або Printf ў Свет C. Такім чынам, увесь гэты час, 49 00:02:01,050 --> 00:02:03,362 мы мелі ў нашай утылізацыя language-- C, 50 00:02:03,362 --> 00:02:05,570 у particular-- і нават Драпіны на тое пайшло, што 51 00:02:05,570 --> 00:02:07,400 можа генераваць радкоў тэксту. 52 00:02:07,400 --> 00:02:11,090 >> Ну, калі HTML, як мы бачылі на мінулым тыдні, з'яўляецца проста цэлая куча радкоў тэксту 53 00:02:11,090 --> 00:02:14,692 хоць і з адкрытымі дужкамі і зачынены Кранштэйны і нейкі вершык 54 00:02:14,692 --> 00:02:16,650 і прычына гэтага, ну тады мы маглі сапраўды 55 00:02:16,650 --> 00:02:20,440 пачаць вырабляць вэб-старонак альбо ўручную, увёўшы іх у Gedit 56 00:02:20,440 --> 00:02:23,870 або ў Microsoft Word, для гэтага matter-- мы проста патрэбен тэкставы рэдактар. 57 00:02:23,870 --> 00:02:26,830 >> Ці мы маглі б напісаць код, з Вашым прапановай 58 00:02:26,830 --> 00:02:30,435 раней, што хай бы нам дынамічна генераваць HTML, 59 00:02:30,435 --> 00:02:32,560 і вось што мы збіраемся каб пачаць рабіць з PHP 60 00:02:32,560 --> 00:02:34,900 і ў канчатковым выніку нават пры Мова называецца JavaScript, 61 00:02:34,900 --> 00:02:37,910 гэта выкарыстоўваць адну мову для стварэння іншы. 62 00:02:37,910 --> 00:02:40,720 І на самай справе, гэта тое, што Facebook і многія, многія іншыя сайты 63 00:02:40,720 --> 00:02:44,530 зрабіць, каб на самой справе дынамічна адлюстроўваць новую інфармацыю для вас. 64 00:02:44,530 --> 00:02:47,117 >> Такім чынам, давайце пачнем з this-- а загадкавымі гледзячы лінія, але адзін 65 00:02:47,117 --> 00:02:48,450 што на самой справе даволі магутны. 66 00:02:48,450 --> 00:02:51,210 Да гэтага часу, мы выкарыстоўвалі C, якая ўяўляе сабой скампіляваны мову. 67 00:02:51,210 --> 00:02:55,050 І проста хутка recap-- складзены Мова мае якой характарыстыку? 68 00:02:55,050 --> 00:02:59,050 Вы, відавочна, трэба кампіляваць гэта, але што гэта значыць? 69 00:02:59,050 --> 00:03:00,505 Так? 70 00:03:00,505 --> 00:03:02,940 >> СТУДЕНТ: Яна павінна быць сабраны ў машынны код. 71 00:03:02,940 --> 00:03:03,060 >> Дэвід Дж Малання: ОК. 72 00:03:03,060 --> 00:03:04,530 Ён павінен быць сабраны у машынны код. 73 00:03:04,530 --> 00:03:07,340 Такім чынам, вы бераце свой зыходны код, якая з'яўляецца свайго роду англійская-як. 74 00:03:07,340 --> 00:03:09,270 Вы пераўтварыць, што ў што-то больш нізкі ўзровень, 75 00:03:09,270 --> 00:03:11,590 які ў канчатковым рахунку называецца Аб'ект code-- 0 і 1 .. 76 00:03:11,590 --> 00:03:14,830 І гэта тыя 0 і 1. што CPU, як тыя зробленыя Intel, 77 00:03:14,830 --> 00:03:16,110 на самай справе зразумець. 78 00:03:16,110 --> 00:03:19,690 >> Зараз, PHP і Python і Рубі і JavaScript і гронкі сябра 79 00:03:19,690 --> 00:03:23,190 языкі не складзены мовы, але інтэрпрэтаваных моў, 80 00:03:23,190 --> 00:03:26,630 значыць, вы проста ўводзіце іх, а затым Вы не ператварыць іх у 0 і 1 .. 81 00:03:26,630 --> 00:03:30,790 Вы замест гэтага проста забяспечыць тое, як уваход для праграмы чужым, 82 00:03:30,790 --> 00:03:32,080 называецца перакладчык. 83 00:03:32,080 --> 00:03:34,460 І дадзенай асобы праграма была распрацавана 84 00:03:34,460 --> 00:03:38,280 каб зразумець, што кожны і кожны знак у Python або PHP 85 00:03:38,280 --> 00:03:42,650 або Рубі або любую колькасць іншыя мовы азначае. 86 00:03:42,650 --> 00:03:44,760 >> А так усё што нам трэба гэта нешта накшталт гэтага. 87 00:03:44,760 --> 00:03:46,350 Такім чынам, на самай справе, я збіраюся перайсці да прыбора 88 00:03:46,350 --> 00:03:48,100 тут, як раз у любы Старое акно, і мы 89 00:03:48,100 --> 00:03:52,580 збіраюся ісці наперад і адкрытым файл з імем, скажам, прывітанне. 90 00:03:52,580 --> 00:03:55,780 Цяпер раней, я мог бы выратаваць гэта нават з пашырэннем файла, 91 00:03:55,780 --> 00:03:57,910 але я збіраюся зрабіць што-то яшчэ прасцей тут. 92 00:03:57,910 --> 00:04:02,450 Я збіраюся ісці наперад і пачаць гэты файл з гэтай загадкавай сінтаксісу. 93 00:04:02,450 --> 00:04:06,310 Такім чынам, "карыстальнік, бен, ENV, для навакольнага асяроддзя, PHP ". 94 00:04:06,310 --> 00:04:10,670 >> Гэта проста адна радок кода, што гэта збіраюся распавесці сваю аперацыйную сістэму, 95 00:04:10,670 --> 00:04:13,730 знайдзі ў ваш мясцовы серада усё, што ёсць, 96 00:04:13,730 --> 00:04:18,149 ўсюды, дзе PHP is-- на interpreter-- і ісці наперад і выкарыстоўваць гэтую перакладчыка 97 00:04:18,149 --> 00:04:20,589 інтэрпрэтаваць наступны код. 98 00:04:20,589 --> 00:04:22,760 Цяпер, гэта свайго роду пачварны асаблівасцю PHP. 99 00:04:22,760 --> 00:04:24,980 Але на гэтай мове, любы раз, калі вы напісаць PHP код, 100 00:04:24,980 --> 00:04:29,200 Вы павінны мець адзін з іх непрыгожа PHP-тэгі дэмаркацыі пачатак 101 00:04:29,200 --> 00:04:32,220 Вашай code-- 00:04:37,430 >> Але ніжэй, на што я магу зараз зрабіць што-то даволі проста, як Printf прывітанне коска 103 00:04:37,430 --> 00:04:40,922 Свет зваротны слеш н блізка цытата, блізка дужкі. 104 00:04:40,922 --> 00:04:42,630 А потым проста назаўжды мера, я збіраюся 105 00:04:42,630 --> 00:04:45,380 ісці наперад і блізка мой PHP тэг тут 106 00:04:45,380 --> 00:04:47,390 каб усё выглядала прыгожа даволі надрукаваныя. 107 00:04:47,390 --> 00:04:50,780 >> І як толькі я націсніце кнопку Захаваць, Gedit дастаткова на самай справе разумныя 108 00:04:50,780 --> 00:04:54,620 паглядзець на гэтай самай першай радку і рэалізаваць, ну, вы пішаце PHP-код. 109 00:04:54,620 --> 00:04:56,710 Хай мне падсвятленне сінтаксісу гэта з кветкамі 110 00:04:56,710 --> 00:04:58,690 тут так, што ён стаіць трохі больш. 111 00:04:58,690 --> 00:05:01,300 Але зараз я збіраюся пайсці да майго акна тэрмінала. 112 00:05:01,300 --> 00:05:02,340 Я маштабу. 113 00:05:02,340 --> 00:05:06,860 >> Гэтая праграма называлася «Прывітанне», так што я збіраюся рабіць кропкавы рысу прывітанне, 114 00:05:06,860 --> 00:05:07,990 але доступ забаронены. 115 00:05:07,990 --> 00:05:08,490 І баш. 116 00:05:08,490 --> 00:05:10,610 Мы на самай справе чулі пра тое, што рэч пару тыдняў таму 117 00:05:10,610 --> 00:05:13,140 у кантэксце Shellshock, адна з гэтых памылак. 118 00:05:13,140 --> 00:05:16,240 >> Але дазвол адмаўляў, што мы бачылі да, можа быць, у іншым кантэксце. 119 00:05:16,240 --> 00:05:19,060 Нагадаем, Хто-небудзь, як Вы маглі б нешта выправіць 120 00:05:19,060 --> 00:05:22,100 дзе дазвол адмоўлена, як гэта? 121 00:05:22,100 --> 00:05:23,490 Што каманда, па меншай меры ,? 122 00:05:23,490 --> 00:05:24,159 >> СТУДЕНТ: Chmod. 123 00:05:24,159 --> 00:05:26,700 Дэвід Дж Малання: Так, CHMOD, для змены рэжыму файла. 124 00:05:26,700 --> 00:05:30,171 І вы атрымаеце ўсё больш выкарыстоўваюцца для гэта на наступным тыдні з наступным праблемы 125 00:05:30,171 --> 00:05:30,670 ўсталяваць. 126 00:05:30,670 --> 00:05:33,211 Але цяпер, я збіраюся змяніць Рэжым не павінны быць бачныя, 127 00:05:33,211 --> 00:05:36,650 але каб даць кожнаму executeability льготы, магчымасць 128 00:05:36,650 --> 00:05:37,710 каб запусціць гэты файл. 129 00:05:37,710 --> 00:05:40,360 І я збіраюся прызначыць што ў файл прывітанне. 130 00:05:40,360 --> 00:05:45,150 >> Калі я зараз зрабіць кропкавую рысу прывітанне увядзіце, вам см, на самай справе, мая праграма, прывітанне свет. 131 00:05:45,150 --> 00:05:48,760 І тое, што крок зрабіў я ясна прапусціць наогул? 132 00:05:48,760 --> 00:05:49,520 Кампіляцыя. 133 00:05:49,520 --> 00:05:51,680 Так што я проста запусціў гэтую праграму даволі проста. 134 00:05:51,680 --> 00:05:55,690 >> І атрымліваецца, што вы можаце зрабіць гэта з шмат сінтаксісу нагадвае С. 135 00:05:55,690 --> 00:06:03,400 Адпусьці мяне ў сённяшняй кода, якія я паклаў у маім каталогу з віртуальнымі хастамі 136 00:06:03,400 --> 00:06:05,250 тут, на рэальных прычын мы вернемся да. 137 00:06:05,250 --> 00:06:09,350 І я збіраюся пайсці ў, скажам, умовы 1. 138 00:06:09,350 --> 00:06:12,450 >> І вы ўбачыце тут, у першую за ўсё, цэлая куча заўваг. 139 00:06:12,450 --> 00:06:15,240 Але гэта на самай справе аднаўленне ў PHP 140 00:06:15,240 --> 00:06:18,960 праграмы мы зрабілі ў тыдзень адна называецца ўмовы 1.c 141 00:06:18,960 --> 00:06:20,690 дзе мэта ў жыццё гэтай праграмы 142 00:06:20,690 --> 00:06:22,950 па-відаць, каб спытаць Карыстальнік цэлы лік 143 00:06:22,950 --> 00:06:25,270 а затым зрабіць некаторыя пухнатыя Аналіз на ім у выніку чаго 144 00:06:25,270 --> 00:06:29,510 Вы кажаце, калі гэта станоўча ці адмоўны або роўны нулю. 145 00:06:29,510 --> 00:06:34,220 І я пра гэта толькі таму, што, на працягу магчыма адной маленькай дэталі, за выключэннем, 146 00:06:34,220 --> 00:06:37,150 гэта неадрозна так далёка ад С. 147 00:06:37,150 --> 00:06:39,930 >> Што адна характарыстыка тут, што, можа быць, выскоквае 148 00:06:39,930 --> 00:06:41,410 ў вас як трохі адрозніваецца? 149 00:06:41,410 --> 00:06:42,160 Можа быць, дзве рэчы. 150 00:06:42,160 --> 00:06:42,660 Так? 151 00:06:42,660 --> 00:06:44,070 >> СТУДЕНТ: Знак даляра н? 152 00:06:44,070 --> 00:06:44,944 >> Дэвід Дж Малання: Так. 153 00:06:44,944 --> 00:06:46,210 Так знак даляра н прысутнічае. 154 00:06:46,210 --> 00:06:48,120 І даляр прыкметы, як мы ўбачым, ідуць 155 00:06:48,120 --> 00:06:51,460 быць выпраўленне да пачатку любы зменнай у PHP. 156 00:06:51,460 --> 00:06:54,250 Гэта і добра, і bad-- добра ў што гэта свайго роду відавочна, што гэта 157 00:06:54,250 --> 00:06:56,797 Зменная, дрэнна ў тым, што гэта яшчэ адна рэч, каб ўвесці. 158 00:06:56,797 --> 00:06:58,630 І ёсць яшчэ адзін што ў нас ёсць не зусім 159 00:06:58,630 --> 00:07:00,876 відаць, па меншай меры, па гэтай арфаграфіі. так? 160 00:07:00,876 --> 00:07:01,630 >> СТУДЕНТ: Readline. 161 00:07:01,630 --> 00:07:02,671 >> Дэвід Дж Малання: Readline. 162 00:07:02,671 --> 00:07:06,550 Readline мы не бачылі, як такой, у З, нават пры тым, што існуе нешта 163 00:07:06,550 --> 00:07:09,530 падобныя, але мы выкарыстоўвалі GetString, і ў гэтым яго калега. 164 00:07:09,530 --> 00:07:12,950 Так што, калі я іду ў гэты каталог, які бывае, 165 00:07:12,950 --> 00:07:18,030 як я растлумачу ў трохі ў маёй віртуальны хост каталог і мой крыніца каталога, 166 00:07:18,030 --> 00:07:22,730 і я іду наперад і рабіць кропкавы слэш conditions-- whoops-- кропка слэш 167 00:07:22,730 --> 00:07:26,710 ўмовы 1, вы ўбачыце, зноў жа, тое ж самае issue-- доступ забаронены. 168 00:07:26,710 --> 00:07:33,610 >> Такім чынам, дазвольце мне павялічваць і рабіць CHMOD плюс х на ўмовах, кропкавых умовах касой. 169 00:07:33,610 --> 00:07:35,222 Я хацеў бы цэлае, калі ласка, 50. 170 00:07:35,222 --> 00:07:36,930 І мы маглі б гуляць у гэтую гульня на працягу ўсяго дня. 171 00:07:36,930 --> 00:07:39,140 Гэта будзе паводзіць сябе сапраўды гэтак як гэта было ў тыдзень адзін. 172 00:07:39,140 --> 00:07:42,860 >> Добра так не ўсё, што адрозніваецца, за выключэннем таго, не толькі, што невялікая трохі сінтаксісу, 173 00:07:42,860 --> 00:07:45,490 але ў верхняй часткі, я зноў была гэтая лінія, якая 174 00:07:45,490 --> 00:07:49,760 дазволіў мне стварыць нешта, што выглядае як C праграму пад назвай Прывітанне, 175 00:07:49,760 --> 00:07:51,150 званыя ўмовы 1. 176 00:07:51,150 --> 00:07:54,520 Але гэта не 0 і тыя, Я выканання непасрэдна. 177 00:07:54,520 --> 00:07:57,620 Гэта замест таго, каб працаваць у гэтым перакладчык, імя якога 178 00:07:57,620 --> 00:07:59,440 здараецца, супадае з мовай. 179 00:07:59,440 --> 00:08:04,970 Праграма называецца PHP, і мой код ніжэй лініі адзін перадаецца ў яго. 180 00:08:04,970 --> 00:08:07,740 >> Мы можам зрабіць яшчэ адзін даволі просты прыклад нагадвае пра што-то 181 00:08:07,740 --> 00:08:09,240 мы зрабілі тыдняў таму. 182 00:08:09,240 --> 00:08:12,020 Зноў жа, гэта свайго роду адвольнае кавалак кода 183 00:08:12,020 --> 00:08:14,000 што, па-відаць робіць што пры запуску яна? 184 00:08:14,000 --> 00:08:15,625 Што гэта ў друк, па-відаць? 185 00:08:15,625 --> 00:08:23,540 186 00:08:23,540 --> 00:08:28,250 >> Так, першапачаткова на лініі 16, гэта збіраюся сказаць х цяпер 2, напэўна. 187 00:08:28,250 --> 00:08:30,920 % D такая ж, як $ я для Printf. 188 00:08:30,920 --> 00:08:33,460 Так то гэта кубатуры, кропка, кропка, кропка, у радку 17. 189 00:08:33,460 --> 00:08:36,299 І тады лініі 18 з'явіцца для выкліку функцыі ў кубе. 190 00:08:36,299 --> 00:08:37,600 А дзе ў кубе вызначаецца? 191 00:08:37,600 --> 00:08:40,319 >> Ну, як ён выглядае ў лініі 25, так што гэта не ўсё, што адрозніваецца. 192 00:08:40,319 --> 00:08:42,610 У мяне ёсць некаторыя каментары вышэй гэта, але па большай частцы, 193 00:08:42,610 --> 00:08:45,370 гэта даволі проста партаванне або пераўтварэнні 194 00:08:45,370 --> 00:08:48,470 ад C праграмы на PHP версіі. 195 00:08:48,470 --> 00:08:52,670 Але ў цяперашні час існуе некалькі адрозненні, якія, можа быць, варта скакаць. 196 00:08:52,670 --> 00:08:56,100 Што яшчэ адрозніваецца, як вы можа напісаць гэтую ж праграму ў C? 197 00:08:56,100 --> 00:08:57,900 >> СТУДЕНТ: [неразборліва]. 198 00:08:57,900 --> 00:09:00,070 >> Дэвід Дж Малання: Там няма прататып верх. 199 00:09:00,070 --> 00:09:03,210 Так PHP-- і, шчыра кажучы, Шмат сучаснай languages-- 200 00:09:03,210 --> 00:09:06,920 шмат разумней і карысна чым C кампілятары ў тым, што вам 201 00:09:06,920 --> 00:09:09,740 можна паставіць функцыю тут, Вы можаце змясціць функцыю тут, 202 00:09:09,740 --> 00:09:12,740 а перакладчык будзе зрабіць вам ласку чытання 203 00:09:12,740 --> 00:09:16,010 ўвесь файл перад яго вырашае што некаторыя функцыі не існуе. 204 00:09:16,010 --> 00:09:17,970 Так прыемна ўдасканалення гадоў праз. 205 00:09:17,970 --> 00:09:22,126 Але ёсць таксама тое, яшчэ адрозніваецца або адсутнічае тут. 206 00:09:22,126 --> 00:09:22,626 Так? 207 00:09:22,626 --> 00:09:25,084 >> СТУДЕНТ: [неразборліва]. 208 00:09:25,084 --> 00:09:27,750 Дэвід Дж Малання: Мы не павінны аб'яўляць тыпы зменных, 209 00:09:27,750 --> 00:09:31,780 так што мы ўбачым у бліжэйшы час, што Існуюць розныя тыпы ў PHP, 210 00:09:31,780 --> 00:09:34,970 але вам не трэба паказваць іх, які таксама з'яўляецца і добрае і дрэннае. 211 00:09:34,970 --> 00:09:36,623 І ёсць яшчэ адна рэч, якая адсутнічае. 212 00:09:36,623 --> 00:09:37,430 >> СТУДЕНТ: Там няма бібліятэкі. 213 00:09:37,430 --> 00:09:38,630 >> Дэвід Дж Малання: Там няма бібліятэкі. 214 00:09:38,630 --> 00:09:39,350 ОК, так што гэта добра. 215 00:09:39,350 --> 00:09:40,540 Мы атрымліваем нашмат больш з скрынкі. 216 00:09:40,540 --> 00:09:43,373 Так што на самай справе значна больш, рэчы, чым я думаў, былі розныя. 217 00:09:43,373 --> 00:09:44,350 Як наконт шляху ў спіне? 218 00:09:44,350 --> 00:09:46,032 Што гэта? 219 00:09:46,032 --> 00:09:46,740 Скажыце, што гэта яшчэ раз? 220 00:09:46,740 --> 00:09:47,960 >> СТУДЕНТ: Паказальнік. 221 00:09:47,960 --> 00:09:49,270 >> Дэвід Дж Малання: Няма паказальнікаў. 222 00:09:49,270 --> 00:09:51,280 Добра, па меншай меры, у гэтым прыкладзе, няма. 223 00:09:51,280 --> 00:09:52,070 Гэта справядліва. 224 00:09:52,070 --> 00:09:55,090 Такім чынам, значыць не паказальнікі у PHP фактычна ў цэлым. 225 00:09:55,090 --> 00:09:58,730 Ёсць што-то называецца спасылкі, але мы не будзем марнаваць занадта шмат часу там. 226 00:09:58,730 --> 00:09:59,520 А што яшчэ? 227 00:09:59,520 --> 00:10:00,185 >> СТУДЕНТ: Галоўная. 228 00:10:00,185 --> 00:10:01,060 Дэвід Дж Малання: Галоўная. 229 00:10:01,060 --> 00:10:02,768 Так гэта было важная персона Я думаў пра. 230 00:10:02,768 --> 00:10:04,660 Звярніце ўвагу, што ня мае асноўнага кропкай ўваходу. 231 00:10:04,660 --> 00:10:06,525 Вы проста пачаць пісаць код. 232 00:10:06,525 --> 00:10:08,400 І гэта на самай справе будзе выгадна 233 00:10:08,400 --> 00:10:10,560 калі мы пераходзім на імгненне, каб на самой справе з дапамогай 234 00:10:10,560 --> 00:10:13,980 гэта той жа мову для вэб- праграмаванне, для якіх мы 235 00:10:13,980 --> 00:10:16,580 не хачу мець толькі адну кропку ўваходу. 236 00:10:16,580 --> 00:10:19,980 Мы, магчыма, захочаце мець кучу URL-адрасы, куча розных файлаў 237 00:10:19,980 --> 00:10:22,930 усе браць у карыстацкі ўвод і вырабляць прадукцыю. 238 00:10:22,930 --> 00:10:27,130 >> Але вось вельмі ўразіла Прыклад, які я абяцаў у мінулы раз, 239 00:10:27,130 --> 00:10:30,130 а менавіта ў гэтай тэчцы тут, памылкамі друку. 240 00:10:30,130 --> 00:10:33,680 Так што ў гэтым файле правапісу, якія мы не будзе марнаваць занадта шмат часу на, ёсць 241 00:10:33,680 --> 00:10:37,870 істотна porting-- P-O-R-T. Гэта проста слова, дадзенае калі, скажам, 242 00:10:37,870 --> 00:10:40,800 пераўтварэнні з адной мовы ў іншую, як правіла, уручную. 243 00:10:40,800 --> 00:10:45,680 >> Гэта партаванне ПК версія правапісу ад PSET 5. 244 00:10:45,680 --> 00:10:48,856 І я ў асноўным спрабаваў пераўтварыць гэта радок за радком, наколькі я магу. 245 00:10:48,856 --> 00:10:51,730 Так што, калі вам падабаецца гэты выгляд рэчы, ён на самай справе стаіць на нейкі момант 246 00:10:51,730 --> 00:10:54,229 пацягнуўшы іх абодвух да бок бок і бачачы, што тая ж самая 247 00:10:54,229 --> 00:10:55,230 і што па-іншаму. 248 00:10:55,230 --> 00:10:57,510 Але яны па-чартоўску падобныя. 249 00:10:57,510 --> 00:11:00,110 Калі вы памятаеце, тое, што арфаграфіі нават выглядаў, 250 00:11:00,110 --> 00:11:02,110 нават калі вы не зрабілі павінны змяніць гэты файл, 251 00:11:02,110 --> 00:11:04,860 гэта даволі падобныя структурна толькі з некалькімі 252 00:11:04,860 --> 00:11:06,200 зменаў тут і там. 253 00:11:06,200 --> 00:11:10,140 >> Так што гэта толькі сказаць, што гэта даволі проста канвертаваць Speller 254 00:11:10,140 --> 00:11:12,000 ад З да PHP. 255 00:11:12,000 --> 00:11:15,390 Але ў слоўніку, ёсць што-то яшчэ больш прывабным. 256 00:11:15,390 --> 00:11:19,270 Дазвольце мне ісці наперад і ствараць мой уласны файл dictionary.php. 257 00:11:19,270 --> 00:11:24,010 Так трохі адрозніваецца ў тым, што мы будзем называць яго .php замест .c. 258 00:11:24,010 --> 00:11:26,980 Таму што гэта файл PHP, я do-- злёгку annoyingly-- ёсць 259 00:11:26,980 --> 00:11:30,132 на запуск файла з тэг PHP падобнае. 260 00:11:30,132 --> 00:11:32,340 І я збіраюся ісці наперад і вызначыць некалькі функцый. 261 00:11:32,340 --> 00:11:35,770 Функцыя называецца праверка, якая з'яўляецца збіраецца заняць у слове, як раней. 262 00:11:35,770 --> 00:11:37,520 Але гэты аргумент-х будзе мець даляр 263 00:11:37,520 --> 00:11:39,840 падпісаць, таму што мы, зноў жа, з дапамогай PHP. 264 00:11:39,840 --> 00:11:42,350 Яшчэ адна функцыя з dictionary.c быў нагрузка 265 00:11:42,350 --> 00:11:47,120 і ён узяў на імя слоўніка, так што я атрымаю гэтую функцыю гатовыя пайсці. 266 00:11:47,120 --> 00:11:50,920 >> Яшчэ адзін у dictionary.c было тое, што? 267 00:11:50,920 --> 00:11:54,580 Памер быў адным з самых добрых, у Прынамсі, калі вы трымалі некаторыя зменныя вакол. 268 00:11:54,580 --> 00:11:57,830 так што памер проста павінен вяртаць зменную. 269 00:11:57,830 --> 00:11:59,090 А потым была разгрузка. 270 00:11:59,090 --> 00:12:02,830 >> Так з'явіліся гэтыя чатыры функцыі ў праблеме ўстаноўкі +5 271 00:12:02,830 --> 00:12:06,770 што вам трэба для рэалізацыі з некаторыя структуры дадзеных або структуры. 272 00:12:06,770 --> 00:12:10,170 Так што я абяцаў, што ў PHP, мы можам аб'явіць 273 00:12:10,170 --> 00:12:14,490 Хэш-табліца, напрыклад, Усё, што больш лёгка. 274 00:12:14,490 --> 00:12:17,377 На самай справе, калі я хачу хэш-табліцу, Я проста хачу, каб ісці, як, што 275 00:12:17,377 --> 00:12:18,460 і ёсць мая хэш-табліцы. 276 00:12:18,460 --> 00:12:21,555 І гэта заўвага, роспач, што мы спыніліся на апошні раз. 277 00:12:21,555 --> 00:12:23,930 І вы ведаеце, што, калі б я хацеў пераменная для памеру, добра, 278 00:12:23,930 --> 00:12:25,867 гэты яшчэ не ўсё што адрозніваецца ад C, 279 00:12:25,867 --> 00:12:27,450 але я збіраюся ісці наперад і рабіць што. 280 00:12:27,450 --> 00:12:28,630 І не заўважыць не тып дадзеных. 281 00:12:28,630 --> 00:12:31,180 І я вярнуся пазней, а на самай справе дадаць некаторыя каментары тут. 282 00:12:31,180 --> 00:12:32,480 Але як наконт нагрузкі? 283 00:12:32,480 --> 00:12:35,780 >> Калі слоўнік знак даляра гэтае імя майго файла 284 00:12:35,780 --> 00:12:39,600 і я на самой справе хачу, каб загрузіць слова ў гэтай табліцы прадпрыемствам, 285 00:12:39,600 --> 00:12:42,360 Я магу на самой справе што-то даволі проста. 286 00:12:42,360 --> 00:12:44,880 Одно-- і гэта minorly annoying-- ў PHP, 287 00:12:44,880 --> 00:12:47,710 Вы павінны паказаць ўнутры функцыі, калі вас 288 00:12:47,710 --> 00:12:51,060 хочаце атрымаць доступ да некаторых глабальным Пераменная які вызначаецца межамі. 289 00:12:51,060 --> 00:12:53,530 >> Але гэта не асабліва Цікава цяпер. 290 00:12:53,530 --> 00:12:57,920 Што больш цікава, гэта для кожнага пабудаваць што я ўжо ў апошні раз. 291 00:12:57,920 --> 00:13:01,880 І атрымліваецца, што PHP мае функцыю называецца файл, мэта якога ў жыцці 292 00:13:01,880 --> 00:13:05,550 гэта адкрыць файл і прачытаць у ўсе яго лініі ў масіў 293 00:13:05,550 --> 00:13:06,840 і перадаць іх назад да. 294 00:13:06,840 --> 00:13:12,170 >> Які павінен сказаць, што я магу зрабіць слоўнік так што ў цяперашні час эфектыўна, калі я называю файл, 295 00:13:12,170 --> 00:13:15,472 гэта будзе здаць мяне Масіў слоў з файла. 296 00:13:15,472 --> 00:13:16,430 Гэта яшчэ не ўсё, што добра. 297 00:13:16,430 --> 00:13:20,130 Ён па-ранейшаму будзе лінія слоў, што-то лінейнай. 298 00:13:20,130 --> 00:13:23,880 Але я магу ісці наперад і ітэрацыі за кожнае з гэтых слоў з дапамогай 299 00:13:23,880 --> 00:13:25,710 што сінтаксіс мы бачылі коратка апошні раз. 300 00:13:25,710 --> 00:13:27,940 І вы ўбачыце гэта больш у маючым адбыцца PSET. 301 00:13:27,940 --> 00:13:32,070 >> Але зараз у мяне ёсць завесы ітэрацыі за кожнага слова ў слоўніку. 302 00:13:32,070 --> 00:13:36,100 І на кожнай ітэрацыі, успомніць, што я называючы бягучае слова "слова". 303 00:13:36,100 --> 00:13:39,790 І ўсё гэта зойме, каб ўклаў слова ў слоўнік 304 00:13:39,790 --> 00:13:43,530 будзе слова здагадка "праўда". 305 00:13:43,530 --> 00:13:44,740 Гэта мая функцыя ўстаўкі. 306 00:13:44,740 --> 00:13:46,661 Гэта мая функцыя нагрузкі для майго слоўніка. 307 00:13:46,661 --> 00:13:49,410 Зараз гэта накшталт падману, таму што, Вы ведаеце, што ёсць на самой справе 308 00:13:49,410 --> 00:13:52,920 зваротны слэш н-х у канцы слова што я, верагодна, варта пазбавіцца ад, 309 00:13:52,920 --> 00:13:56,380 але гэта не праблема, таму што PHP мае Функцыя называецца адбіўную, якая ў літаральным сэнсе 310 00:13:56,380 --> 00:13:58,480 адсякае аднаго персанажа ў самым канцы. 311 00:13:58,480 --> 00:13:59,400 Так ніякая праблема там. 312 00:13:59,400 --> 00:14:02,199 Мы пайшлі наперад і на самай справе скарачаецца, што менавіта да гэтага. 313 00:14:02,199 --> 00:14:05,240 І зараз я, верагодна, варта адсочваць ад памеру, так што давайце, па меншай меры зрабіць this-- 314 00:14:05,240 --> 00:14:05,835 Памер ++. 315 00:14:05,835 --> 00:14:07,339 Я магу зрабіць гэта, як і раней. 316 00:14:07,339 --> 00:14:10,380 І тады гэта, верагодна, будзе працаваць нармальна, так што вернемся дакладна. 317 00:14:10,380 --> 00:14:10,930 Гатова. 318 00:14:10,930 --> 00:14:11,797 PSET 5. 319 00:14:11,797 --> 00:14:13,545 >> [Смех] 320 00:14:13,545 --> 00:14:14,420 >> Дэвід Дж Малання: ОК. 321 00:14:14,420 --> 00:14:16,628 Мы збіраемся зрабіць гэта зноў з наступнага PSET, таксама. 322 00:14:16,628 --> 00:14:18,730 Так што аб памеры? 323 00:14:18,730 --> 00:14:22,080 Ну, гэта адзін, спадзяюся, пра як можна было б чакаць у мінулы раз, 324 00:14:22,080 --> 00:14:24,460 хоць я павінен зрабіць гэта па-дурному глабальная рэч. 325 00:14:24,460 --> 00:14:26,610 Гэта проста артэфакт ад дызайн мовы. 326 00:14:26,610 --> 00:14:28,450 >> Але праверка з'яўляецца трохі больш цікавым. 327 00:14:28,450 --> 00:14:31,420 Так што, калі я прайшоў у долар падпісаць слова, я ўпершыню 328 00:14:31,420 --> 00:14:34,060 хочуць мець доступ да што глабальная пераменная стол. 329 00:14:34,060 --> 00:14:36,700 І зараз, калі я хачу, каб праверыць, калі слова ёсць, 330 00:14:36,700 --> 00:14:44,350 Я магу проста сказаць, калі гэта праўда, што Ніжэй усталёўваецца ў табліцы, 331 00:14:44,350 --> 00:14:49,957 затым пайсці далей і вяртанне праўда; яшчэ, вярнуцца ілжывым. 332 00:14:49,957 --> 00:14:51,180 Гатова. 333 00:14:51,180 --> 00:14:52,440 Іншая палова PSET 5. 334 00:14:52,440 --> 00:14:54,540 >> Добра, так што зноў, я рэзкі некалькі кутоў. 335 00:14:54,540 --> 00:14:56,831 Справядлівасці дзеля, варта, верагодна, правесці яшчэ некалькі секунд 336 00:14:56,831 --> 00:14:58,300 на гэтай рэалізацыі. 337 00:14:58,300 --> 00:15:01,860 І я, напэўна, не варта дражніць ўсе гадзін вы паклалі на PSET так шмат. 338 00:15:01,860 --> 00:15:04,045 Так strtolower з'яўляецца функцыяй. 339 00:15:04,045 --> 00:15:06,670 Што-то падобнае экзистенциалист у С, па меншай меры, для сімвалаў, 340 00:15:06,670 --> 00:15:08,560 але PHP атрымаў цэлы версію радка. 341 00:15:08,560 --> 00:15:11,226 >> Гэта адбываецца, каб прымусіць усе у ніжні рэгістр, які некаторыя з вас 342 00:15:11,226 --> 00:15:14,944 маглі б зрабіць, каб кананізаваць што Вы ставілі ў слоўніку. 343 00:15:14,944 --> 00:15:16,360 І цяпер вы можаце зрабіць гэта ў C, занадта. 344 00:15:16,360 --> 00:15:17,780 Гэта не мае нічога агульнага з PHP. 345 00:15:17,780 --> 00:15:20,260 >> Але ў любы час у вас ёсць Лагічнае стан, 346 00:15:20,260 --> 00:15:22,680 як-то на лініі 10 ёсць, якія толькі 347 00:15:22,680 --> 00:15:27,145 збіраецца ацаніць, дакладна ці хлусня, і ваш, калі яшчэ ясна 348 00:15:27,145 --> 00:15:33,620 вяртаецца сапраўдным або ілжывым, я мог проста сапраўды зрабіць гэты сэксуальней 349 00:15:33,620 --> 00:15:38,360 і проста зрабіць нешта накшталт гэтага. 350 00:15:38,360 --> 00:15:40,500 Так што мая функцыя праверкі. 351 00:15:40,500 --> 00:15:42,560 Права, калі лагічны вяртае сапраўднае або ілжывае, 352 00:15:42,560 --> 00:15:44,630 давайце проста вярнуць яго адразу. 353 00:15:44,630 --> 00:15:47,340 >> І ёсць некалькі іншых налад Я мог бы зрабіць тут і там. 354 00:15:47,340 --> 00:15:51,380 Load-- выгрузкі, дарэчы, гэта будзе зроблена. 355 00:15:51,380 --> 00:15:52,850 Нічога не рабіць там. 356 00:15:52,850 --> 00:15:55,840 Так як усё ў памяці PHP і многія іншыя мовы 357 00:15:55,840 --> 00:15:57,570 на самай справе атрымалася для вас. 358 00:15:57,570 --> 00:16:00,330 Так, тады як у C, як Вы даведаліся хваравіта, 359 00:16:00,330 --> 00:16:04,700 усё, што вы Таноса або calloc або Realloc, вы павінны вызваліць сябе. 360 00:16:04,700 --> 00:16:08,770 Усё, што вы адкрыць паток, вы павінны fclose, такім чынам, што рэсурсы, у канчатковым рахунку вызваленыя 361 00:16:08,770 --> 00:16:11,690 і інструменты, такія як Valgrind ня заўважыць і не скардзяцца, 362 00:16:11,690 --> 00:16:13,570 які з'яўляецца добрай рэччу для працы на іх. 363 00:16:13,570 --> 00:16:16,190 >> Але, вядома, там павінны быць некаторыя ўлоў, ці не так? 364 00:16:16,190 --> 00:16:19,400 У адваротным выпадку, мы як-то марна цэлая куча тыдняў. 365 00:16:19,400 --> 00:16:23,270 Так што любую колькасць прычын Таму мы як бы ўзяць гэтую траекторыю, 366 00:16:23,270 --> 00:16:24,440 але ёсць кампраміс. 367 00:16:24,440 --> 00:16:25,820 Права, гэта было тэматычным. 368 00:16:25,820 --> 00:16:29,690 >> Так што можа кампраміс тут рухаецца, ад З да PHP? 369 00:16:29,690 --> 00:16:33,250 Па адчуваннях усе выйграць да гэтага часу, акрамя трохі агіднасці тут ці там. 370 00:16:33,250 --> 00:16:34,040 Так. 371 00:16:34,040 --> 00:16:34,700 Што гэта? 372 00:16:34,700 --> 00:16:36,064 >> СТУДЕНТ: [неразборліва] памяці. 373 00:16:36,064 --> 00:16:36,980 Дэвід Дж Малання: Хуткасць. 374 00:16:36,980 --> 00:16:37,479 Добра. 375 00:16:37,479 --> 00:16:40,720 Ну, мая хуткасць была даволі хутка. 376 00:16:40,720 --> 00:16:42,020 Ці не так? 377 00:16:42,020 --> 00:16:44,320 Але хуткасць выканання праграмы? 378 00:16:44,320 --> 00:16:45,580 ОК, так што гэта справядлівая заўвага. 379 00:16:45,580 --> 00:16:50,930 >> Так як гэта будзе адбывацца, я загадзя падаюць рэплікі да як маё рашэнне паспрабаваць, адзін 380 00:16:50,930 --> 00:16:53,510 Я быў на вялікай дошцы было рашэнне спроба аснове, 381 00:16:53,510 --> 00:16:55,510 і ў мяне ёсць, што ў гэтым каталогу тут. 382 00:16:55,510 --> 00:16:58,510 Так што я ў дадзены момант, я магу ісці наперад і запусціць гэта на Бібліі караля Якава, 383 00:16:58,510 --> 00:16:59,657 Націск Enter. 384 00:16:59,657 --> 00:17:01,990 І гэта, спадзяюся, правільна Рэалізацыя ў канцы, 385 00:17:01,990 --> 00:17:05,109 дае мне час у агульнай складанасці з 0,38 секунд для гэтага 386 00:17:05,109 --> 00:17:07,270 адзін некалькі адвольна прыклад. 387 00:17:07,270 --> 00:17:09,270 >> І калі я зараз спыняцца на гэтым Другі акно тэрмінала 388 00:17:09,270 --> 00:17:14,569 тут, дзе я ўпершыню адкрыў Gedit, хай мне ісці ў сённяшнім code-- якія, зноў жа, 389 00:17:14,569 --> 00:17:19,650 знаходзіцца ў гэтым каталогу here-- і дазвольце мне ісці наперад і працаваць Speller. 390 00:17:19,650 --> 00:17:23,470 Так проста быць ясна, гэта PHP версіі. 391 00:17:23,470 --> 00:17:25,170 Я толькі паказваю верх яго тут. 392 00:17:25,170 --> 00:17:32,020 >> Так што, калі я раблю Speller з тыльды CS50 Pset 5 тэксты, Кароль Джэймс, увядзіце. 393 00:17:32,020 --> 00:17:39,700 394 00:17:39,700 --> 00:17:43,050 Ён па-ранейшаму хутчэй, чым лісты гэта ў C, але агульны час 395 00:17:43,050 --> 00:17:47,650 гэта, заўважце, 0.93, у той час як мой Рэалізацыя C на базе 0,38. 396 00:17:47,650 --> 00:17:49,110 Так што гэта нетрывіяльная розніца. 397 00:17:49,110 --> 00:17:51,100 >> І гэта толькі на адным файле. 398 00:17:51,100 --> 00:17:53,480 Калі б вы былі запусціць два праграмы ў параўнанні з вялікай дошцы 399 00:17:53,480 --> 00:17:56,510 і ёсць цэлая куча уваходаў выпрабаванні, гэта, безумоўна, складаюцца. 400 00:17:56,510 --> 00:18:00,310 І калі б мы мелі нават вялікія аб'ёмы дадзеных, гэта таксама будзе скласці ўсе больш. 401 00:18:00,310 --> 00:18:04,820 Так што, так, плаціць некаторую цану хуткасці сапраўды так. 402 00:18:04,820 --> 00:18:05,470 Што яшчэ? 403 00:18:05,470 --> 00:18:08,000 404 00:18:08,000 --> 00:18:08,860 Так? 405 00:18:08,860 --> 00:18:10,340 >> СТУДЕНТ: Сума выкарыстання RAM. 406 00:18:10,340 --> 00:18:11,756 >> Дэвід Дж Малання: Сума выкарыстання RAM. 407 00:18:11,756 --> 00:18:15,380 Так што я не даваў адну секунду думаў, калі пісаў гэтую PHP 408 00:18:15,380 --> 00:18:17,300 Версія пра тое, як шмат памяці я выкарыстаў. 409 00:18:17,300 --> 00:18:22,080 Я цалкам адкласці, што ў PHP Сам і той, хто напісаў гэтую праграму. 410 00:18:22,080 --> 00:18:24,500 І што можа быць у парадку, Але калі я на самой справе вельмі 411 00:18:24,500 --> 00:18:28,420 клапаціцца аб сціскаючы столькі прадукцыйнасць з маёй праграмы або з майго вэб-сайта 412 00:18:28,420 --> 00:18:31,150 або з якой-небудзь інструмент Я будую, можа быць, 413 00:18:31,150 --> 00:18:33,310 PHP, на самай справе, не з'яўляецца правільным мовай. 414 00:18:33,310 --> 00:18:36,330 >> І на самай справе, менавіта таму, для Напрыклад, многія вэб-servers-- 415 00:18:36,330 --> 00:18:38,980 фактычныя праграмы, абслугоўваць вэб content-- 416 00:18:38,980 --> 00:18:41,810 не напісаны ў PHP або ў Python або Ruby. 417 00:18:41,810 --> 00:18:44,630 Яны напісаныя, як Вы зараз зрабіць з Pset 6, 418 00:18:44,630 --> 00:18:48,120 у C, так што вы можаце сціснуць кожны біт прадукцыйнасці з яго 419 00:18:48,120 --> 00:18:50,780 і сапраўды ажыццяўляць кантроль дробназярністая над тым, што гэта 420 00:18:50,780 --> 00:18:52,980 адбываецца пад капот і не проста ўзяць яго 421 00:18:52,980 --> 00:18:54,890 як належнае некаторыя вышэй Структура дадзеных ўзроўню. 422 00:18:54,890 --> 00:18:58,071 >> Разгледзім, у рэшце рэшт, хто ў PHP рэалізаваны 423 00:18:58,071 --> 00:19:00,070 што паняцце хэш table-- гэта на самай справе больш 424 00:19:00,070 --> 00:19:04,260 правільна называецца асацыятыўны array-- ён ці яна ёсць ідэі, якія 425 00:19:04,260 --> 00:19:07,090 уваходаў вы збіраецеся быць ўвод у структуры? 426 00:19:07,090 --> 00:19:08,260 Так, відавочна, не, не так? 427 00:19:08,260 --> 00:19:10,340 Гэта універсальны інструмент, ў інструментары, гэта 428 00:19:10,340 --> 00:19:13,430 пры ўмове, усім, хто хоча выкарыстоўваць яго, і таму, вядома, гэта 429 00:19:13,430 --> 00:19:17,680 не могуць быць аптымізаваныя, у канчатковым рахунку менавіта тое, што вы хочаце зрабіць. 430 00:19:17,680 --> 00:19:21,180 >> Так гандлёва-offs-- час распрацоўкі можа адрозніваюцца, прадукцыйнасць можа адрознівацца, 431 00:19:21,180 --> 00:19:23,120 Складанасць або выкарыстанне памяці можа адрознівацца. 432 00:19:23,120 --> 00:19:24,820 І так, што вы знойдзеце больш, што ёсць 433 00:19:24,820 --> 00:19:26,570 будзе па-іншаму інструменты для гандлю. 434 00:19:26,570 --> 00:19:31,160 І на самай справе для супер большасці Канчатковыя праекты народныя ў гэтым класе, 435 00:19:31,160 --> 00:19:34,360 верыце ці не, C не збіраецца каб быць правільным мова выкарыстоўваць. 436 00:19:34,360 --> 00:19:37,880 >> І на самай справе, адной з ежы на дом у канчатковым рахунку, для любога класа, як гэта 437 00:19:37,880 --> 00:19:40,510 з'яўляецца, каб вы думаеце пра, добра, што вы павінны зняць 438 00:19:40,510 --> 00:19:42,710 палка, калі вы хочаце вырашыць некаторыя праблемы. 439 00:19:42,710 --> 00:19:46,720 І на самай справе, мы праз гэта нават больш, паколькі мы глядзім на некалькіх мовах 440 00:19:46,720 --> 00:19:47,920 нават за сённяшні дзень. 441 00:19:47,920 --> 00:19:50,530 >> Так што давайце пераход зараз магчыма, больш знаёмыя кантэкст 442 00:19:50,530 --> 00:19:52,480 для выкарыстання мовы як PHP. 443 00:19:52,480 --> 00:19:56,720 Гэта некалькі прынята выкарыстоўваць у каманднага радка, напісанне сцэнарыяў 444 00:19:56,720 --> 00:19:59,050 як я зрабіў, але гэта шмат, значна больш агульнага. 445 00:19:59,050 --> 00:20:02,350 І гэта было прызначана для выкарыстання ў форма файлаў, якія, як правіла, у канчатковым 446 00:20:02,350 --> 00:20:05,060 у .php-- але гэта ня prerequisite-- 447 00:20:05,060 --> 00:20:07,990 што самі генераваць вэб-кантэнту. 448 00:20:07,990 --> 00:20:11,310 >> Такім чынам, дазвольце мне ісці наперад і адкрыць некалькі Прыклады, якія я падрыхтаваў загадзя. 449 00:20:11,310 --> 00:20:15,100 І гэта на самай справе свайго роду праўда Гісторыі ў тым, што адзін з першых рэчаў, 450 00:20:15,100 --> 00:20:18,200 Я калі-небудзь рабіў сам пасля заканчэння CS50 і, можа быць, я думаю, 451 00:20:18,200 --> 00:20:21,350 CS51 гадоў таму мой сусед па пакоі і я дапамагалі 452 00:20:21,350 --> 00:20:24,320 запусціць пачаткоўца вочны спартыўную праграму, якая, у той час, 453 00:20:24,320 --> 00:20:28,610 ўжо на першым курсе рэгістрацыі на розных спорт, запаўняючы лісток паперы, 454 00:20:28,610 --> 00:20:31,800 як яго называлі, ідучы праз двор да Wigglesworth, 455 00:20:31,800 --> 00:20:34,030 і паклаўшы яго ў некаторых Проктор падзенне дзверы. 456 00:20:34,030 --> 00:20:37,210 І тады ён ці яна будзе праходзіць праз іх, а затым фактычна, напішыце нам ўручную 457 00:20:37,210 --> 00:20:39,140 што мы былі зарэгістраваныя на працягу некаторага спорту. 458 00:20:39,140 --> 00:20:41,166 >> Такім чынам, ясна, магчымасць для паляпшэння. 459 00:20:41,166 --> 00:20:44,040 У гэтыя дні, вы можаце звярнуцца да толькі што Google Forms, але назад у дзень, 460 00:20:44,040 --> 00:20:46,914 мы павінны былі на самай справе дасягнуць for-- гэта не было нават, што доўга ago-- дасягнуць 461 00:20:46,914 --> 00:20:49,410 для праграмавання Мову, які не быў PHP. 462 00:20:49,410 --> 00:20:51,200 У той час, гэта было тое, што называецца Perl, 463 00:20:51,200 --> 00:20:52,890 які з таго часу выйшла з моды. 464 00:20:52,890 --> 00:20:54,160 Але ідэя тая ж. 465 00:20:54,160 --> 00:20:58,940 >> І я па сутнасці сеў паспрабаваць у порт ідзе Perl версіі для PHP, 466 00:20:58,940 --> 00:21:03,710 але ў поўным агаворкі, не даюць Любая думка да эстэтыкі толькі пакуль. 467 00:21:03,710 --> 00:21:04,960 Дык вось вэб-старонка. 468 00:21:04,960 --> 00:21:05,670 Гэты файл. 469 00:21:05,670 --> 00:21:09,470 Калі я набліжаць, яго, відаць, называецца froshim0.php 470 00:21:09,470 --> 00:21:12,060 проста таму, што гэта наша першая Прыклад у гэтай серыі. 471 00:21:12,060 --> 00:21:15,970 І заўважце, што ў яго ёсць тое, што здаецца быць вельмі непрыгожа форма HTML, 472 00:21:15,970 --> 00:21:18,680 а форма Цікава паколькі яна дазваляе 473 00:21:18,680 --> 00:21:21,910 мне даць карыстацкі ўвод у браўзэры. 474 00:21:21,910 --> 00:21:27,730 >> Зараз апошні раз, калі ў нас быў выгляд, каб каго ж мы прадставіць нашу параметр запыту, 475 00:21:27,730 --> 00:21:30,450 параметр чарзе, як яго называлі? 476 00:21:30,450 --> 00:21:31,330 Такім чынам, каб Google, ці не так? 477 00:21:31,330 --> 00:21:34,090 Мы цалкам спонтировал на ідэі рабіць што-небудзь з гэтым уваходам. 478 00:21:34,090 --> 00:21:36,160 >> Але сёння, мы пачынаем вырабляць выснову. 479 00:21:36,160 --> 00:21:39,420 А паводзіны я збіраюся паглядзець тут першапачаткова даволі трывіяльна. 480 00:21:39,420 --> 00:21:42,980 Дэвід, я праверу ад падлогу Тут, кажуць, Мэтьюз тут. 481 00:21:42,980 --> 00:21:43,800 Я не буду капітанам. 482 00:21:43,800 --> 00:21:45,410 Я збіраюся націсніце Рэгістрацыя. 483 00:21:45,410 --> 00:21:50,720 І звярніце ўвагу, што URL мае змянілася зарэгістравацца, 0.php, 484 00:21:50,720 --> 00:21:52,310 а там гэты пачварны тэкст тут. 485 00:21:52,310 --> 00:21:54,460 Я не думаў, каб фарматаванне гэта. 486 00:21:54,460 --> 00:21:59,900 >> Але цікава тое, што тры Значэння па-відаць, былі перададзеныя ў. 487 00:21:59,900 --> 00:22:02,960 Гэта свайго роду РНР з эквівалентна printf-- 488 00:22:02,960 --> 00:22:06,330 мы ўбачым, што гэта сапраўды называецца у bit-- што проста друкуе 489 00:22:06,330 --> 00:22:08,300 тое, што вы прайшлі ў яго. 490 00:22:08,300 --> 00:22:11,414 Такім чынам, гэта кажа пра тое, што гэтай форме па меншай меры тры поля да яе, 491 00:22:11,414 --> 00:22:12,580 і вы бачылі, што я увядзіце іх у. 492 00:22:12,580 --> 00:22:15,739 Адзін з іх быў маё імя, адзін быў падлогу, адзін быў інтэрнат. 493 00:22:15,739 --> 00:22:18,780 І капітан нават не адпраўляюць на сервер, таму што я не правяраў яго. 494 00:22:18,780 --> 00:22:22,150 >> Так што гэта сказаць па-відаць, калі вы прадставіць рэчы ў Інтэрнэце, 495 00:22:22,150 --> 00:22:26,830 не толькі робіць URL часам change-- часам не. 496 00:22:26,830 --> 00:22:30,330 На самай справе, імя файла змяніў, але тое, што адсутнічае ў URL 497 00:22:30,330 --> 00:22:32,861 што мы сапраўды бачылі ў апошні раз з Google. 498 00:22:32,861 --> 00:22:33,360 Так? 499 00:22:33,360 --> 00:22:34,380 >> СТУДЕНТ: Няма радок запыту 500 00:22:34,380 --> 00:22:35,220 >> Дэвід Дж Малання: Там няма радкі запыту. 501 00:22:35,220 --> 00:22:37,270 Там няма пытальніка што-то. 502 00:22:37,270 --> 00:22:40,050 Там няма пытальніка в роўная котак, як мы зрабілі ў мінулы раз. 503 00:22:40,050 --> 00:22:42,170 І ёсць, вядома, няма Назва пытальнік роўна 504 00:22:42,170 --> 00:22:46,310 Дэвід або інтэрната роўная Мэтьюз, так дзе тое, што ўсё адбываецца? 505 00:22:46,310 --> 00:22:51,290 >> Ну, дазвольце мне вярнуцца да Gedit тут і адкрыць першы з гэтых файлаў 506 00:22:51,290 --> 00:22:57,020 на мой віртуальны хост, лакальны хост, грамадскага каталог тут і пайсці ў froshim0. 507 00:22:57,020 --> 00:23:02,060 Вось і атрымліваецца, што амаль усе гэтай старонцы толькі HTML. 508 00:23:02,060 --> 00:23:05,410 І гэта можа быць вам незнаёмыя, але гэта хутка будзе больш, з PSET 6 509 00:23:05,410 --> 00:23:07,370 і PSET 7 і PSET 8. 510 00:23:07,370 --> 00:23:09,160 Але гэта толькі HTML-старонкі. 511 00:23:09,160 --> 00:23:12,400 >> І цікавы матэрыял здаецца, тут. 512 00:23:12,400 --> 00:23:16,290 Форма тэг, дзеянне якога атрыбут мае значэнне рэгістра 0. 513 00:23:16,290 --> 00:23:18,890 Вось чаму, калі я ўявіць гэта, ён ідзе да гэтага файлу. 514 00:23:18,890 --> 00:23:20,620 Але метад адрозніваецца раз сёння пост. 515 00:23:20,620 --> 00:23:23,120 Вось і атрымліваецца, там, па меншай меры два метаду ў Інтэрнэце выкарыстоўваюцца 516 00:23:23,120 --> 00:23:24,911 для перадачы інфармацыі ад браўзэра да сервера. 517 00:23:24,911 --> 00:23:25,980 Get ставіць яго ў URL. 518 00:23:25,980 --> 00:23:27,950 Паведамленне ставіць яго ў іншым месцы. 519 00:23:27,950 --> 00:23:30,570 А калі і чаму можа вы на самай справе хочаце сайт 520 00:23:30,570 --> 00:23:34,110 выкарыстоўваць пост, то замест з атрымліваеце, проста інтуітыўна? 521 00:23:34,110 --> 00:23:37,080 Любы вэб-сайт. 522 00:23:37,080 --> 00:23:42,010 Якія дадзеныя павінны быць перададзены толькі шляхам высноў зараз праз пост, у адрозненне 523 00:23:42,010 --> 00:23:45,184 атрымаць, калі мы бачылі два адрозненні? 524 00:23:45,184 --> 00:23:46,350 СТУДЕНТ: [неразборліва] забяспечыць. 525 00:23:46,350 --> 00:23:47,790 Дэвід Дж Малання: Калі вы хочаце што-тое, каб быць у бяспецы. 526 00:23:47,790 --> 00:23:50,360 Такім чынам, вы можаце ўвесці пароль ў вэб-сайт, крэдытная карта 527 00:23:50,360 --> 00:23:53,030 ў вэб-сайт будзе выгляд з іх неаптымальна 528 00:23:53,030 --> 00:23:56,220 калі браўзэр пакласці, што Значэнне ўнутры URL. 529 00:23:56,220 --> 00:23:57,680 Чаму? 530 00:23:57,680 --> 00:24:00,059 Вы бачыце яго, што не робіць здаецца, такую ​​вялікую справу, 531 00:24:00,059 --> 00:24:03,350 але хутчэй за ўсё, вы даволі часта хадзіць удалечыні ад кампутара або выкарыстання кампутара 532 00:24:03,350 --> 00:24:05,310 лабараторыі, і таму хто- у іншым месцы ці нават сусед па пакоі 533 00:24:05,310 --> 00:24:08,220 маглі лёгка ісці ўверх і ўбачыць што прыватная інфармацыя. 534 00:24:08,220 --> 00:24:10,220 Пры адпраўцы па электроннай пошце праз Інтэрнэт, вы, верагодна, 535 00:24:10,220 --> 00:24:12,350 не хачу, што заканчэнне дадзеных да ў URL, а таксама. 536 00:24:12,350 --> 00:24:15,266 І так ёсць любую колькасць прычын Таму мы, магчыма, захочаце паставіць яго тут. 537 00:24:15,266 --> 00:24:18,610 І photos-- права, я не магу нават цалкам ўявіць сабе, як вы б графікі, 538 00:24:18,610 --> 00:24:21,480 як JPEG, і пакласці яго ў URL. 539 00:24:21,480 --> 00:24:22,330 Вы можаце зрабіць гэта. 540 00:24:22,330 --> 00:24:25,840 Там у шляху кадавання яго, але гэта проста не простая, як, што. 541 00:24:25,840 --> 00:24:29,030 >> Так зарэгіструйцеся 0 на самай справе вельмі захапленне. 542 00:24:29,030 --> 00:24:31,610 Усё гэта кажа літаральна гэта. 543 00:24:31,610 --> 00:24:35,910 Яна выводзіць у некаторых HTML тэгі наступнае. 544 00:24:35,910 --> 00:24:38,640 У мяне ёсць PHP тэг тут укладзены ў загадзя тэга. 545 00:24:38,640 --> 00:24:42,300 "Pre" проста азначае, папярэдне адфарматаваны тэкст, мона-разнесеныя, як пішучая машынка. 546 00:24:42,300 --> 00:24:44,836 >> Printr з'яўляецца друк рэкурсіўная функцыя. 547 00:24:44,836 --> 00:24:46,710 А тут яшчэ гэты Цікава тое тут. 548 00:24:46,710 --> 00:24:48,835 І мы вернемся да гэтага таму што ёсць іншыя, 549 00:24:48,835 --> 00:24:51,140 але знак даляра падкрэслення Паведамленне здаецца, 550 00:24:51,140 --> 00:24:56,110 пераменная ў PHP, у якім што- Вы пасылаеце ад браўзэра да сервера 551 00:24:56,110 --> 00:24:58,040 атрымлівае захоўваецца для вас. 552 00:24:58,040 --> 00:25:00,930 І мы ўбачым, як дабрацца да што інфармацыя ў хуткім часе. 553 00:25:00,930 --> 00:25:04,000 >> Але спачатку, давайце вернемся да трохі іншы прыклад. 554 00:25:04,000 --> 00:25:09,050 Увайшоўшы ў register-- або хутчэй, froshims1.php, 555 00:25:09,050 --> 00:25:10,470 які выглядае крыху па-іншаму. 556 00:25:10,470 --> 00:25:12,670 Я ўзяў трохі больш намаганні з фарматаваннем, 557 00:25:12,670 --> 00:25:14,370 хоць гэта ўсё яшчэ даволі пачварны. 558 00:25:14,370 --> 00:25:16,990 Але я збіраюся ісці наперад і ўвядзіце ў "Давіда" цяпер. 559 00:25:16,990 --> 00:25:17,850 Мужчынскі. 560 00:25:17,850 --> 00:25:19,360 Мы праверым "капітан" у гэты раз. 561 00:25:19,360 --> 00:25:20,660 Мы зробім Мэтьюз. 562 00:25:20,660 --> 00:25:22,430 І зарэгіструйцеся. 563 00:25:22,430 --> 00:25:24,110 >> І на гэты раз ён кажа, хм, не зусім. 564 00:25:24,110 --> 00:25:26,180 Добра, так што Зарэгіструем 1? 565 00:25:26,180 --> 00:25:30,509 Дазвольце мне ісці ў адкрытым рэестры 1 и-- гм. 566 00:25:30,509 --> 00:25:32,300 Добра, так што гэта Цікава, а гэта 567 00:25:32,300 --> 00:25:34,880 з'яўляецца прыступкай цяпер да больш цікавыя праграмы. 568 00:25:34,880 --> 00:25:38,970 >> Звярніце ўвагу на верхнюю гэтага файла ёсць PHP тэга, а таксама некаторыя каментары. 569 00:25:38,970 --> 00:25:42,590 І гэта, на дадзены момант, адцягненне так што давайце проста пазбавіцца ад гэтых каментарыяў 570 00:25:42,590 --> 00:25:47,070 гэтак жа, як яны ў С. І я сцвярджаю, з гэтай кавалак кода з каментаром 571 00:25:47,070 --> 00:25:49,280 што гэты код праверкі прадстаўлення. 572 00:25:49,280 --> 00:25:51,690 >> Ну, атрымліваецца, што зменныя, такія як знак даляра 573 00:25:51,690 --> 00:25:53,739 падкрэсліваюць пост з'яўляюцца называецца супер глабальныя. 574 00:25:53,739 --> 00:25:55,530 Яны як яны спецыяльныя глабальныя зменныя 575 00:25:55,530 --> 00:25:58,840 што толькі всенаправленной цяперашні даступныя ў вашай праграме. 576 00:25:58,840 --> 00:26:03,870 І вы можаце выкарыстоўваць квадратныя абазначэння кранштэйна ў якасці індэкса ў іх не выкарыстоўваючы лічбы 577 00:26:03,870 --> 00:26:07,460 як 0, 1, 2, 3, а рэальныя словы. 578 00:26:07,460 --> 00:26:12,100 >> Такім чынам, вы можаце думаць аб знак даляра падкрэсліваюць пост як свайго роду хэш-табліцы 579 00:26:12,100 --> 00:26:15,920 што вы маглі б прайсці ключ у, пошуку па Слова ў-ў квадратных дужках, 580 00:26:15,920 --> 00:26:19,370 і ён збіраецца даць вам назад значэнне, што карыстальнік сапраўды прадугледжана. 581 00:26:19,370 --> 00:26:21,210 PHP мае функцыю называецца пустым, што проста 582 00:26:21,210 --> 00:26:23,720 кажа так ці не, гэта пераменная пустая ці не. 583 00:26:23,720 --> 00:26:27,250 У нас ёсць гэтыя падвойныя бары, які проста азначае, ці, як у C. 584 00:26:27,250 --> 00:26:31,740 >> Такім чынам, у сутнасці, гэтая лінія 4 з'яўляецца проста кажучы, калі карыстальнік не даць імя 585 00:26:31,740 --> 00:26:36,540 ці не даць падлогу ці зрабіў не даць інтэрнат, ісці наперад і перанакіраваць яго 586 00:26:36,540 --> 00:26:38,184 ці яе дапамогай гэтай лініі тут. 587 00:26:38,184 --> 00:26:40,600 Так што гэта крыху загадкавым, але гэта проста азначае, літаральна 588 00:26:40,600 --> 00:26:43,330 вярнуцца да гэтага месца, так што пласкадонку карыстачу 589 00:26:43,330 --> 00:26:45,420 туды, адкуль ён ці яна родам. 590 00:26:45,420 --> 00:26:47,880 Але гэта крыху безгустоўны у тым, што я жорстка яго. 591 00:26:47,880 --> 00:26:52,150 >> Але што, калі гэта, калі ўмова ня ацэньвае да ісціны? 592 00:26:52,150 --> 00:26:55,790 Што рабіць, калі карыстальнік сапраўды давалі мне яго ці яе імя і інтэрнаты і падлогу? 593 00:26:55,790 --> 00:26:58,540 Гэта, калі ўмова не збіраецца ацаніць, дакладна, 594 00:26:58,540 --> 00:27:00,650 так што я не патрапіў на выезд у радку 7. 595 00:27:00,650 --> 00:27:01,680 Дык што ж адбываецца? 596 00:27:01,680 --> 00:27:03,880 І гэта тое, што Цікава аб PHP. 597 00:27:03,880 --> 00:27:07,470 >> Вы можаце зайсці ў і з рэжыму PHP, так бы мовіць. 598 00:27:07,470 --> 00:27:10,985 Калі вы хочаце якой-то код, каб выканаць, Вы можаце адкрываць і закрываць PHP тэг 599 00:27:10,985 --> 00:27:13,010 і паставіць код там, як я зрабіў тут. 600 00:27:13,010 --> 00:27:16,810 Як толькі вы зачыніце PHP тэг, сервер 601 00:27:16,810 --> 00:27:19,407 проста будзе выплёўваць што вы паклалі там. 602 00:27:19,407 --> 00:27:21,740 І на самай справе, гэта было часткай Арыгінальны дызайн PHP, 603 00:27:21,740 --> 00:27:25,280 для лепш горш, было гэта змешванне кода і разметкі 604 00:27:25,280 --> 00:27:25,920 мова. 605 00:27:25,920 --> 00:27:28,670 І мы ўбачым, што гэта вельмі хутка кладзецца ў лужыну. 606 00:27:28,670 --> 00:27:31,280 І таму мы будзем рабіць лепш, чым гэта, у канчатковым рахунку, але проста 607 00:27:31,280 --> 00:27:35,620 звярніце ўвагу на лёгкасць, з якой я знаходжуся на самай справе ў стане выканаць некаторую логіку. 608 00:27:35,620 --> 00:27:37,440 >> Але ўсё-ткі трохі ў захапленне. 609 00:27:37,440 --> 00:27:41,210 Давайце адкрыць версію два з Фрош чаты, якія 610 00:27:41,210 --> 00:27:44,270 па-відаць, уяўляе register2.php. 611 00:27:44,270 --> 00:27:47,600 Так гэты файл на самай справе адбываецца глядзець амаль тое ж самае. 612 00:27:47,600 --> 00:27:50,780 Я збіраюся пайсці ў Фрош чаты 2. 613 00:27:50,780 --> 00:27:53,050 Але ў Фрош чаты 2, давайце паглядзім, што адбудзецца. 614 00:27:53,050 --> 00:27:58,110 >> Дэвід, усталюйце перамыкач, як гэта называецца; Мэтьюз, ня капітан. 615 00:27:58,110 --> 00:27:59,230 Рэгістрацыя. 616 00:27:59,230 --> 00:28:00,130 Вы зарэгістраваныя. 617 00:28:00,130 --> 00:28:00,700 Не зусім так. 618 00:28:00,700 --> 00:28:02,574 Ой, пачакайце, мы проста зрабілі што прыклад, ці не так? 619 00:28:02,574 --> 00:28:04,520 Добра, стаяць. 620 00:28:04,520 --> 00:28:06,602 Мы зробім усё тры. 621 00:28:06,602 --> 00:28:08,560 Відавочна што-то пра адбудзецца з Gmail. 622 00:28:08,560 --> 00:28:09,600 Мы дабяромся туды. 623 00:28:09,600 --> 00:28:11,900 >> Так Фрош імгненныя 3 выглядае наступным чынам. 624 00:28:11,900 --> 00:28:13,050 Нічым не адрозніваецца. 625 00:28:13,050 --> 00:28:19,850 Але калі я раблю Дэвід, мужчына, Мэтьюз, і зарэгіструйцеся, гэты трэці і канчатковы варыянт 626 00:28:19,850 --> 00:28:22,230 прэтэнзіі, даволі проста, вам зарэгістравана сапраўды. 627 00:28:22,230 --> 00:28:23,560 Гэта свайго роду неістотныя. 628 00:28:23,560 --> 00:28:25,600 Але я сцвярджаю, з гэтым Трэці і апошні варыянт 629 00:28:25,600 --> 00:28:30,610 Я зараз адноўлены дакладна, што мой сусед па пакоі, і я пабудаваў для Фрош чаты 630 00:28:30,610 --> 00:28:31,731 Праграма гадоў таму. 631 00:28:31,731 --> 00:28:32,480 І гэта было проста. 632 00:28:32,480 --> 00:28:34,330 Там не было ніякай базы дадзеных, няма Excel табліцу. 633 00:28:34,330 --> 00:28:36,450 Але што яшчэ больш важна, няма больш паперы 634 00:28:36,450 --> 00:28:42,520 таму, што мы зрабілі з гэтай праграмай быў на самай справе па электроннай пошце Проктор, які 635 00:28:42,520 --> 00:28:44,530 быў раней атрымлівалі гэтыя рэчы праз формах. 636 00:28:44,530 --> 00:28:48,890 >> І, відаць, мы запраграмаваныя гэта ў такім чынам, што, калі хто-то рэгіструецца, 637 00:28:48,890 --> 00:28:52,470 Лісты рахункаў Джона Гарварда proctor-- або сам у гэтым выпадку, 638 00:28:52,470 --> 00:28:55,960 Джон Harvard-- наступным text-- "Гэты чалавек толькі што зарэгістраваўся." 639 00:28:55,960 --> 00:29:00,560 Імя Давід, капітан пуста; падлогу, мужчына; і інтэрнаты, Мэтьюз. 640 00:29:00,560 --> 00:29:01,560 >> Так што там адбылося? 641 00:29:01,560 --> 00:29:05,360 Ну, файл у пытанні тут па-відаць, register3.php. 642 00:29:05,360 --> 00:29:09,080 І калі я адкрываю гэта, вы ўбачыце, як сіла такога кода 643 00:29:09,080 --> 00:29:12,380 а таксама, шчыра кажучы, адсутнасць бяспекі сістэмы, як электронная пошта. 644 00:29:12,380 --> 00:29:16,290 Я толькі эфектыўна прыкінуўся быць Джон Гарвард наступным чынам. 645 00:29:16,290 --> 00:29:20,920 >> У мяне ёсць адкрыты PHP тэг верх, які проста кажа тут прыходзіць некаторы PHP код. 646 00:29:20,920 --> 00:29:23,155 Тут, унізе, аказваецца, ёсць бібліятэкі ў PHP. 647 00:29:23,155 --> 00:29:26,410 Вы проста не трэба ўключэння файлаў загалоўкаў як шмат. 648 00:29:26,410 --> 00:29:28,900 Вы атрымліваеце больш з кухонная ракавіна, так бы мовіць. 649 00:29:28,900 --> 00:29:31,820 >> Але на гэты раз у радку 4, я хачу спецыяльнай бібліятэкі пад назвай 650 00:29:31,820 --> 00:29:36,087 PHP паштар, які што-то вас можна ўсталяваць бясплатна ў многіх сістэмах. 651 00:29:36,087 --> 00:29:37,920 Тут, унізе, я праверкі прадстаўленне толькі 652 00:29:37,920 --> 00:29:40,540 шляхам праверкі было карыстачу даць мне імя, пол, і інтэрнаты. 653 00:29:40,540 --> 00:29:44,130 І калі так, ісці наперад і асобнік паштовай праграмы. 654 00:29:44,130 --> 00:29:47,020 >> Вы можаце думаць пра гэта як пра радок кода, якая проста вылучае. 655 00:29:47,020 --> 00:29:48,950 Гэта як Таноса, але гэта крыху сэксуальней 656 00:29:48,950 --> 00:29:51,790 у тым, што вы ўжо не проста Таноса і некаторыя агульныя лік. 657 00:29:51,790 --> 00:29:55,030 Вы кажаце, дайце мне адзін з іх, даць мне новую адзін з іх. 658 00:29:55,030 --> 00:29:57,950 >> І калі вы праграмавалі ў Java або C ++ або іншых мовах, 659 00:29:57,950 --> 00:29:59,130 Вы, магчыма, бачылі гэта. 660 00:29:59,130 --> 00:30:01,840 Але за выключэннем гэтага, калі незнаёмыя, гэтая лінія 661 00:30:01,840 --> 00:30:05,410 ставіць у знак даляра пошце спецыяльная структура называецца 662 00:30:05,410 --> 00:30:08,731 Аб'ект, мае убудаваную пошта функцыянальнасць. 663 00:30:08,731 --> 00:30:10,355 І на самай справе, заўважыць і падобны сінтаксіс. 664 00:30:10,355 --> 00:30:11,900 >> Гэта не з'яўляецца паказальнікам, як такія. 665 00:30:11,900 --> 00:30:13,990 PHP проста выкарыстоўвае той жа сінтаксіс. 666 00:30:13,990 --> 00:30:17,660 Гэтая лінія кажа выкарыстання SMTP-- Simple Mail Transfer 667 00:30:17,660 --> 00:30:20,900 Пратакол, які з'яўляецца проста Пратакол, які выкарыстоўваецца для адпраўкі пошты. 668 00:30:20,900 --> 00:30:24,240 Гэта паказаўшы выкарыстання SMTP-сервер Гарварда, які 669 00:30:24,240 --> 00:30:25,830 дзе-то тут, на тэрыторыі кампуса. 670 00:30:25,830 --> 00:30:28,480 >> Гэта кажа, што TCP Нумар порта, каб гаварыць, 671 00:30:28,480 --> 00:30:31,650 і я проста зразумеў, што шляхам звяртаючыся да дапамогі або звярнуцца ў службу падтрымкі. 672 00:30:31,650 --> 00:30:34,640 А потым з-за Гарвардскага выкарыстоўвае некаторыя Сістэма бяспекі на паштовай server-- 673 00:30:34,640 --> 00:30:37,060 па меншай меры, для шыфравання трафік паміж вамі і ім, 674 00:30:37,060 --> 00:30:41,380 хоць хто-то можа адправіць it-- Я збіраюся ўключыць пратакол TLS 675 00:30:41,380 --> 00:30:42,710 для падтрымання гэтага бяспечным. 676 00:30:42,710 --> 00:30:44,730 >> Але гэта дзе рэчы атрымаць крыху страшна. 677 00:30:44,730 --> 00:30:47,970 Я магу проста адвольна сказаць, што я jharvard, 678 00:30:47,970 --> 00:30:51,930 і я магу проста адвольна напішыце сабе тут. 679 00:30:51,930 --> 00:30:55,650 І тады я магу пазначыць тэма з гэтай лініі тут. 680 00:30:55,650 --> 00:30:58,460 >> І гэта толькі выглядае непрыгожа, але гэта проста куча счаплення. 681 00:30:58,460 --> 00:31:04,480 Аказваецца PHP мае супер карысны сімвал, як некаторых мовах, аператар кропка, 682 00:31:04,480 --> 00:31:07,340 якія проста літаральна аб'ядноўвае Радок пасля радка пасля радка, 683 00:31:07,340 --> 00:31:09,810 і вы не павінны Таноса або фігуры з агульнай даўжыні радка. 684 00:31:09,810 --> 00:31:10,820 Вы проста робіце гэта. 685 00:31:10,820 --> 00:31:15,220 І на самай справе, таму што я канкатэнацыі ва ўсіх гэтых рэчах з гэтых кропак, 686 00:31:15,220 --> 00:31:18,330 вось чаму ліст, які я адпраўлена паглядзеў, як гэта было. 687 00:31:18,330 --> 00:31:20,610 >> А потым, нарэшце, тут, я пасылаю пошту. 688 00:31:20,610 --> 00:31:22,580 Так што, калі гэта не так, Я проста памру, 689 00:31:22,580 --> 00:31:25,680 якая з'яўляецца функцыяй, якая проста друкуе на экране некаторыя паведамленні пра памылку. 690 00:31:25,680 --> 00:31:29,170 Але гэта, па сутнасці, выкліку функцыі адпраўкі. 691 00:31:29,170 --> 00:31:31,780 У адваротным выпадку, калі ўсё гэта не дапамагае, ён перанакіроўвае мяне сюды. 692 00:31:31,780 --> 00:31:34,050 >> І чаму я бачу, што Я зарэгістраваны на самай справе? 693 00:31:34,050 --> 00:31:36,110 Ну, гэта адбылося прама тут. 694 00:31:36,110 --> 00:31:38,170 Так я пра гэта не для некалькі прычын. 695 00:31:38,170 --> 00:31:41,542 >> Адзін з іх, гэта дакладна, як калі вы будуеце некаторыя вэб-сайт для канчатковага праекта 696 00:31:41,542 --> 00:31:44,000 або для рэальнага свету, гэта як вы пасылаеце электронную пошту напамінкі 697 00:31:44,000 --> 00:31:45,924 для Вашых кліентаў або вашых падпісчыкаў. 698 00:31:45,924 --> 00:31:47,590 Гэта, як вы адправіць нагадванні пароля. 699 00:31:47,590 --> 00:31:50,760 Гэта, як вы адправіць людзей паведамлення што ў іх ёсць новы Facebook 700 00:31:50,760 --> 00:31:52,990 Паведамленне чаканні ці нешта падобнае. 701 00:31:52,990 --> 00:31:55,010 >> Але гэта таксама кажа Справа ў тым, што гэта мог 702 00:31:55,010 --> 00:31:58,160 былі вельмі добра ад Дэвин або хто-небудзь іншы. 703 00:31:58,160 --> 00:32:00,567 І я кажу гэта выгляд з усмешкай, таму што я 704 00:32:00,567 --> 00:32:03,400 зусім упэўнены, што адбываецца праз некаторыя з вашых розумаў у гэтай кропцы. 705 00:32:03,400 --> 00:32:11,910 Але гэта адзін з тых, рабі, як я кажуць, ня як я раблю падобныя рэчы, 706 00:32:11,910 --> 00:32:14,480 таму што гэта трывіяльна падрабіць электронную пошту, як гэта. 707 00:32:14,480 --> 00:32:16,480 Але, як вы, магчыма, бачылі ці чытаць у Crimson, 708 00:32:16,480 --> 00:32:18,271 у апошні час ён таксама даволі трывіяльна для людзей 709 00:32:18,271 --> 00:32:20,050 прасачыць іх назад у нейкі паходжання. 710 00:32:20,050 --> 00:32:23,790 І прашу мяне некаторы час, магчыма, на CS50 абед, як я ўпершыню 711 00:32:23,790 --> 00:32:27,080 пазнаёміліся вельмі блізка амаль у рэд борце многіх гадоў 712 00:32:27,080 --> 00:32:30,890 таму, калі я выявіў, як інтэрнэт працаваў. 713 00:32:30,890 --> 00:32:36,940 Такім чынам, у любы case-- трохі пасля рэд дошка зрабіў. 714 00:32:36,940 --> 00:32:42,300 >> Такім чынам, у любым выпадку, існуе цэлая куча супер глабальныя, 715 00:32:42,300 --> 00:32:45,960 як яны называюцца тут, адзін з якіх мы saw-- знак даляра падкрэслення пост. 716 00:32:45,960 --> 00:32:49,530 Там у аналаг называецца Get, які з'яўляецца, дзе рэчы з URL 717 00:32:49,530 --> 00:32:50,690 заканчваецца збіраецца. 718 00:32:50,690 --> 00:32:54,051 І ёсць цэлая куча іншых, too-- сесія і сервер і печыва. 719 00:32:54,051 --> 00:32:55,800 Мы вернемся да печыва ў іншы раз, 720 00:32:55,800 --> 00:33:01,340 але сесія крута не таму, што прама now-- аж да now-- 721 00:33:01,340 --> 00:33:06,350 усё, што мы зрабілі з дапамогай вэб-браўзэра гэта свайго роду асобай без грамадзянства, калі можна так выказацца. 722 00:33:06,350 --> 00:33:10,060 Я магу націсніце вакол, доступ файлы на сэрвэры, то 723 00:33:10,060 --> 00:33:13,500 адбываецца на экране, але то злучэнне зачыняецца. 724 00:33:13,500 --> 00:33:17,450 , Internet Explorer або Firefox значок перастане круціцца 725 00:33:17,450 --> 00:33:20,340 і вы бачыце толькі тое, што што вэб-старонка ўтрымлівае. 726 00:33:20,340 --> 00:33:23,530 >> Так HTTP з'яўляецца асобай без грамадзянства ў тым, што як толькі ён ўсталёўвае злучэнне, 727 00:33:23,530 --> 00:33:25,050 атрымлівае некаторыя дадзеныя, вось і ўсё. 728 00:33:25,050 --> 00:33:29,940 Няма больш сувязь, у адрозненне ад Skype, у адрозненне ад Facetime, у адрозненне ад Gchat, якія 729 00:33:29,940 --> 00:33:32,180 падтрымлівае пастаянны Падключэнне да сервера. 730 00:33:32,180 --> 00:33:34,650 Вэб прынцыпова адключаны, хоць мы 731 00:33:34,650 --> 00:33:36,630 см да тых часоў, як мы можам мадэляваць рэчы 732 00:33:36,630 --> 00:33:39,300 як Facebook чат і Gchat, якія падтрымліваюць illusion-- 733 00:33:39,300 --> 00:33:41,680 ці на самай справе падтрымання пастаяннае злучэнне з дапамогай 734 00:33:41,680 --> 00:33:43,270 больш сучасныя тэхналогіі. 735 00:33:43,270 --> 00:33:49,000 >> Але калі я іду ў, скажам, counter.php, гэта яшчэ адзін просты прыклад, 736 00:33:49,000 --> 00:33:52,700 як мы ўбачым, што ў цяперашні час лічыць, Я наведаў сайт нулявы час. 737 00:33:52,700 --> 00:33:56,790 Але калі я проста перазагрузіце старонку, гэта як-то ведае, што я быў тут раней. 738 00:33:56,790 --> 00:33:58,840 Калі я перазагрузіць зноў, яго ведае, што я быў тут раней. 739 00:33:58,840 --> 00:34:01,100 І зноў і зноў, і зноў, і зноў. 740 00:34:01,100 --> 00:34:03,610 >> Такім чынам, ёсць некаторыя плюс-plussing адбываецца, але апавяшчэнне 741 00:34:03,610 --> 00:34:07,090 дробязь круціцца вельмі кароткачасова да верхняй, а затым адключае, 742 00:34:07,090 --> 00:34:11,179 так што гэта не так, як я ёсць пастаянная Падключэнне да майго прыбора. 743 00:34:11,179 --> 00:34:16,929 Ну, калі я іду ў counter.php, звярніце ўвагу, як гэта проста. 744 00:34:16,929 --> 00:34:19,080 Я спачатку выклікаць гэты спецыяльны функцыя, якую мы будзем у бліжэйшы час 745 00:34:19,080 --> 00:34:21,513 пачаць прымаць як належнае называецца пачатку сеансу. 746 00:34:21,513 --> 00:34:22,179 Пачніце сеанс. 747 00:34:22,179 --> 00:34:25,095 >> І сесія з гэтага часу гэта проста будзе вядро, як рабіць пакупкі 748 00:34:25,095 --> 00:34:28,120 Кошык, у якой вы можаце змясціць значэння і выгляд давяраць ў якасці праграміста 749 00:34:28,120 --> 00:34:31,590 што яны збіраюцца тут, калі што карыстальнік прыходзіць back-- другі 750 00:34:31,590 --> 00:34:35,670 пазней, праз гадзіну, нават праз год, пакуль ён або яна не ясна 751 00:34:35,670 --> 00:34:37,602 іх печыва, як мы ў рэшце рэшт паглядзець. 752 00:34:37,602 --> 00:34:39,310 А цяпер я проста калі ўмова тут. 753 00:34:39,310 --> 00:34:44,679 Так што, калі ў наступным раздзеле, называецца лічыльнік, усталёўваецца ўсярэдзіне 754 00:34:44,679 --> 00:34:49,210 гэтага супер global-- гэты хэш стол, калі вы will-- званы сеанс, 755 00:34:49,210 --> 00:34:53,350 затым ісці наперад і захапіць Значэнне з session-- думаюць 756 00:34:53,350 --> 00:34:55,250 гэта як-крамы cart-- і захаваць яго 757 00:34:55,250 --> 00:34:57,680 ў часовай зменнай называецца лічыльнік. 758 00:34:57,680 --> 00:35:02,240 >> У адваротным выпадку, калі, што значэнне лічыльніка было не ўстаноўлены ў так званай кошыку, 759 00:35:02,240 --> 00:35:04,430 проста ініцыялізаваць яго ў 0. 760 00:35:04,430 --> 00:35:09,830 Нарэшце, тут, ісці і пакласці назад у калясках або сесіі 761 00:35:09,830 --> 00:35:13,000 значэнне лічыльніка 1. 762 00:35:13,000 --> 00:35:16,730 Вось і атрымліваецца, што гэта спецыяльны кантэйнер here-- 763 00:35:16,730 --> 00:35:20,355 які, зноў жа, з'яўляецца адным з іх звязаны масівы, масіў, які можна індэксаваць 764 00:35:20,355 --> 00:35:25,010 у словах, а не numbers-- захоўваецца нават пасля таго, як карыстальнік сыходзіць. 765 00:35:25,010 --> 00:35:26,510 Зноў жа, я вярнуся на старонку цяпер. 766 00:35:26,510 --> 00:35:28,400 Гэта быў хвіліну ці каля таго. 767 00:35:28,400 --> 00:35:31,300 Але ён памятае, што ў мяне ёсць быў тут 19 разоў. 768 00:35:31,300 --> 00:35:32,740 Гэта мой 20-й візіт. 769 00:35:32,740 --> 00:35:36,560 >> І так гэта будзе ключом да рэалізацыі любога вэб-сайта, што памятае 770 00:35:36,560 --> 00:35:40,640 што вы ўвайшлі ў сістэму, што вы паклалі што-то літаральнае у кошыку 771 00:35:40,640 --> 00:35:43,902 купіць ці што ў вас ёсць некаторыя Колькасць паведамленняў у чаканні. 772 00:35:43,902 --> 00:35:45,610 У любы час вы хочаце запамінаць інфармацыю, 773 00:35:45,610 --> 00:35:48,130 мы ўбачым, што PHP, як некалькі іншых моў, 774 00:35:48,130 --> 00:35:53,640 дае нам гэтай ілюзіі стане хоць, як вы ўбачыце ў PSET 6, 775 00:35:53,640 --> 00:35:57,642 як вы робіце HTTP запыты ад кліента да сервера, вось і ўсё. 776 00:35:57,642 --> 00:35:59,850 Як толькі вы атрымаеце назад, што адказ, што няма нічога больш 777 00:35:59,850 --> 00:36:01,790 вяртаючыся з сервера па змаўчанні. 778 00:36:01,790 --> 00:36:03,820 Але мы ўбачым, як абыйсці гэта. 779 00:36:03,820 --> 00:36:07,430 >> Ну, давайце паспрабуем ачысціць гэта няшмат. 780 00:36:07,430 --> 00:36:09,470 Мы бачылі некалькі розныя прыклады там. 781 00:36:09,470 --> 00:36:12,250 Так, і, як у бок, для тых, хто знаёмы або незнаёмы, 782 00:36:12,250 --> 00:36:14,230 Прычына таго, што Прыклад Фрош чаты пайшоў 783 00:36:14,230 --> 00:36:18,060 ад пошуку сапраўды непрыгожа slightly-- добра, 784 00:36:18,060 --> 00:36:23,160 яшчэ ugly-- трохі менш выродлівым, хоць па-ранейшаму пачварна 785 00:36:23,160 --> 00:36:25,230 таму што калі мы паглядзім на зыходны код тут, 786 00:36:25,230 --> 00:36:28,240 атрымліваецца, што ў мяне ёсць гэта у самым пачатку файла. 787 00:36:28,240 --> 00:36:32,570 >> Аказваецца, што загрузнік з'яўляецца адным з многіх свабодна даступныя бібліятэкі там 788 00:36:32,570 --> 00:36:37,140 што існуюць не для моў праграмавання заўсёды, але для CSS ці JavaScript 789 00:36:37,140 --> 00:36:39,190 або HTML або любую колькасць моў. 790 00:36:39,190 --> 00:36:42,160 >> І гэтыя людзі here-- першапачаткова выйшаў 791 00:36:42,160 --> 00:36:44,730 з Twitter-- проста цэлая куча стыляў. 792 00:36:44,730 --> 00:36:47,360 Гэта вялікі файл тут, што нехта напісаў, 793 00:36:47,360 --> 00:36:51,020 або ў каго-то пісаў, што з цягам часу вызначае колеру і фарматаванне 794 00:36:51,020 --> 00:36:53,740 і яшчэ шмат чаго, так што я магу выгляд пазычаць іх сінтаксіс 795 00:36:53,740 --> 00:36:56,157 і не павінны высветліць, як выкласці сваю форму. 796 00:36:56,157 --> 00:36:57,990 Гэта таксама мінімізаваныя так што кампутар можа 797 00:36:57,990 --> 00:37:00,560 зразумець яго, але не абавязкова чалавек. 798 00:37:00,560 --> 00:37:03,050 Дык вось, чаму стылізацыя там змянілася. 799 00:37:03,050 --> 00:37:05,450 >> Але давайце цяпер рабіць лепш з пункту гледжання дызайну, 800 00:37:05,450 --> 00:37:07,490 таму што калі мы застанемся ўніз гэтая дарога занадта доўга, 801 00:37:07,490 --> 00:37:11,290 наш код збіраецца заблытацца і брудней. 802 00:37:11,290 --> 00:37:13,040 Так давайце засяродзімся на гэтых прыкладах тут. 803 00:37:13,040 --> 00:37:15,090 Апошні на сённяшні дзень. 804 00:37:15,090 --> 00:37:18,720 >> Дык вось гэта супер проста Версія 1.0 сайце CS50 ст. 805 00:37:18,720 --> 00:37:21,250 Яна мае толькі спасылкі на лекцыі і план, 806 00:37:21,250 --> 00:37:25,490 і ён выкарыстоўвае гэта неўпарадкаваных спіс tag-- тэг UL, які мы выкарыстоўвалі ў мінулы раз. 807 00:37:25,490 --> 00:37:28,800 І калі на самай справе, калі я адкрыць View Page Source, 808 00:37:28,800 --> 00:37:31,710 Вы ўбачыце, што гэта сапраўды, вельмі просты HTML. 809 00:37:31,710 --> 00:37:35,460 І на самай справе, нават пры тым, што гэта PHP-файл пад капотам, 810 00:37:35,460 --> 00:37:38,620 яна па-ранейшаму проста плявок толькі HTML для цяпер. 811 00:37:38,620 --> 00:37:41,312 >> Так што, калі я націскаю на лекцыях, мы бачым, гэта адбылося. 812 00:37:41,312 --> 00:37:43,020 І калі я націскаю на тыдзень нуля, мы бачым гэта. 813 00:37:43,020 --> 00:37:44,920 І калі я націскаю на Серада, мы бачым гэта. 814 00:37:44,920 --> 00:37:47,900 І гэта, відаць быў PDF з слайдаў з таго дня. 815 00:37:47,900 --> 00:37:52,020 Усё, што я зрабіў гэта спасылка з якар тэг да гэтага URL тут. 816 00:37:52,020 --> 00:37:55,400 >> Так што гэта толькі сказаць, што гэта даволі Простая версія сайта CS50 ст. 817 00:37:55,400 --> 00:37:56,790 Давайце паглядзім, як ён рэалізаваны. 818 00:37:56,790 --> 00:38:01,240 Калі я іду ў каталог mvc0, мы ўбачым некалькі файлаў. 819 00:38:01,240 --> 00:38:03,250 Адным з іх з'яўляецца README, так што калі некаторыя гэта занадта хутка, 820 00:38:03,250 --> 00:38:05,166 Вы можаце проста ткнуць вакол больш спакойныя пазней. 821 00:38:05,166 --> 00:38:07,930 І звярніце ўвагу на вось файл index.php. 822 00:38:07,930 --> 00:38:09,960 Атрымліваецца, што калі Вы самі, чалавек, 823 00:38:09,960 --> 00:38:14,460 не паказаць канчатковае назву ў URL, вэб-сервер, як правіла, 824 00:38:14,460 --> 00:38:17,010 выводзіць некаторую імя па змаўчанні для вас. 825 00:38:17,010 --> 00:38:20,060 Індэкс кропка што-то як правіла, па змаўчанні. 826 00:38:20,060 --> 00:38:23,010 >> Дык вось чаму хвіліну таму калі я наведаў гэты URL тут, 827 00:38:23,010 --> 00:38:26,750 не імя файла, файл ня пашырэнне, кропка ў URL. 828 00:38:26,750 --> 00:38:29,710 Гэта проста ведаў, нейкім чароўным шукаць index.php. 829 00:38:29,710 --> 00:38:30,870 Гэта ўсяго толькі ўмоўнасць. 830 00:38:30,870 --> 00:38:32,360 Можна было б назваць што-небудзь. 831 00:38:32,360 --> 00:38:35,110 >> Так што, калі я цяпер удавацца ў index.php, вы ўбачыце 832 00:38:35,110 --> 00:38:37,100 што, indeed-- давайце пазбавіцца ад каментарах 833 00:38:37,100 --> 00:38:39,500 тут, таму што ёсць на самой справе нічога цікавага не it-- 834 00:38:39,500 --> 00:38:41,579 гэта проста жорстка HTML. 835 00:38:41,579 --> 00:38:43,370 Дык вось паслядоўным, хоць, з маёй прэтэнзіі 836 00:38:43,370 --> 00:38:45,230 што вы можаце змешваць HTML і PHP. 837 00:38:45,230 --> 00:38:48,060 Там няма фактычнага логіку праграмавання тут. 838 00:38:48,060 --> 00:38:51,030 >> І астатнія файлы даволі шмат як нецікава. 839 00:38:51,030 --> 00:38:56,240 Гэта проста жорстка тыдні адзін тут, каб тыдзень адзін м і тыдня адзін ж, 840 00:38:56,240 --> 00:38:57,510 на панядзелак і сераду. 841 00:38:57,510 --> 00:39:01,890 І потым, калі я адкрываю нулявы тыдні заўважыце, што ён амаль ідэнтычны. 842 00:39:01,890 --> 00:39:03,320 >> І гэта свайго роду ключавой вынас. 843 00:39:03,320 --> 00:39:06,180 Звярніце ўвагу, наколькі залішняй гэта. 844 00:39:06,180 --> 00:39:10,710 Гэтыя файлы амаль не зменіць, і ўсё ж я выцягнуў адну з гэтых копій / працоўных месцаў пасты 845 00:39:10,710 --> 00:39:13,420 дзе я ўзяў адзін file-- меркавана у тыдзень zero-- скапіявалі іх 846 00:39:13,420 --> 00:39:16,320 калі тыдзень адзін прыйшоў, і адладжаны некалькі значэнняў. 847 00:39:16,320 --> 00:39:18,590 Мы павінны, верагодна, быць у стане зрабіць лепш, чым гэта. 848 00:39:18,590 --> 00:39:21,800 >> Так што давайце вернемся да MVC і ісці ў версіі аднаго. 849 00:39:21,800 --> 00:39:24,810 І звярніце ўвагу, у мяне ёсць некалькі файлаў, таму што 850 00:39:24,810 --> 00:39:29,870 быў агульным для ўсіх гэтых файлаў толькі Момант ago-- калі я вярнуся ў версіі 0, 851 00:39:29,870 --> 00:39:32,600 давайце вернемся ў індэксе, і проста postulate-- 852 00:39:32,600 --> 00:39:36,090 як толькі я пазбавіцца ад comments-- якая частка гэтай старонцы 853 00:39:36,090 --> 00:39:40,072 Як мяркуецца, у кожным з маіх файлаў? 854 00:39:40,072 --> 00:39:40,780 Проста патэлефануеце яго. 855 00:39:40,780 --> 00:39:44,620 Якія радкі дублююцца верагодна, ва ўсіх гэтых старонак? 856 00:39:44,620 --> 00:39:45,120 Так? 857 00:39:45,120 --> 00:39:46,110 >> СТУДЕНТ: [неразборліва]. 858 00:39:46,110 --> 00:39:47,660 >> Дэвід Дж Малання: з 1 па 9. 859 00:39:47,660 --> 00:39:48,720 Так, абсалютна. 860 00:39:48,720 --> 00:39:52,080 Ад 1 да 9, за выключэннем, магчыма 8 трохі змяняецца, таму што CS50 861 00:39:52,080 --> 00:39:54,650 становіцца лекцыі ці нулявы тыдзень ці нешта. 862 00:39:54,650 --> 00:39:55,970 Але практычна ідэнтычныя. 863 00:39:55,970 --> 00:39:58,657 Так што ўсе гэтыя рэчы проста выгляд скапіяваны і ўстаўлены. 864 00:39:58,657 --> 00:40:00,490 І ёсць пара іншыя лініі я магу думаць 865 00:40:00,490 --> 00:40:05,000 таго, што, верагодна, ідэнтычныя па ўсіх файлаў. 866 00:40:05,000 --> 00:40:06,315 >> СТУДЕНТ: 12 і 13. 867 00:40:06,315 --> 00:40:07,190 Дэвід Дж Малання: Так. 868 00:40:07,190 --> 00:40:11,220 Вядома, 12, 13, і 14, верагодна, толькі таму, што ў цікавым матэрыяле 869 00:40:11,220 --> 00:40:15,460 што адбываецца на лініі 11 і 10, такім чынам, здавалася б. 870 00:40:15,460 --> 00:40:18,350 Такім чынам, давайце зірнем на версіі 1, якая спрабуе змяніць да лепшага гэта. 871 00:40:18,350 --> 00:40:24,020 У версіі 1 гэтага MVC example-- мы будзем растлумачыць, што MVC сродкі ў moment-- 872 00:40:24,020 --> 00:40:27,420 калі я іду ў індэксе, гэта збольшага выглядае цяпер крыху заблытаным. 873 00:40:27,420 --> 00:40:28,880 Гэта не так проста, як раней. 874 00:40:28,880 --> 00:40:30,906 >> Але як толькі вы пачынаеце Уважліва прачытайце яго, гэта 875 00:40:30,906 --> 00:40:32,530 даволі проста, што ён робіць. 876 00:40:32,530 --> 00:40:34,397 Мабыць лініі 1 і лінія 8 замянілі 877 00:40:34,397 --> 00:40:37,230 усе рэчы вы проста identified-- хоць проста для добрай мерай, 878 00:40:37,230 --> 00:40:41,900 Я пакінуў ULS ёсць на ўсялякі выпадак якой- дзён ня ёсць спіс рэчаў. 879 00:40:41,900 --> 00:40:47,860 І так трэба, гэта накшталт як фунт ўключаюць у С. копій і паст 880 00:40:47,860 --> 00:40:50,470 змесціва эфектыўна прама тут у гэтым файле. 881 00:40:50,470 --> 00:40:53,650 >> Такім чынам, у header.php, як вы можа вывесці з яго назвы, 882 00:40:53,650 --> 00:40:55,330 будзе загаловак старонкі. 883 00:40:55,330 --> 00:40:57,110 Гэта свайго роду сіротамі тут. 884 00:40:57,110 --> 00:41:01,820 Яна мае толькі верхнюю да яго, але няма больш зместу ніжэй. 885 00:41:01,820 --> 00:41:05,070 >> І калі я гляджу на калантытула тым, які быў іншы файл mentioned-- 886 00:41:05,070 --> 00:41:08,830 гэта адзін нават менш цікава, але зноў жа, гэта агульныя для ўсяго. 887 00:41:08,830 --> 00:41:10,250 Так што гэта склеп. 888 00:41:10,250 --> 00:41:11,300 Гэта загаловак. 889 00:41:11,300 --> 00:41:13,950 Гэта файл, гэта змены, дык чаму б не 890 00:41:13,950 --> 00:41:18,140 паспрабаваць вынесці за агульнасць з гэтымі двума лініямі тут? 891 00:41:18,140 --> 00:41:20,090 >> Але мы можам ачысціць гэты да крыху далей. 892 00:41:20,090 --> 00:41:23,260 Я збіраюся ісці наперад і адкрыць версію два, дзе 893 00:41:23,260 --> 00:41:27,106 мы ўбачым, што ёсць Новы файл, helpers.php. 894 00:41:27,106 --> 00:41:28,610 Мы ўбачым, што гэта ў адзін момант. 895 00:41:28,610 --> 00:41:30,930 Пойдзем у індэксе, як кропка ўваходу, як і раней. 896 00:41:30,930 --> 00:41:35,230 >> А цяпер звярніце ўвагу, што я патрабуюць helpers.php, ня верхні ці ніжні калантытул. 897 00:41:35,230 --> 00:41:41,720 Але памочнікі накшталт як helpers.c і helpers.h ад PSET 2 898 00:41:41,720 --> 00:41:46,150 або PSET 3 даўно, калі вы на самой справе нічога шукаць і знаходзіць для гэтага PSET, 899 00:41:46,150 --> 00:41:50,950 і трэба было ўвесь код для сартавання і пошук у асобным файле. 900 00:41:50,950 --> 00:41:52,510 Гэта тое, што адбываецца тут. 901 00:41:52,510 --> 00:41:54,390 >> А цяпер радок 3 выглядае крыху па-іншаму. 902 00:41:54,390 --> 00:41:55,920 І гэта толькі адна лінія. 903 00:41:55,920 --> 00:41:57,950 Каб зрабіць гэта яшчэ больш ясна, я мог бы проста 904 00:41:57,950 --> 00:42:01,820 робяць гэта, каб быць стылістычна адпавядае з усім астатнім, што мы зрабілі. 905 00:42:01,820 --> 00:42:04,130 Але гэта не зусім змены функцыянальнасці. 906 00:42:04,130 --> 00:42:05,880 Гэта проста адна лінія рэальнага кода. 907 00:42:05,880 --> 00:42:09,010 >> Па-відаць, маецца функцыя дзе-то называецца аказаць загаловак, 908 00:42:09,010 --> 00:42:11,420 і гэта тое, дзе рэчы атрымаць даволі магутны. 909 00:42:11,420 --> 00:42:17,040 Звярніце ўвагу, што ўнутры яго дужак гэта тое, што іншая частка сінтаксісу? 910 00:42:17,040 --> 00:42:19,780 911 00:42:19,780 --> 00:42:23,350 Гэта, напэўна, трохі цяжка сказаць, але заўважыць there's-- я пакладу некаторыя белыя 912 00:42:23,350 --> 00:42:24,300 прастору. 913 00:42:24,300 --> 00:42:25,530 Там у квадратныя дужкі. 914 00:42:25,530 --> 00:42:29,700 >> І квадратныя дужкі мы ўбачылі трохі назад у кантэксце асацыятыўных масіваў, 915 00:42:29,700 --> 00:42:31,580 якія, зноў жа, як хэш-табліцы. 916 00:42:31,580 --> 00:42:36,230 І калі вы думаеце, цяпер у С, Парадак аргументаў на функцыю 917 00:42:36,230 --> 00:42:37,570 павінен заўсёды быць тым жа самым. 918 00:42:37,570 --> 00:42:41,146 Вы павінны памятаць, што ў замовіць is-- X, Y, Z або Z, Y, x-- 919 00:42:41,146 --> 00:42:44,020 і вы павінны заўсёды забяспечваць іх у тым жа парадку, або шукаць іх 920 00:42:44,020 --> 00:42:45,100 калі вы забыліся. 921 00:42:45,100 --> 00:42:51,140 >> Але гэта, здаецца, разумны спосаб праходжання адвольны ключавое значэнне 922 00:42:51,140 --> 00:42:55,840 пары якой назву назву аргументу ў гэтым выпадку 923 00:42:55,840 --> 00:42:58,334 і CS50 з'яўляецца яго кошт. 924 00:42:58,334 --> 00:43:00,250 А тое, што ў мяне ёсць гэтыя квадратныя дужкі 925 00:43:00,250 --> 00:43:02,560 тут азначае, што я мог Таксама праходзяць у чым-то 926 00:43:02,560 --> 00:43:07,550 як у тыдзень 1 або 0, або 2, ці 3. 927 00:43:07,550 --> 00:43:10,550 Такім чынам, мы параметрироваться гэтая функцыя такім чынам, 928 00:43:10,550 --> 00:43:15,180 што гэта можа заняць некалькі ўваходаў, але цяпер гэта проста адзін. 929 00:43:15,180 --> 00:43:20,060 >> Калі я цяпер удавацца ў helpers.php, заўважыць, што ён робіць. 930 00:43:20,060 --> 00:43:22,030 Гэта крыху новай функцыянальнасці, 931 00:43:22,030 --> 00:43:24,190 а цяпер проста ўзяць на веру, што гэта 932 00:43:24,190 --> 00:43:26,570 сінтаксіс, з якой вы вызначыць функцыю ў PHP. 933 00:43:26,570 --> 00:43:27,840 Вы ў літаральным сэнсе кажуць функцыю. 934 00:43:27,840 --> 00:43:30,090 Вам не трэба паказваць вяртанне увядзіце, і гэта адпавядае 935 00:43:30,090 --> 00:43:33,880 з зменнай дэталь раней дзе вы на самой справе не моцна увядзіце. 936 00:43:33,880 --> 00:43:35,650 >> Гэта проста паказвае што, па змаўчанні, гэта 937 00:43:35,650 --> 00:43:37,460 прымае асацыятыўны Масіў у якасці аргументу. 938 00:43:37,460 --> 00:43:38,210 І ведаеце што? 939 00:43:38,210 --> 00:43:41,450 Калі карыстальнік не праходзіць адзін у, выкажам здагадку, значэнне па змаўчанні. 940 00:43:41,450 --> 00:43:44,680 >> Гэта функцыя, якая C не мае для нас, што прыемна, таму што цяпер 941 00:43:44,680 --> 00:43:46,430 Дадзеныя, нават калі вас не даць яму што-небудзь, 942 00:43:46,430 --> 00:43:49,300 будзе Масіў але пустая адзін. 943 00:43:49,300 --> 00:43:51,860 І як у бок, экстракта проста робіць нешта ў стылі фанк 944 00:43:51,860 --> 00:43:56,380 дзе ён прымае ўсе ключы ад гэтай асацыятыўны масіў, усе рэчы, 945 00:43:56,380 --> 00:43:59,950 вы маглі б паставіць у квадратныя дужкі, і стварае зменныя з іх 946 00:43:59,950 --> 00:44:06,270 так што мы ў канчатковым выніку можа мець доступ да іх у footet.php і header.php. 947 00:44:06,270 --> 00:44:08,950 Гэта крыху абстрактны, Такім чынам, дазвольце мне паказаць на гэта. 948 00:44:08,950 --> 00:44:12,990 >> У index.php, заўважылі, што я праходзячы ў ключавой пары значэнняў загалоўка 949 00:44:12,990 --> 00:44:14,850 са значэннем CS50. 950 00:44:14,850 --> 00:44:18,660 Калі я цяпер гляджу на helpers.php, адзначыць, што RenderHeader 951 00:44:18,660 --> 00:44:23,870 здабывае гэтыя дадзеныя, якія я перадаю у, а затым патрабуючы header.php. 952 00:44:23,870 --> 00:44:27,970 Тое, што я зрабіў, гэта свайго роду бедняка Рэалізацыя цяпер у наступным. 953 00:44:27,970 --> 00:44:31,720 >> Калі я адкрываю header.php, Заўважце, што я не маю больш не цяжка 954 00:44:31,720 --> 00:44:34,890 кадуецца слова CS50 ў гэтым файле загалоўка. 955 00:44:34,890 --> 00:44:39,310 Я паклаў гэта праўда жудасна імя функцыі, HTML спецыяльныя сімвалы, 956 00:44:39,310 --> 00:44:40,170 ў там. 957 00:44:40,170 --> 00:44:41,640 Але звярніце ўвагу, што я зрабіў. 958 00:44:41,640 --> 00:44:44,240 У мяне адкрыты HTML. 959 00:44:44,240 --> 00:44:47,420 Я тады адкрытае галаву і адкрыты тытул. 960 00:44:47,420 --> 00:44:52,380 >> І тады ўнутры загалоўка адкрытай і і закрыцця, у мяне ёсць трохі PHP кода. 961 00:44:52,380 --> 00:44:56,670 І гэта добра, але сінтаксісу, які проста азначае, рэха з. 962 00:44:56,670 --> 00:44:59,840 Гэта літаральна азначае this-- рэха following-- 963 00:44:59,840 --> 00:45:01,910 але гэта сэксуальней пісаць. 964 00:45:01,910 --> 00:45:05,000 Рэха з тытул які быў прыняты ў. 965 00:45:05,000 --> 00:45:07,560 >> Але што вы думаеце HTML спецыяльны сімвал гэта ўсё о, 966 00:45:07,560 --> 00:45:10,590 асабліва калі ў вас ёсць некаторыя да HTML вопыт? 967 00:45:10,590 --> 00:45:14,050 Якія сімвалы могуць быць небяспечна прайсці ў да старонцы 968 00:45:14,050 --> 00:45:17,980 дзе вы дынамічнай генерацыі Вэб-старонка з кодам, як гэта? 969 00:45:17,980 --> 00:45:21,370 970 00:45:21,370 --> 00:45:24,650 Пусці мяне да гэтага файлу, версія два, і паглядзець, калі я не магу выклікаць гэта. 971 00:45:24,650 --> 00:45:26,210 >> Версія другая гэта. 972 00:45:26,210 --> 00:45:28,510 І заўважце, усё гэта добра, працуе добра. 973 00:45:28,510 --> 00:45:35,280 Але выкажам здагадку, што я іду ў index.php і Я ўдакладніў, што назва маёй старонцы 974 00:45:35,280 --> 00:45:36,630 ня CS50. 975 00:45:36,630 --> 00:45:44,930 Ён адкрыты кранштэйны абвесткі сцэнар прывітанне свет, блізка адзінарныя двукоссі, 976 00:45:44,930 --> 00:45:49,740 блізка дужка, кропка з коскі, адкрытая дужка, слэш сцэнар. 977 00:45:49,740 --> 00:45:51,897 >> Сцэнар, як мы будзем ў рэшце рэшт убачыць, з'яўляецца тэг 978 00:45:51,897 --> 00:45:54,480 што вы можаце выкарыстоўваць, каб выкарыстоўваць іншага Мова праграмавання называецца 979 00:45:54,480 --> 00:45:56,330 JavaScript ўнутры вэб-старонкі. 980 00:45:56,330 --> 00:45:57,960 А цяпер звярніце ўвагу на логіку тут. 981 00:45:57,960 --> 00:45:59,840 Вось ключ называецца тытул. 982 00:45:59,840 --> 00:46:02,690 Вось гэта вар'яты доўгае значэнне цяпер. 983 00:46:02,690 --> 00:46:07,840 >> Але калі я іду ў памочнікі страница- ці, хутчэй, на старонцы загаловак, 984 00:46:07,840 --> 00:46:11,310 Я тэлефаную гэтай функцыі на гэты тытул першай. 985 00:46:11,310 --> 00:46:15,250 Так што, калі я цяпер перазагрузіць гэтую старонку, я пераканацца ў гэтым, які выглядае смешна, 986 00:46:15,250 --> 00:46:16,110 але гэта бяспечна. 987 00:46:16,110 --> 00:46:17,310 Гэта проста выглядае недарэчна. 988 00:46:17,310 --> 00:46:20,320 >> Але выкажам здагадку, што замест Я забыўся гэта. 989 00:46:20,320 --> 00:46:24,660 І запомніце мае словы, выдатнае ад нуля лік з забудзешся гэта зрабіць 990 00:46:24,660 --> 00:46:27,790 і вы атрымаеце некаторы працавітыя студэнт або іншым прыдумляць 991 00:46:27,790 --> 00:46:31,540 Вам на CS50 кірмашы або ананімна ноччу калупацца на сваім сайце 992 00:46:31,540 --> 00:46:35,300 і, па сутнасці ўкаранення кода без ведама да вас на вашым сайце 993 00:46:35,300 --> 00:46:35,800 як-то. 994 00:46:35,800 --> 00:46:39,000 >> Таму што, калі я проста пляваць з назвы тут і назвы 995 00:46:39,000 --> 00:46:44,330 there-- добра, калі назва літаральна Падобна на тое, гэта і PHP 996 00:46:44,330 --> 00:46:47,660 як мова, які можа пляваць з іншага тэксту моў, 997 00:46:47,660 --> 00:46:50,650 гэта літаральна збіраецца замяніць гэты тэг з, 998 00:46:50,650 --> 00:46:53,010 Вядома, тое, што я паклаў у іншым месцы. 999 00:46:53,010 --> 00:46:57,640 >> Так што, калі я зараз ідуць сюды і перазагрузіце пасля адмяняючы тыя механізмы бяспекі, 1000 00:46:57,640 --> 00:46:59,982 Цяпер у мяне ёсць прывітанне свет тут. 1001 00:46:59,982 --> 00:47:02,690 Зараз гэта яшчэ не ўсё, што вялікі з справа, але вы маглі б зрабіць што-то 1002 00:47:02,690 --> 00:47:05,119 трохі злей тут, як ёсць 1003 00:47:05,119 --> 00:47:08,410 іншы tags-- як мы ўбачым, як толькі мы трацім Чым больш часу ў JavaScript-- як месцы 1004 00:47:08,410 --> 00:47:14,910 кропка HREF атрымлівае, цытата, канец цытаты, HTTP business.com, але процілегла, што 1005 00:47:14,910 --> 00:47:15,950 з другога дзень. 1006 00:47:15,950 --> 00:47:20,120 І цяпер вы можаце выклікаць павуціну старонка на самай справе ісці адразу 1007 00:47:20,120 --> 00:47:21,190 на гэтай вэб-старонцы тут. 1008 00:47:21,190 --> 00:47:23,000 >> І на самай справе, я не хачу нават пайсці на business.com 1009 00:47:23,000 --> 00:47:24,749 таму што я не хачу, ведаць, што гэта такое. 1010 00:47:24,749 --> 00:47:28,710 Але гэта таксама выкліча код які будзе ўведзены ў дадзенай старонцы. 1011 00:47:28,710 --> 00:47:32,680 Так што гэта толькі сказаць, што нават пры тым, што мы ўяўляем супер рана на некаторых 1012 00:47:32,680 --> 00:47:36,800 з гэтых больш складаных структур, гэта ўсё да канца пераканаўшыся 1013 00:47:36,800 --> 00:47:39,320 што ваш код не скарыстацца. 1014 00:47:39,320 --> 00:47:40,960 >> Так што цяпер трэцяя версія тут. 1015 00:47:40,960 --> 00:47:42,470 Гэта становіцца трохі больш незвычайным. 1016 00:47:42,470 --> 00:47:44,875 Я сапраўды не like-- анальны бок мяне 1017 00:47:44,875 --> 00:47:47,750 станавілася крыху раздражняе Справа ў тым, што я функцыя называецца 1018 00:47:47,750 --> 00:47:51,940 RenderHeader і RenderFooter што былі амаль ідэнтычныя. 1019 00:47:51,940 --> 00:47:55,400 Так што мне прыйшло ў галаву, чаму не Я параметрызацыі гэтых функцый 1020 00:47:55,400 --> 00:47:59,180 у толькі адным званай аказаць, ўжо займае другі аргумент 1021 00:47:59,180 --> 00:48:04,420 як імя матрыцы, канчатковы у render-- альбо калантытула? 1022 00:48:04,420 --> 00:48:07,160 І тады, магчыма, калі я хачу прайсці ў некаторых пар ключ-значэнне 1023 00:48:07,160 --> 00:48:10,580 як я магу зрабіць для назвы для загаловак, але не для ніжняга калантытула, 1024 00:48:10,580 --> 00:48:11,800 Я мог бы зрабіць гэта. 1025 00:48:11,800 --> 00:48:16,510 >> І вось цяпер, калі я іду ў helpers.php, гэта крыху больш складана. 1026 00:48:16,510 --> 00:48:19,670 І я буду махаць рукамі на Дэталі, але гэта ўсяго толькі адна функцыя. 1027 00:48:19,670 --> 00:48:21,890 Так што гэта крок да лепшага дызайну. 1028 00:48:21,890 --> 00:48:23,360 >> Мы можам зрабіць яшчэ адзін крок наперад. 1029 00:48:23,360 --> 00:48:28,890 Калі я іду ў мой чацвёрты версія гэтага, звярніце ўвагу зараз 1030 00:48:28,890 --> 00:48:31,320 што я раблю нешта яшчэ выгляд загадкавы. 1031 00:48:31,320 --> 00:48:33,230 І я ведаю, што гэта шмат, каб паглынуць адразу, 1032 00:48:33,230 --> 00:48:35,080 але мы толькі збольшага ачысткі рэчы. 1033 00:48:35,080 --> 00:48:38,550 Цяпер я стаўлю мае памочнікі файл у тэчку пад назвай 1034 00:48:38,550 --> 00:48:41,190 includes-- проста адвольнае назваць, дзе я хачу, каб пакласці рэчы 1035 00:48:41,190 --> 00:48:44,300 што я хачу, каб ўключаць: а затым Астатнія гэта тое ж самае. 1036 00:48:44,300 --> 00:48:47,140 >> Але калі я гляджу цяпер у Gedit, Звярніце ўвагу, што я пазбавіўся 1037 00:48:47,140 --> 00:48:51,940 з усіх гэтых іншых файлаў і ў мяне ёсць пераехаў іх, напрыклад, у тут. 1038 00:48:51,940 --> 00:48:55,110 А потым у шаблонах, У мяне гэта таксама тут. 1039 00:48:55,110 --> 00:48:59,292 І так гэта ўсё цяпер да кроку выкарыстання значна лепш шаблон праектавання. 1040 00:48:59,292 --> 00:49:01,000 І мы вельмі хутка збіраецца адысці 1041 00:49:01,000 --> 00:49:03,870 ад функцыянальнасці па змаўчанні ў PHP, які мы пачалі тут з, 1042 00:49:03,870 --> 00:49:07,655 дзе вы проста змешваць PHP, і ваш HTML, і ваш CSS, 1043 00:49:07,655 --> 00:49:09,780 і вы проста выплюнуць і вы ідзяце па нагоды вашага шляху. 1044 00:49:09,780 --> 00:49:11,404 Гэта не збіраецца быць вельмі суправаджэнні. 1045 00:49:11,404 --> 00:49:14,481 Гэтак жа, як у C, як мы пачалі выкарыстоўваць некалькі файлаў і некалькі функцый 1046 00:49:14,481 --> 00:49:15,730 і факторынгавыя рэчы гэта. 1047 00:49:15,730 --> 00:49:16,688 Мы зробім тое ж самае тут. 1048 00:49:16,688 --> 00:49:19,970 І на самай справе, у пяты і апошні версія тут, я зрабіў адну рэч. 1049 00:49:19,970 --> 00:49:23,710 Вы нават можаце выкарыстоўваць дзве кропкі, якія, зноў, толькі на бацькоўскі каталог. 1050 00:49:23,710 --> 00:49:28,260 Каб быць яшчэ больш сьвядомая бяспеку, таму што, калі я гляджу на праслухоўванне 1051 00:49:28,260 --> 00:49:32,450 тут пяты і канчатковы варыянт, паведамлення што ў мяне ёсць адзін каталог тут пад назвай 1052 00:49:32,450 --> 00:49:35,180 грамадскасці, а затым на той жа ўзровень, так бы мовіць, 1053 00:49:35,180 --> 00:49:38,490 У мяне ўключае і шаблонаў а затым, што тэкставы файл ридми. 1054 00:49:38,490 --> 00:49:41,130 >> І прычына я структураваная гэта падабаецца this-- і так шмат вэб 1055 00:49:41,130 --> 00:49:44,330 Гаспадары, асабліва тыя, $ 5 месяц тыя або $ 10 у месяц тыя, 1056 00:49:44,330 --> 00:49:47,170 калі вы калі-небудзь меў адзін з іх services-- тое, што многія з іх робяць 1057 00:49:47,170 --> 00:49:50,690 гэта яны проста чакаюць, што вы скінуць ўсе вашыя файлы ў адну дырэкторыю, 1058 00:49:50,690 --> 00:49:53,640 як мы гэта рабілі ўжо з гэта самы першы прыклад. 1059 00:49:53,640 --> 00:49:56,740 >> Але як толькі вы пачынаеце будаваць больш складаныя сайты, якія проста захоўваюць 1060 00:49:56,740 --> 00:50:00,480 Дадзеныя вы клапоціцеся аб і файлы, якія вы хвалюе, на самай справе арганізацыі рэчаў 1061 00:50:00,480 --> 00:50:05,060 правільна і з большай бяспекі свядомасць на ўвазе можа 1062 00:50:05,060 --> 00:50:07,927 мы пачынаем абараняць супраць усіх сяброў 1063 00:50:07,927 --> 00:50:10,135 што ў вас ёсць у доме або за межамі гэтага класа, якія, 1064 00:50:10,135 --> 00:50:12,510 як толькі вы пачынаеце рабіць праграмы самастойна ў Інтэрнэце, 1065 00:50:12,510 --> 00:50:15,140 збіраюцца пачаць збор на вас і на іх. 1066 00:50:15,140 --> 00:50:17,420 >> І так мы будзем глядзець у канчатковым рахунку, у гэтай канструкцыі. 1067 00:50:17,420 --> 00:50:20,010 Гэта проста карцінка што адлюстроўвае наступнае. 1068 00:50:20,010 --> 00:50:22,897 Мы збіраемся паставіць усе нашы праграмную логіку ў адным або больш файлаў, 1069 00:50:22,897 --> 00:50:25,230 і мы збіраемся проста пачаць называючы гэтыя кантралёры. 1070 00:50:25,230 --> 00:50:28,022 Гэта дзе мазгі нашы сайты на самай справе з'яўляюцца. 1071 00:50:28,022 --> 00:50:29,730 Тады мы ідзем да маюць выгляд, і выгляд 1072 00:50:29,730 --> 00:50:32,480 так проста, як проста асобны files-- званыя шаблоны, часта. 1073 00:50:32,480 --> 00:50:34,410 Яны проста павінны Эстэтыка маёй старонцы, 1074 00:50:34,410 --> 00:50:37,020 тое, што я хачу старонку, каб паглядзець like-- колеру і кампаноўкі 1075 00:50:37,020 --> 00:50:38,870 і пазіцыі ўсе зменныя. 1076 00:50:38,870 --> 00:50:41,120 >> А потым больш цікавым што мы ў рэшце рэшт дабрацца да 1077 00:50:41,120 --> 00:50:45,420 з'яўляецца мадэль, якая будзе проста слова мы аплявуху ад іншых тэхналогій 1078 00:50:45,420 --> 00:50:47,771 што мы прыносім ў карціна, як рэальных баз дадзеных, 1079 00:50:47,771 --> 00:50:49,520 так што, калі вы хочаце для захавання інфармацыі, 1080 00:50:49,520 --> 00:50:52,140 Вы не проста адправіць па электроннай пошце на ваш суправаджалы ці для сябе, 1081 00:50:52,140 --> 00:50:57,350 Вы на самой справе захоўваць яго ў базе дадзеных выкарыстоўваючы іншую мову, вядомы як SQL. 1082 00:50:57,350 --> 00:51:00,450 І таму мы пакінем тут сёння і падабраць з гэтым у сераду 1083 00:51:00,450 --> 00:51:02,990 і ўвесці баз затым. 1084 00:51:02,990 --> 00:51:06,940 >> [Музыка, якая іграе] 1085 00:51:06,940 --> 00:54:24,555