1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Добре дошли в секция за тази седмица. 3 00:00:08,440 --> 00:00:10,040 Аз не съм Andi. 4 00:00:10,040 --> 00:00:14,590 Andi е паднал болен този ден, и аз са били нещо като призова в последната минута 5 00:00:14,590 --> 00:00:15,700 да поеме. 6 00:00:15,700 --> 00:00:20,920 Това е грипен сезон, така че се уверете, че сте отседнали чиста, измиване на ръцете, 7 00:00:20,920 --> 00:00:24,800 и здравословно хранене, така че вие също не сте прикован към леглото. 8 00:00:24,800 --> 00:00:26,870 >> Но без по-нататъшно приказки, нека да започнем. 9 00:00:26,870 --> 00:00:29,970 Днес ние ще говорим за PHP малко bit-- как 10 00:00:29,970 --> 00:00:33,900 PHP е свързано с HTML, как се отнася до CSS, и някои от мрежата 11 00:00:33,900 --> 00:00:36,100 нещата, които направи на последното възлагане. 12 00:00:36,100 --> 00:00:37,930 Отиваме да поговорим малко за SQL 13 00:00:37,930 --> 00:00:41,360 и как можете да работите с бази данни, което е доста ключов компонент на P 14 00:00:41,360 --> 00:00:43,650 зададете 8-- P зададете 7. 15 00:00:43,650 --> 00:00:44,480 P зададете 7. 16 00:00:44,480 --> 00:00:48,400 >> И тогава ние ще говорим малко по- малко за това как вижте контролери работят 17 00:00:48,400 --> 00:00:54,640 и защо това е философията зад някои модерни уеб страници и различен дизайн. 18 00:00:54,640 --> 00:00:58,760 Доста много видове приложения и приложения може да превозва 19 00:00:58,760 --> 00:01:01,120 използвате този модел, рамка оглед контролер, 20 00:01:01,120 --> 00:01:02,890 че вие ​​ще бъдете като се използва в P зададете 7, така че аз ще 21 00:01:02,890 --> 00:01:05,220 поговорим малко за това, защо това е станала 22 00:01:05,220 --> 00:01:07,970 популярен, защо е важно и хубаво. 23 00:01:07,970 --> 00:01:12,052 И тогава аз ще най-накрая се премине към някои полезни съвети за справяне с определени P 7. 24 00:01:12,052 --> 00:01:13,760 И ако имаме време останала в края, 25 00:01:13,760 --> 00:01:17,320 всъщност можем да направим някои работим върху това заедно. 26 00:01:17,320 --> 00:01:20,380 >> Така че, PHP. 27 00:01:20,380 --> 00:01:23,790 Всъщност, може би сте забелязали this-- наистина не трябва да се потопите в it-- 28 00:01:23,790 --> 00:01:27,880 но P зададете 6 имаше някои PHP код, който се случва. 29 00:01:27,880 --> 00:01:34,710 И тъй като PHP е C-подобни език, PHP, за разлика от HTML и CSS, 30 00:01:34,710 --> 00:01:39,030 е език за програмиране, като има предвид, HTML и CSS са статични. 31 00:01:39,030 --> 00:01:44,050 Те са езици за маркиране, занимаващи със стил и визуално оформление. 32 00:01:44,050 --> 00:01:46,230 PHP е реална сделка. 33 00:01:46,230 --> 00:01:51,590 >> PHP има примки, тя има conditions-- всички тези неща, че е забавно за C. 34 00:01:51,590 --> 00:01:56,190 Той има няколко неща, които са малко по- малко по-добре, отколкото C, които ние ще видим, 35 00:01:56,190 --> 00:01:59,760 но мисля, че най-лесният начин да се говори за PHP е просто да се потопите инча 36 00:01:59,760 --> 00:02:04,087 Така че аз ще отида надясно в IDE в този момент. 37 00:02:04,087 --> 00:02:06,170 Първото нещо, което започваш да направите, е действително изглеждат 38 00:02:06,170 --> 00:02:10,169 малко в някои от най- PHP код, който е бил в P зададете 6. 39 00:02:10,169 --> 00:02:13,600 Така че начинът, по който правим that-- преди, по начина, по който се работи 40 00:02:13,600 --> 00:02:18,550 сървъра за уреда беше, че ние ще трябва да type-- 41 00:02:18,550 --> 00:02:21,750 или да използвате вашата реализация или изпълнението на персонала 42 00:02:21,750 --> 00:02:27,059 на server.c като отидете в директорията и работи с server.c или не 43 00:02:27,059 --> 00:02:30,100 arguments-- така че просто го призове локален хост, което е това, което най-вероятно 44 00:02:30,100 --> 00:02:31,849 Направих повечето от time-- и след това хранене 45 00:02:31,849 --> 00:02:35,380 а directory-- с които да се използват като своя корен 46 00:02:35,380 --> 00:02:38,310 където уебсайта би да тичам, основно. 47 00:02:38,310 --> 00:02:42,180 >> Тази седмица за P избран 7, като голяма, колкото нашия код за server.c 48 00:02:42,180 --> 00:02:47,580 е, че има хора, които вече имат писмено тези хубави неща, над най-CS50 49 00:02:47,580 --> 00:02:49,630 които имат по-малко повече функционалност, 50 00:02:49,630 --> 00:02:52,920 сървъра програма, която е способен за справяне с малко по- 51 00:02:52,920 --> 00:02:56,350 на тънкостите, че ние ще виж в двете P зададете 7 и 8 P зададете. 52 00:02:56,350 --> 00:03:01,410 И начинът, по който да започнете състава на сървър е като напишете "apache50." 53 00:03:01,410 --> 00:03:03,960 >> И преди да направите нещо, искате да се уверите, 54 00:03:03,960 --> 00:03:06,070 че Apache 50 не е вече работи, тъй като е 55 00:03:06,070 --> 00:03:08,130 на моята машина, която аз направих, за да го тествате. 56 00:03:08,130 --> 00:03:10,320 А ти направи това, като се обадите apache50. 57 00:03:10,320 --> 00:03:14,070 Спрете, и ще видите, че това е спирането уеб сървър, ако можете да погледнете там 58 00:03:14,070 --> 00:03:16,340 в долната част на прозореца на терминала. 59 00:03:16,340 --> 00:03:21,090 И след това просто да се започне, ние сме Ще се обадя, "apache50 започне." 60 00:03:21,090 --> 00:03:23,150 И тогава отиваме да я храня директория. 61 00:03:23,150 --> 00:03:26,950 >> Сега, тъй като искаме да погледнем в някои от най-P зададете 6 код 62 00:03:26,950 --> 00:03:32,850 че сме изпълнени, аз всъщност копират малко от P 63 00:03:32,850 --> 00:03:37,090 настроите 6 код в моята собствена папка, които можете да видите в ляво има. 64 00:03:37,090 --> 00:03:40,170 Тя се нарича "SECTION8" във всички главни букви 65 00:03:40,170 --> 00:03:44,510 защото аз съм просто толкова развълнуван да бъде предаван на живо днес. 66 00:03:44,510 --> 00:03:47,330 >> Така че, ако ще свършим това, трябва да всичко работи доста ефективно. 67 00:03:47,330 --> 00:03:52,350 Той казва, OK, нашият сайт е сега на разположение на адреса на IDE, 68 00:03:52,350 --> 00:03:57,710 основно, което е това, което сте използвали точно както беше в P зададете 7-- P зададете 6. 69 00:03:57,710 --> 00:04:00,899 Всичките ми индекси са един форум днес. 70 00:04:00,899 --> 00:04:02,940 Така че можем да отидем на тази, адрес, ако си спомняте, 71 00:04:02,940 --> 00:04:05,710 само с щракване върху тази малка бутона в горния десен ъгъл. 72 00:04:05,710 --> 00:04:14,200 >> И вие си спомняте този код, който случило, когато отиде в hello.php. 73 00:04:14,200 --> 00:04:18,000 И какво кода е предназначена да направите, е, когато сте написали в името 74 00:04:18,000 --> 00:04:20,550 here-- ако кажеш Sam защото това е моят name-- 75 00:04:20,550 --> 00:04:23,620 и аз кликнете Say Hello, когато отидохме до следващата страница, 76 00:04:23,620 --> 00:04:25,270 това име е трябвало да бъдат показани. 77 00:04:25,270 --> 00:04:28,550 Тя ще каже: "Здравейте, Сам" или "Hello", каквото и да име 78 00:04:28,550 --> 00:04:32,470 сложите в него, въпреки че ние отидохме на изцяло ново уеб страница. 79 00:04:32,470 --> 00:04:36,610 >> И това е едно от нещата, че PHP може да направи за вас. 80 00:04:36,610 --> 00:04:42,840 PHP е в състояние да премине на данни между две уеб страници. 81 00:04:42,840 --> 00:04:44,390 Това е напълно различна страница. 82 00:04:44,390 --> 00:04:46,990 Ще видите заглавието е "здравей" тук. 83 00:04:46,990 --> 00:04:49,080 Всъщност, те имат същото заглавие, но аз 84 00:04:49,080 --> 00:04:52,560 Обещавам, че са различни уеб страници, ако погледнем на източника. 85 00:04:52,560 --> 00:04:55,890 И вие може да премине на данните, които е вписаните в тази текстово поле, 86 00:04:55,890 --> 00:04:59,830 можете да го представи на следващия страницата, която се извиква, 87 00:04:59,830 --> 00:05:02,490 и след това, че данните са в състояние да да има в сегашния си вид. 88 00:05:02,490 --> 00:05:04,810 >> Сега ние все още не са приложени това себе си, които 89 00:05:04,810 --> 00:05:08,710 е това, което ние ще направим точно сега да подреди получите вкус за това как работи PHP, 90 00:05:08,710 --> 00:05:15,070 но ключовият Идеята е, че можете да PHP-- нещо като мисля за него като функция. 91 00:05:15,070 --> 00:05:18,570 Нещо, което може да ви позволи PHP направите, е да може да предприеме параметри 92 00:05:18,570 --> 00:05:24,710 че сте принос в една HTML страница чрез използване на PHP и форми, 93 00:05:24,710 --> 00:05:29,960 и той може да премине тези, като параметри към следващата страница, която се зарежда до. 94 00:05:29,960 --> 00:05:35,110 >> В този случай, ние сме натоварване до този страница с бутона "Кажи здравей". 95 00:05:35,110 --> 00:05:38,960 Но за сега, аз всъщност заличава някои от този код 96 00:05:38,960 --> 00:05:44,850 в hello.php че е бил тече че действително е показване на "Здравей, 97 00:05:44,850 --> 00:05:49,680 свят "или" Здравей, Сам ", или "здравей", каквото и да беше само вход. 98 00:05:49,680 --> 00:05:53,620 Така че за сега, ние сме Ще направя това, общо взето. 99 00:05:53,620 --> 00:05:56,570 Отиваме да пресъздаде, че и Също така добавете малко повече функционалност, 100 00:05:56,570 --> 00:06:00,210 направи малко повече с него, виж какво PHP е наистина способен. 101 00:06:00,210 --> 00:06:04,870 >> Така че на първо място, нека да поговорим за този файл, hello.php. 102 00:06:04,870 --> 00:06:07,440 Така че, ако ние я увеличите в Малко bit-- и сега съм 103 00:06:07,440 --> 00:06:10,520 нещо се опитва да преминете всички Между другото around-- там отиваме. 104 00:06:10,520 --> 00:06:14,220 Ще видите това се нарича hello.php, но синтаксиса на него 105 00:06:14,220 --> 00:06:16,880 прилича на HTML файл. 106 00:06:16,880 --> 00:06:20,380 Това е така, защото действителната PHP в този файл 107 00:06:20,380 --> 00:06:25,220 е всичко остана между тях Question Mark-карета блокове. 108 00:06:25,220 --> 00:06:28,610 Всичко тук се счита PHP код. 109 00:06:28,610 --> 00:06:32,040 >> И вие ще забележите, че когато го направих коментар, 110 00:06:32,040 --> 00:06:35,320 ще видите познатото две наклонени черти. 111 00:06:35,320 --> 00:06:38,440 И ако си спомняте, в HTML, ако напишете коментар, 112 00:06:38,440 --> 00:06:42,540 тя изглежда нещо по-близо до това, което е коментар в HTML. 113 00:06:42,540 --> 00:06:46,570 Така че наистина всичко между тези две ъглови скоби 114 00:06:46,570 --> 00:06:50,060 Сега е PHP код, който се отразява във факта, 115 00:06:50,060 --> 00:06:53,270 че този малък коментар символ се превърна в коментар. 116 00:06:53,270 --> 00:06:58,420 >> Така че всеки път, когато пиша PHP код, дори Ако няма HTML код извън нея, 117 00:06:58,420 --> 00:07:02,720 тя винаги ще бъде затворени в тези ъглови скоби 118 00:07:02,720 --> 00:07:04,080 с въпросителни знаци. 119 00:07:04,080 --> 00:07:08,260 Можете да някак си помисля it-- как всичко на кода, който тече във вашите C програми 120 00:07:08,260 --> 00:07:13,950 беше затворена в едно цяло число основната, нищожен, фигурна скоба, край къдрава изявление презрамки. 121 00:07:13,950 --> 00:07:17,100 И ще видите фигурни скоби в PHP, също, но това е нещо 122 00:07:17,100 --> 00:07:20,490 като основен метод за PHP. 123 00:07:20,490 --> 00:07:25,630 >> Така че сега, как ще правим нещо в PHP? 124 00:07:25,630 --> 00:07:29,190 Сега, PHP е програмиране език, който е много подобен на C, 125 00:07:29,190 --> 00:07:30,970 но тя работи в интернет. 126 00:07:30,970 --> 00:07:33,270 Така че едно нещо, което ще immediately-- една 127 00:07:33,270 --> 00:07:38,130 от първите неща, които наистина направиха с С беше ли отпечатани неща, нали? 128 00:07:38,130 --> 00:07:42,290 Така че в C, което направихме, че с функция ФОРМАТ. 129 00:07:42,290 --> 00:07:46,430 Ние го даде низ, вероятно с нов ред, 130 00:07:46,430 --> 00:07:49,850 и тогава ние прекратено то с точка и запетая. 131 00:07:49,850 --> 00:07:53,790 >> Така че начинът, по който ние ще направим това в PHP--, защото това не е съвсем ФОРМАТ. 132 00:07:53,790 --> 00:07:55,940 Това е малко по-различна от синтаксис. 133 00:07:55,940 --> 00:08:02,580 Начинът, по който се печата нещата в PHP е да кажем, "ехо здравей" 134 00:08:02,580 --> 00:08:04,180 или "ехо" на всяка дума. 135 00:08:04,180 --> 00:08:09,830 И това има ефекта на правене ФОРМАТ с връв, "здравей". 136 00:08:09,830 --> 00:08:11,990 И той добавя новата линия към него. 137 00:08:11,990 --> 00:08:16,000 >> Така че нека сега направим sure-- Ще намалите пак малко bit-- 138 00:08:16,000 --> 00:08:18,250 нека да се уверите, че този код работи 139 00:08:18,250 --> 00:08:21,030 защото има много мощ добре да е бъг в този код 140 00:08:21,030 --> 00:08:22,880 че ние ще трябва да се справим. 141 00:08:22,880 --> 00:08:25,860 Така че сървърът е стартиран. 142 00:08:25,860 --> 00:08:30,630 Така че, ако ние превъртете надолу до дъното, Мда, сървърът все още работи. 143 00:08:30,630 --> 00:08:34,510 Така че, ако ние просто натиснете този Малко полето here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- ние трябва get-- страхотно. 145 00:08:37,620 --> 00:08:39,930 >> Ние все още сме като запознат "Кажи здравей" на диалога, 146 00:08:39,930 --> 00:08:45,750 но когато напишете "здрасти", ще видим че текстът "здравей" беше наистина 147 00:08:45,750 --> 00:08:50,080 разпечатан, което е точно така, както очаквахме, защото ехо в PHP 148 00:08:50,080 --> 00:08:53,190 е точно като изявление ФОРМАТ. 149 00:08:53,190 --> 00:09:01,410 Така че обратно към кода, как в P зададете 6 направих кода за дистрибуция, което е предвидено 150 00:09:01,410 --> 00:09:05,920 той направи така, че PHP ще изхода на нещо, което 151 00:09:05,920 --> 00:09:07,920 въведена от предишния екран? 152 00:09:07,920 --> 00:09:10,350 >> И някак да проучи защо това се случи, ние сме 153 00:09:10,350 --> 00:09:15,510 ще отидат в index.html, който е оригиналния файл, файлът, че 154 00:09:15,510 --> 00:09:18,710 се появява на този екран с помощта на бутона "Кажи здравей". 155 00:09:18,710 --> 00:09:20,950 Можете да забележите, че има всички класически неща 156 00:09:20,950 --> 00:09:26,910 сме дошли да се очаква от такава HTML тъй като тези неща, тези тагове затворени 157 00:09:26,910 --> 00:09:31,080 в ъглови скоби, като PHP но без въпросителни знаци, 158 00:09:31,080 --> 00:09:34,650 което показва нещо специално за HTML. 159 00:09:34,650 --> 00:09:36,895 Имаме заглавие, което е "здравей". 160 00:09:36,895 --> 00:09:41,010 И вие ще забележите, че както видяхме, Заглавието е "здравей" и в двата случая. 161 00:09:41,010 --> 00:09:43,260 Нека да променим това да "каже", за да сме 162 00:09:43,260 --> 00:09:48,170 можем да се разграничи къде сме. 163 00:09:48,170 --> 00:09:49,600 >> Но ние имаме тяло. 164 00:09:49,600 --> 00:09:52,690 И тогава интересна бит, на битов, която се проявява в HTML, 165 00:09:52,690 --> 00:09:54,530 е тази форма елемент. 166 00:09:54,530 --> 00:09:56,370 И така, ние имаме една форма. 167 00:09:56,370 --> 00:09:58,330 И това е ключът. 168 00:09:58,330 --> 00:10:00,530 Това е начина, по който работите с PHP. 169 00:10:00,530 --> 00:10:05,790 Параметърът за действие на форма, казва, че hello.php 170 00:10:05,790 --> 00:10:09,310 е това, което ние ще изпратим стойностите в тази форма да. 171 00:10:09,310 --> 00:10:13,830 Това е мястото, където ние сме минаваща параметрите, така да се каже. 172 00:10:13,830 --> 00:10:18,680 >> Ще забележите, друго нещо тук е, че методът е "да". 173 00:10:18,680 --> 00:10:24,450 Има два основни методи, чрез които ще се 174 00:10:24,450 --> 00:10:28,750 да се използва PHP за преноса на данни между websites-- уеб страници, 175 00:10:28,750 --> 00:10:30,500 rather-- в тази задача. 176 00:10:30,500 --> 00:10:34,070 И тези методи са "да" и "след". 177 00:10:34,070 --> 00:10:37,010 Има някои фините разлики между получи и пост 178 00:10:37,010 --> 00:10:40,520 че ние ще се into-- ние ще "получи" в, ако щете. 179 00:10:40,520 --> 00:10:44,030 >> Но за всички намерения и цели, може да получи и пост 180 00:10:44,030 --> 00:10:47,120 и двете са само начини, които можете да зададете параметрите 181 00:10:47,120 --> 00:10:49,500 с малко по-различни екзекуции. 182 00:10:49,500 --> 00:10:53,500 За сега, ние ще използваме получи, защото получите това, което е бил използван първоначално 183 00:10:53,500 --> 00:10:57,340 в PHP файла на P зададете 6. 184 00:10:57,340 --> 00:11:00,850 И действително, ако отидем в и погледнете преди сме редактира всичко друго, 185 00:11:00,850 --> 00:11:03,090 Отивам да кажа здрасти to-- какво е вашето име? 186 00:11:03,090 --> 00:11:03,812 >> АУДИТОРИЯ: Елиът. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: О, Боже. 188 00:11:04,770 --> 00:11:05,600 Аз не знам как да обяснят това. 189 00:11:05,600 --> 00:11:06,766 Може ли да се пише това за мен? 190 00:11:06,766 --> 00:11:08,710 АУДИТОРИЯ: E-L-L-I-О-Т. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> АУДИТОРИЯ: Да. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Perfect. 194 00:11:10,960 --> 00:11:11,210 ДОБРЕ. 195 00:11:11,210 --> 00:11:12,751 Предполагам, че знаех как да обяснят това. 196 00:11:12,751 --> 00:11:13,510 Съжалявам за това. 197 00:11:13,510 --> 00:11:16,560 Но ако кажем "здравей Say", това не е това няма да се появи на екрана 198 00:11:16,560 --> 00:11:18,476 Все още, защото ние модифициран кода малко. 199 00:11:18,476 --> 00:11:21,290 Но ако ние "Кажи здравей" - ОК, така че "здравей" е тук. 200 00:11:21,290 --> 00:11:24,137 Но ако погледнем по- погледнем в себе си URL, 201 00:11:24,137 --> 00:11:26,220 ще видим, че тя завършва с hello.php? име = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Така че, това е начин на комуникиране към следващото уеб страница 204 00:11:37,180 --> 00:11:39,240 параметрите, които сме преминали. 205 00:11:39,240 --> 00:11:40,870 Казахме име = Elliot. 206 00:11:40,870 --> 00:11:46,290 И това е в крайна сметка как P зададете 6 преглеждана променливата, че минахме през 207 00:11:46,290 --> 00:11:47,520 през формата. 208 00:11:47,520 --> 00:11:51,470 И това е нещо, което Особеното на заявка за получите. 209 00:11:51,470 --> 00:11:57,480 Заявка за GET прави параметрите известен в URL адреса на сайта. 210 00:11:57,480 --> 00:12:01,190 >> И вие ще си припомним също, в P зададете 6, че сте 211 00:12:01,190 --> 00:12:04,450 трябваше да се напише функция че се справиха с факта, 212 00:12:04,450 --> 00:12:09,700 че този стринг заявка може да съществува, след като даден файл. 213 00:12:09,700 --> 00:12:14,684 Може да има въпросителен знак, последван от основно с произволен брой символи. 214 00:12:14,684 --> 00:12:16,350 И това е точно това, което става тук. 215 00:12:16,350 --> 00:12:21,280 И причината, поради която трябваше да се анализира, че в изпълнение на server.c в P 216 00:12:21,280 --> 00:12:27,570 настроите 6 е, така че бихте могли да кажете кода PHP, че назове = Elliot. 217 00:12:27,570 --> 00:12:30,460 Вие необходимо, за да бъде в състояние да разбор, че от URL 218 00:12:30,460 --> 00:12:35,900 така че файлът PHP въпросната знаеше какво се занимават с. 219 00:12:35,900 --> 00:12:39,350 >> Така че да се надяваме това дава мотивацията да server.c 220 00:12:39,350 --> 00:12:43,900 сега, че ние се движим по извън C в PHP. 221 00:12:43,900 --> 00:12:48,240 Така че нека действително се съсредоточи върху достъпа до неща, минали през заявка Вземи Сега 222 00:12:48,240 --> 00:12:48,880 в този момент. 223 00:12:48,880 --> 00:12:50,157 Отивам да запазите този. 224 00:12:50,157 --> 00:12:51,240 Ние не променя нищо. 225 00:12:51,240 --> 00:12:56,080 Тя изглежда като ние имаме поле за въвеждане. 226 00:12:56,080 --> 00:12:58,550 >> Ние сме за създаване на някои имоти, както можем да направим един HTML. 227 00:12:58,550 --> 00:12:59,550 Това са прости неща. 228 00:12:59,550 --> 00:13:00,580 Ние нямаме нужда от тях. 229 00:13:00,580 --> 00:13:03,750 Но ние имаме функция за автоматично довършване на разстояние, които основно says-- знаете, 230 00:13:03,750 --> 00:13:05,710 когато сте написали неща в интернет, понякога 231 00:13:05,710 --> 00:13:07,355 той се опитва да запълни тази в за вас. 232 00:13:07,355 --> 00:13:08,230 Така че това е хубаво нещо. 233 00:13:08,230 --> 00:13:11,700 Искаме да го изключите за тази цел. 234 00:13:11,700 --> 00:13:13,970 Това беше решение на CS50. 235 00:13:13,970 --> 00:13:15,640 Така че ние можем да изтриете, че ако ние искахме. 236 00:13:15,640 --> 00:13:19,510 >> Автофокусът просто се придържа курсора в правото на форма в началото. 237 00:13:19,510 --> 00:13:21,060 Отново, не е твърде важно. 238 00:13:21,060 --> 00:13:26,220 >> Но име = "име" - това е малко сложно, защото това е име и име. 239 00:13:26,220 --> 00:13:28,730 Но можем да се промених това към нещо друго. 240 00:13:28,730 --> 00:13:30,563 И в действителност, това е какво ще направим сега. 241 00:13:30,563 --> 00:13:34,830 Ние ще кажем "човек", който е нещо като име 242 00:13:34,830 --> 00:13:36,790 ако човек се определя от тяхното име. 243 00:13:36,790 --> 00:13:41,480 >> Така че нека да затворите този, възобнови до нашия сайт 244 00:13:41,480 --> 00:13:46,110 тъй нашия сървър все още работи Apache 50, и ние ще кажем, здравей, ето 245 00:13:46,110 --> 00:13:47,200 Elliot отново. 246 00:13:47,200 --> 00:13:48,460 Защо не? 247 00:13:48,460 --> 00:13:49,220 Здравей. 248 00:13:49,220 --> 00:13:52,880 И ако се върнем тук, ще видим След това, вместо името = Elliot, 249 00:13:52,880 --> 00:13:55,200 тя казва, човек = Elliot. 250 00:13:55,200 --> 00:14:00,060 И това е пряк резултат от факта, че ние просто сменя името = "човек." 251 00:14:00,060 --> 00:14:06,840 >> Така че в един вход елемент от една HTML форма, полето Име 252 00:14:06,840 --> 00:14:10,590 е идентификаторът за параметър, който е да се прехвърлят. 253 00:14:10,590 --> 00:14:14,250 Това е като, ако се създаде функция "добави", състояла се от две цели числа 254 00:14:14,250 --> 00:14:16,670 и ти каза, инт а и б инт. 255 00:14:16,670 --> 00:14:22,680 Това ще бъде името на, и ако искахте друга форма, която 256 00:14:22,680 --> 00:14:27,800 можем да направим само чрез копиране и пастиране, тогава щяхме да имаме име б. 257 00:14:27,800 --> 00:14:31,030 >> Така че сега ще имаме два параметъра че се пропуска през 258 00:14:31,030 --> 00:14:36,970 стигнем до следващото website-- следващата уеб страница, hello.php. 259 00:14:36,970 --> 00:14:39,770 И всъщност ние можем да видим че отново, ако искаме. 260 00:14:39,770 --> 00:14:44,830 Това е най-лесният начин да се справят с уеб кода в IDE, основно. 261 00:14:44,830 --> 00:14:47,940 Вие стартирате сървъра, го получи използвате, и след това всеки път, вие 262 00:14:47,940 --> 00:14:50,649 се направят някои промени, точно в близост този файл, само за да бъдат безопасни. 263 00:14:50,649 --> 00:14:52,440 Натискането на бутона за връщане е малко трудно 264 00:14:52,440 --> 00:14:55,800 защото може да се зареди ранен версия, а не най-актуалната един. 265 00:14:55,800 --> 00:14:59,200 >> И тогава просто кликнете си бутона отново, поп полето up-- о, 266 00:14:59,200 --> 00:15:00,510 и сега има две форми. 267 00:15:00,510 --> 00:15:10,440 И така, ако сме написали едно нещо във всяка one-- "Джейсън hirshhorn," за instance-- 268 00:15:10,440 --> 00:15:11,590 ние кажа здрасти. 269 00:15:11,590 --> 00:15:12,840 Ние погледне нашите параметри. 270 00:15:12,840 --> 00:15:18,910 Тя изглежда като сме се погрижили, като Очаква се, а = Джейсън и б = hirshhorn, 271 00:15:18,910 --> 00:15:23,760 която представлява два параметъра че сме преминали към тази функция. 272 00:15:23,760 --> 00:15:27,900 >> Така че сега нека да се получи в действителност да прилагане на тази функционалност, че ние 273 00:15:27,900 --> 00:15:30,840 имаше в P зададете 6. 274 00:15:30,840 --> 00:15:32,490 Така че сега ние просто ехо здрасти. 275 00:15:32,490 --> 00:15:34,310 И това не е много полезно. 276 00:15:34,310 --> 00:15:38,530 Искаме да повторя някои променлива че е приет за нас. 277 00:15:38,530 --> 00:15:40,320 И ние знаем името на тази променлива. 278 00:15:40,320 --> 00:15:41,770 Ние имаме и ние да б. 279 00:15:41,770 --> 00:15:43,500 Така че можем да изберем да повторя нито една. 280 00:15:43,500 --> 00:15:45,470 >> Но как да получите достъп до него? 281 00:15:45,470 --> 00:15:48,820 Е, има някои глобални променливи в PHP. 282 00:15:48,820 --> 00:15:51,240 И аз отивам да пиша тях в коментари тук. 283 00:15:51,240 --> 00:15:59,910 Двете най-важните от тях са GET и пускате за нашите цели точно сега. 284 00:15:59,910 --> 00:16:05,350 Това са редове или, Технически, речници 285 00:16:05,350 --> 00:16:10,540 където нашите променливи, че ние сме преминаване към следващия уеб страница на живо. 286 00:16:10,540 --> 00:16:14,520 И скоро ще видим как да ги използват. 287 00:16:14,520 --> 00:16:19,720 >> Друга кратка бележка за PHP код и някои особености на it-- в C, 288 00:16:19,720 --> 00:16:23,260 да декларира променлива или да се използват променливи, 289 00:16:23,260 --> 00:16:24,570 първо трябваше да ги декларира. 290 00:16:24,570 --> 00:16:30,860 И това, което трябваше да направя, когато декларирани тях беше кажа инт една или Чар б. 291 00:16:30,860 --> 00:16:35,630 Вие трябваше да декларират видовете тях променливи, преди да са ги създали. 292 00:16:35,630 --> 00:16:38,800 PHP-- не е нужно да се направи нещо от това. 293 00:16:38,800 --> 00:16:42,522 PHP не пита за вида на променлива. 294 00:16:42,522 --> 00:16:44,480 И така, че създадете variable-- скоро 295 00:16:44,480 --> 00:16:49,930 отколкото казваше инт, Чар, string-- което е наистина Чар *, тъй като ние know-- 296 00:16:49,930 --> 00:16:52,180 вместо да правиш всички това, защото всичко 297 00:16:52,180 --> 00:16:54,620 е от същия тип, typeless, ние можем просто 298 00:16:54,620 --> 00:16:59,210 използвате един герой, който е знака за долар. 299 00:16:59,210 --> 00:17:03,700 И вие ще видите, че вече се пръкват нагоре, малки неща, автоматично довършване. 300 00:17:03,700 --> 00:17:11,380 И това казвам, че _GET и _POST са две възможности, които имам на разположение 301 00:17:11,380 --> 00:17:11,900 за мен. 302 00:17:11,900 --> 00:17:16,430 Някои от тези други неща са други глобални променливи в PHP 303 00:17:16,430 --> 00:17:18,430 че ще се използва повече хода на P избран 7. 304 00:17:18,430 --> 00:17:20,569 За сега ние ще съсредоточи върху получи и пост. 305 00:17:20,569 --> 00:17:22,910 Но това е полезно нещо, което прави логическо устройство 306 00:17:22,910 --> 00:17:24,980 където някога сте въвели в това знак за долар, 307 00:17:24,980 --> 00:17:28,760 тя ще започне попълване на глобални променливи или променливи вече сте дефинирани. 308 00:17:28,760 --> 00:17:34,360 >> Така че, ако искате да се определи променлива, наречена "низ" 309 00:17:34,360 --> 00:17:38,290 можете просто да го настроите равен на "здрасти". 310 00:17:38,290 --> 00:17:40,100 И това е в общи линии толкова просто като това. 311 00:17:40,100 --> 00:17:44,720 И тогава бихме могли да направим нещо като "ехо $ низ." 312 00:17:44,720 --> 00:17:48,524 Специализираното логическо устройство трябва да се хвърлят някаква грешки, ако аз правя нещо нередно, 313 00:17:48,524 --> 00:17:50,190 така че се надяваме аз правя всичко по силите си. 314 00:17:50,190 --> 00:17:52,060 Но грешки винаги се пораждат. 315 00:17:52,060 --> 00:17:56,670 >> Друг труден нещо за PHP е, че това не е компилиран. 316 00:17:56,670 --> 00:18:00,640 Така е и с програмите на С, бихте направили ежедневието of-- основно, 317 00:18:00,640 --> 00:18:02,710 бихте направили, редакции на кода си, вие искате да го запазите, 318 00:18:02,710 --> 00:18:04,460 и тогава ще да го направи, когато беше грим 319 00:18:04,460 --> 00:18:08,830 стъпката, която нарича съставител, трясък, за да направите вашия код, този текст 320 00:18:08,830 --> 00:18:10,570 файл, в изпълнима. 321 00:18:10,570 --> 00:18:15,550 PHP е C-подобни, но това е екзекутиран в движение с вашия уеб браузър. 322 00:18:15,550 --> 00:18:17,640 Така че няма начин да се знае. 323 00:18:17,640 --> 00:18:19,790 >> Направете ще хвърлят тези, полезни грешки, нали? 324 00:18:19,790 --> 00:18:22,190 Това би било като, вие не е декларирал тази променлива 325 00:18:22,190 --> 00:18:23,320 преди да се опита да го използвате. 326 00:18:23,320 --> 00:18:29,120 Ти направи всичко това лошо stuff-- segfault, segfault, всичко, което ги сортира от забавни моменти 327 00:18:29,120 --> 00:18:31,000 който дойде с грим. 328 00:18:31,000 --> 00:18:33,920 PHP е нож с две остриета защото вие няма да получите тези грешки, 329 00:18:33,920 --> 00:18:37,770 но това също така означава, че вие ​​няма да знаете наистина това, което не е наред с вашата програма 330 00:18:37,770 --> 00:18:39,840 ако просто го стартирате и това не е работа. 331 00:18:39,840 --> 00:18:45,130 Но дебъгер трябва да се отбележи, някои надяваме полезни малки неща 332 00:18:45,130 --> 00:18:47,950 синтактично, че можете да поправите. 333 00:18:47,950 --> 00:18:52,850 >> Така че сега, ако ние отидем to-- кажа, нека да затворите това. 334 00:18:52,850 --> 00:18:54,522 Отворете отново. 335 00:18:54,522 --> 00:18:55,480 И ние сме назад тук. 336 00:18:55,480 --> 00:18:57,210 Така че ние имаме променлива и променлива б. 337 00:18:57,210 --> 00:18:58,626 И те не ще в крайна сметка има значение. 338 00:18:58,626 --> 00:19:01,850 Ще им се обадя и з г без специален повод. 339 00:19:01,850 --> 00:19:03,120 >> И ние кажа здрасти. 340 00:19:03,120 --> 00:19:07,480 Сега изглежда, че нашият стринг "здрасти" е наистина печат. 341 00:19:07,480 --> 00:19:10,460 Ние създадохме променлива, наречена "низ", да го настроите равен на "здрасти". 342 00:19:10,460 --> 00:19:15,520 Забележете, че ние не трябва да правим изчистване или да направите герой масив. 343 00:19:15,520 --> 00:19:19,110 >> В PHP, защото променливи са typeless, низ 344 00:19:19,110 --> 00:19:22,230 е същото като знак за всички намерения и цели. 345 00:19:22,230 --> 00:19:23,570 Това би могло да бъде "здрасти". 346 00:19:23,570 --> 00:19:26,340 Това може да бъде само к характер. 347 00:19:26,340 --> 00:19:29,290 Това може да бъде номер 1. 348 00:19:29,290 --> 00:19:30,300 И това не го интересува. 349 00:19:30,300 --> 00:19:33,560 PHP не се интересува от типа на променливата. 350 00:19:33,560 --> 00:19:34,390 Или го прави грижи. 351 00:19:34,390 --> 00:19:36,240 Тя се грижи, когато се опитате и прави неща с него, 352 00:19:36,240 --> 00:19:38,790 но тя не се интересува от етапа на декларация. 353 00:19:38,790 --> 00:19:46,960 >> И точно като можете в C, можете да Декларирам струни на стека като този 354 00:19:46,960 --> 00:19:51,130 макар да казва "комин" е малко по- малко на погрешно название, когато потенциалното 355 00:19:51,130 --> 00:19:52,230 ние не говорим за PHP. 356 00:19:52,230 --> 00:19:54,020 Но ние не трябва да се тревожи за това. 357 00:19:54,020 --> 00:19:55,936 Така че ние имаме нашия низ "здрасти", и ние си спомняме низ. 358 00:19:55,936 --> 00:19:58,880 Така че сега сме обсъдени променливи. 359 00:19:58,880 --> 00:20:06,060 Така че сега ние трябва да говорим за GET и публикувате и да извърши окончателната нещо, което е 360 00:20:06,060 --> 00:20:12,660 необходимо наистина да се получи това обратно нагоре до функционалността на Р зададете 6. 361 00:20:12,660 --> 00:20:14,990 Така че в момента ние сме отекна низа, но ние 362 00:20:14,990 --> 00:20:17,080 нямам тези променливи получават и пост. 363 00:20:17,080 --> 00:20:19,430 И тъй като ние използваме методът получи, тя 364 00:20:19,430 --> 00:20:24,810 изглежда естествено, че нашата променлива, която ние сме заинтересовани в, както а и б, 365 00:20:24,810 --> 00:20:29,870 ще се намира в масива или речника, технически получите. 366 00:20:29,870 --> 00:20:33,510 >> Така че, ако ние се създаде получите като този с вашия groups-- Натиснах въведете 367 00:20:33,510 --> 00:20:36,770 и той не искал it-- но тук имаме точка. 368 00:20:36,770 --> 00:20:38,000 И така се получи вече съществува. 369 00:20:38,000 --> 00:20:41,380 Така че ние вече можем да започнем да достъп някои от елементите на получите. 370 00:20:41,380 --> 00:20:45,000 Ако се получи, този синтаксис за масиви в PHP е много C-подобен. 371 00:20:45,000 --> 00:20:47,900 Ние имаме нашите две квадратни скоби. 372 00:20:47,900 --> 00:20:53,440 >> Така че, ако ние кажем получите в нормална масив, бихме могли да получите достъп 373 00:20:53,440 --> 00:20:55,600 Индексът на нулевия, първия индекс. 374 00:20:55,600 --> 00:20:56,840 PHP е индекс нула. 375 00:20:56,840 --> 00:21:00,550 Можем да кажем, нула, едно, two-- подобни неща. 376 00:21:00,550 --> 00:21:03,420 И аз съм бил казвайки, че се получи е технически речник. 377 00:21:03,420 --> 00:21:08,290 И така, какво PHP прави под капака, което е малко по-хубав, отколкото C, 378 00:21:08,290 --> 00:21:12,760 това е вече ви дава някои речник функционалност, която 379 00:21:12,760 --> 00:21:16,240 е наистина хеш таблици, или се опитва да, уж. 380 00:21:16,240 --> 00:21:19,360 Или, технически него може да пробвам, както добре. 381 00:21:19,360 --> 00:21:25,500 Но PHP реализира хеш таблица, което е ефективно речника. 382 00:21:25,500 --> 00:21:28,400 >> И така, ние знаем името на нашата променлива, нали? 383 00:21:28,400 --> 00:21:32,440 Това е да се прехвърлят в низ за търсене, като PHP. 384 00:21:32,440 --> 00:21:37,290 Имаме = Н и б = гр къде и б са имената на променливите. 385 00:21:37,290 --> 00:21:41,580 Така че начинът, по който ние можем да получите достъп до стойност, която съответства на ключа 386 00:21:41,580 --> 00:21:45,055 в нашия речник е Просто като казва _GET_GET ["а"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Така че сега ние имаме _GET ["а"]. 389 00:21:51,365 --> 00:21:56,930 И ако ние просто замени вътре нашата ехо, ако ние си спомняме _GET_GET ["а"] - 390 00:21:56,930 --> 00:22:02,410 и ще видим дали дебъгер хвърля някакви грешки около this-- 391 00:22:02,410 --> 00:22:05,620 ние ще спаси и затворете това. 392 00:22:05,620 --> 00:22:07,130 Отвори я. 393 00:22:07,130 --> 00:22:10,390 Така че ние просто правим право сега, така че не трябва да б значение. 394 00:22:10,390 --> 00:22:12,980 "й" и "него" - "бучене." "й" и "бучене." 395 00:22:12,980 --> 00:22:14,810 Звучи добре. 396 00:22:14,810 --> 00:22:18,040 >> И това отпечатва "я", което е лудост. 397 00:22:18,040 --> 00:22:21,920 Но това е точно това, което се случва в P зададете 6. 398 00:22:21,920 --> 00:22:27,240 По принцип, това, което P зададете 6 беше doing-- ехо здравей, 399 00:22:27,240 --> 00:22:31,580 name-- където тя имаше име на променлива и то просто 400 00:22:31,580 --> 00:22:35,520 ви моли да напишете, че малко текст. 401 00:22:35,520 --> 00:22:37,380 Имаше и някои допълнителен код, където 402 00:22:37,380 --> 00:22:40,550 тя включва, ако отчети, което можем да направим в момента. 403 00:22:40,550 --> 00:22:50,120 >> Можем да кажем, ако съществува, което е функция, в рамките на PHP, 404 00:22:50,120 --> 00:22:55,110 _GET С долна черта, "име" - която е в основата казвайки 405 00:22:55,110 --> 00:22:58,760 "ако името е попълнен на" защото ние може просто да кликне върху бутона 406 00:22:58,760 --> 00:23:02,580 да представи под формата без пишете нищо в това поле. 407 00:23:02,580 --> 00:23:07,760 И ние увийте, че в нашата приятелски фигурни скоби. 408 00:23:07,760 --> 00:23:09,175 Ние можем да имаме изявление на друго. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 И това е всичко в рамките на ъгъл PHP скоба, въпросителен знак ъгъл на стена, 411 00:23:18,820 --> 00:23:20,040 ако щете. 412 00:23:20,040 --> 00:23:21,750 >> И сега ще видим дали това работи. 413 00:23:21,750 --> 00:23:26,300 Продължавам да чакат, за да трасира и глупости за мен, общо взето, 414 00:23:26,300 --> 00:23:28,410 но все още не разполага. 415 00:23:28,410 --> 00:23:30,830 Може би това ще стане сега защото аз говорихме. 416 00:23:30,830 --> 00:23:31,330 Да. 417 00:23:31,330 --> 00:23:32,510 Той е направил, в действителност. 418 00:23:32,510 --> 00:23:34,610 Така че, нищо не се показва. 419 00:23:34,610 --> 00:23:38,750 Това е, защото за нещо нередно че съм написал в кода на PHP. 420 00:23:38,750 --> 00:23:42,844 И аз споменах отстраняване на грешки е трудно, защото в PHP, ние 421 00:23:42,844 --> 00:23:45,260 не го компилирате предварително и компилаторът не беше като, 422 00:23:45,260 --> 00:23:46,710 Тук е мястото, където вашите грешки са. 423 00:23:46,710 --> 00:23:49,690 >> Но какво можем да направим is-- направя хората помнят 424 00:23:49,690 --> 00:23:57,010 как да се вгледате в различна мрежа искания, които PHP-- или интернет страниците 425 00:23:57,010 --> 00:23:57,620 изпрати? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Е направил това в лекция веднъж или два пъти. 427 00:24:00,290 --> 00:24:05,830 Спомняш ли си, когато отидем да намерим различните дългове и 200 ОКС, 428 00:24:05,830 --> 00:24:09,780 всички тези кодове, които се изпращат чрез HTTP от уеб страница, за уеб страница? 429 00:24:09,780 --> 00:24:12,514 Дали някой си спомня къде отиваме, за да направи това? 430 00:24:12,514 --> 00:24:13,787 >> АУДИТОРИЯ: Page Source. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: източник Page. 432 00:24:14,870 --> 00:24:15,890 Точно. 433 00:24:15,890 --> 00:24:19,230 Ако отидете в Page Source-- перфектно. 434 00:24:19,230 --> 00:24:21,630 Така Page Source издърпва инспекторът. 435 00:24:21,630 --> 00:24:23,140 >> И аз съм с Safari. 436 00:24:23,140 --> 00:24:25,790 Много от вас вероятно ще да се използва Chrome или Firefox. 437 00:24:25,790 --> 00:24:27,750 Но докато сте във всеки модерен browser-- 438 00:24:27,750 --> 00:24:29,500 и не се колебайте да се следват заедно, ако искате. 439 00:24:29,500 --> 00:24:32,560 Можете да въведете до този кодекс или просто погледнете вътре в P комплект 6 440 00:24:32,560 --> 00:24:35,820 директория за някои сходни неща. 441 00:24:35,820 --> 00:24:41,020 hello.php е това, което сме в момента работи върху подражават. 442 00:24:41,020 --> 00:24:42,476 >> Така че има голямо разнообразие от разделите. 443 00:24:42,476 --> 00:24:43,850 Ние можем да разгледаме всички ресурси. 444 00:24:43,850 --> 00:24:45,810 Ние можем да видим сорс кода. 445 00:24:45,810 --> 00:24:49,900 Така изглежда, че не е направил мине покрай тялото в края. 446 00:24:49,900 --> 00:24:54,890 Тя бе открита грешка в PHP и да го спря зареждането на цялата уеб страница. 447 00:24:54,890 --> 00:24:58,320 Ние дори не трябва край маркер за HTML или нищо. 448 00:24:58,320 --> 00:25:07,189 >> И ако погледнем към мрежата, което можем се види, че ние сме се изпрати искане. 449 00:25:07,189 --> 00:25:07,980 Това е областта. 450 00:25:07,980 --> 00:25:09,270 Това е адреса. 451 00:25:09,270 --> 00:25:10,070 Това е документ. 452 00:25:10,070 --> 00:25:14,310 Ние сме се използва методът на получите. 453 00:25:14,310 --> 00:25:15,760 >> И това е червено. 454 00:25:15,760 --> 00:25:19,030 Или това беше червено, когато I Не е избирането му. 455 00:25:19,030 --> 00:25:22,680 Как мога да го откажете от избора? 456 00:25:22,680 --> 00:25:23,980 Е, това е червено. 457 00:25:23,980 --> 00:25:25,201 Позволете ми да освежи. 458 00:25:25,201 --> 00:25:25,700 Ето го. 459 00:25:25,700 --> 00:25:26,640 Сега е червено. 460 00:25:26,640 --> 00:25:30,530 >> Така че е червено, което означава, тя се провали, което е лошо. 461 00:25:30,530 --> 00:25:32,280 Така че нека да разгледаме защо това се е провалил. 462 00:25:32,280 --> 00:25:37,070 Така че всичко, което Източника Page може основно кажете ли ти е нещо 463 00:25:37,070 --> 00:25:38,720 не е работа, която вече можем да видим. 464 00:25:38,720 --> 00:25:42,100 Така че в идеалния случай би там да бъде по-полезен инструмент. 465 00:25:42,100 --> 00:25:45,710 И има някои разширения на браузъра които ви позволяват да трасира PHP, 466 00:25:45,710 --> 00:25:50,490 но ние няма да се пише един тон на PHP, 467 00:25:50,490 --> 00:25:53,190 така че е вероятно просто най-добрият да погледнете през вашия код 468 00:25:53,190 --> 00:25:56,760 внимателно и просто се уверете, че тя не прави нищо друго. 469 00:25:56,760 --> 00:26:03,876 >> Така че нека да видим дали форматът на това ако твърдение е къде е проблемът. 470 00:26:03,876 --> 00:26:07,420 Искам да се зареди, че обратно тук. 471 00:26:07,420 --> 00:26:09,830 Здравей здрасти. 472 00:26:09,830 --> 00:26:11,350 Така че има проблем там. 473 00:26:11,350 --> 00:26:15,130 >> Така че за правилния синтаксис на PHP, PHP ще 474 00:26:15,130 --> 00:26:17,369 да бъде C-подобен в които ще видите примки. 475 00:26:17,369 --> 00:26:18,410 Ще видим дали изявления. 476 00:26:18,410 --> 00:26:20,920 Ще видите всички тези приятели че сте се запознаят 477 00:26:20,920 --> 00:26:24,820 с течение на този CS50 семестър. 478 00:26:24,820 --> 00:26:29,960 Но най-добрият начин да разбера как да направи нещо в PHP е да го Гугъл 479 00:26:29,960 --> 00:26:33,170 или да разгледаме някои примери за PHP код защото знаете функционалността. 480 00:26:33,170 --> 00:26:35,080 >> Знаеш ли какво можеш общо с програмата. 481 00:26:35,080 --> 00:26:35,976 Можете линия. 482 00:26:35,976 --> 00:26:37,600 Можете контур толкова пъти, колкото искате. 483 00:26:37,600 --> 00:26:39,433 Можете линия във всички всевъзможни различни начини. 484 00:26:39,433 --> 00:26:40,700 Можете да създавате функции. 485 00:26:40,700 --> 00:26:43,241 Можете да създавате функции, които повикване на други функции, функции 486 00:26:43,241 --> 00:26:44,150 които наричат ​​себе си. 487 00:26:44,150 --> 00:26:45,733 И вие имате имена за тези понятия. 488 00:26:45,733 --> 00:26:49,860 Имаш рекурсия, дръжки, ако това другите потоци контрол. 489 00:26:49,860 --> 00:26:51,300 И така, Google е най-добрият ти приятел. 490 00:26:51,300 --> 00:26:53,540 Дори и да каже: "PHP, ако Декларация "и там ще 491 00:26:53,540 --> 00:26:57,740 бъде тона мнения с отговори на други хора 492 00:26:57,740 --> 00:27:02,090 които съм имал подобни въпроси към вас, които са само началото с PHP 493 00:27:02,090 --> 00:27:03,820 и любопитни за нещо синтаксис. 494 00:27:03,820 --> 00:27:08,480 >> Защото ние имаме лукса да са в състояние да погледнете кода в P набор 6, 495 00:27:08,480 --> 00:27:14,980 ние всъщност го спра и да видим, че OK, ето нещо интересно. 496 00:27:14,980 --> 00:27:18,070 Така че това е, което е в действителност Приличаше на P зададете 6. 497 00:27:18,070 --> 00:27:20,340 Така че, ако ние преминаваме през това, можем да видим, че ние сме 498 00:27:20,340 --> 00:27:27,150 имам няколко от тях малко Бита въпросителен знак PHP-подобни. 499 00:27:27,150 --> 00:27:29,050 >> И там не са фигурни скоби. 500 00:27:29,050 --> 00:27:30,250 Има и запетая. 501 00:27:30,250 --> 00:27:32,340 И там са къдрава тиранти в PHP, но това 502 00:27:32,340 --> 00:27:38,700 е формат и начин на правене PHP, който работи добре с HTML 503 00:27:38,700 --> 00:27:43,830 защото както ще видите, ние сме затваряне изключите тези PHP bits-- на иначе 504 00:27:43,830 --> 00:27:49,770 и ИС и на всички that-- и след това ние сме разпръснато вплитане HTML вътре в тях 505 00:27:49,770 --> 00:27:54,640 докато все още следвайки контрол на потока, определен от PHP. 506 00:27:54,640 --> 00:27:58,480 >> Така че аз съм просто ще бърза разходка през този 507 00:27:58,480 --> 00:28:01,740 защото това е много еднакви концепции, които правехме преди. 508 00:28:01,740 --> 00:28:07,280 Имаме, ако не е празна, скоби, _GET_GET ["име"]. 509 00:28:07,280 --> 00:28:08,500 Това е още едно и също нещо. 510 00:28:08,500 --> 00:28:15,430 Ние използваме речника на _GET, че PHP изпраща при поискване от форми, 511 00:28:15,430 --> 00:28:20,720 защото е параметрите на действие, както и методът е точка. 512 00:28:20,720 --> 00:28:22,110 И след това, което завършва това. 513 00:28:22,110 --> 00:28:27,420 Дебелото черво е означаващо просто да направите това ако, ако изявлението оценява да е вярно. 514 00:28:27,420 --> 00:28:29,490 Това е като фигурна скоба. 515 00:28:29,490 --> 00:28:33,320 И в действителност, това е фигурна скоба в други езици като Python, 516 00:28:33,320 --> 00:28:37,070 които може да срещнете, ако просто направи това за своя окончателен проект. 517 00:28:37,070 --> 00:28:40,170 >> И тогава тази линия, здравей. 518 00:28:40,170 --> 00:28:41,510 Тогава ние имаме това нещо странно. 519 00:28:41,510 --> 00:28:43,190 Имаме повече скоби. 520 00:28:43,190 --> 00:28:46,140 Няма по HTTP there-- или PHP, съжалявам. 521 00:28:46,140 --> 00:28:47,250 Но има знак за равенство. 522 00:28:47,250 --> 00:28:50,625 И тогава имаме функция, htmlspecialchars (_GEThtmlspecialchars (_GET ["име"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Това е нещо като по- усъвършенствана версия на ехо. 525 00:28:58,040 --> 00:29:01,450 Както бяхме ехо като начин да отпечатате неща в PHP. 526 00:29:01,450 --> 00:29:03,890 Това е функция, която е определени в PHP че 527 00:29:03,890 --> 00:29:08,160 ще се занимава с някаква по-груба символи и ценности байт 528 00:29:08,160 --> 00:29:09,540 че бихте могли да я премине. 529 00:29:09,540 --> 00:29:11,070 Той винаги е най-безопасният да използвате тази. 530 00:29:11,070 --> 00:29:14,930 Но ехото ще си свършат работата само глоба, ако не сме 531 00:29:14,930 --> 00:29:17,620 занимаващи се с нещо твърде груба. 532 00:29:17,620 --> 00:29:20,340 >> И така, това има същото ефект на основно, 533 00:29:20,340 --> 00:29:26,360 тези неща в между въпрос марка се оценява чрез PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars връща приятно HTML отпечатана стойност _GET_GET ["име"], т.е. 535 00:29:34,490 --> 00:29:36,010 каквото и да въведе във формуляра. 536 00:29:36,010 --> 00:29:40,025 И тогава той ще кажа здрасти, запетая пространство и след това. 537 00:29:40,025 --> 00:29:42,910 Това цялото нещо между ъглови скоби 538 00:29:42,910 --> 00:29:47,390 ще бъде заменен от каквото и htmlspecialchars пъди. 539 00:29:47,390 --> 00:29:49,390 Така че това е в общи линии сходна до това, което правим. 540 00:29:49,390 --> 00:29:54,760 И ние имаме едно изявление друго, което е Здравей, свят, който има смисъл. 541 00:29:54,760 --> 00:29:58,070 Така че сега нека се върнем към нашия код и да видим exactly-- о. 542 00:29:58,070 --> 00:30:02,200 Казах съществува, което не е нещо, което искахме да направим. 543 00:30:02,200 --> 00:30:05,370 Ние искахме да кажем, не е празна. 544 00:30:05,370 --> 00:30:10,020 >> И така, това трябва да работи малко по- малко по-добре, не е празна _GET_GET ["име"]. 545 00:30:10,020 --> 00:30:12,710 И това фигурна скоба съвпада с тази фигурна скоба. 546 00:30:12,710 --> 00:30:15,210 Имаме нашите фигурни скоби тук. 547 00:30:15,210 --> 00:30:17,790 ехо здравей _GET ["име"]. 548 00:30:17,790 --> 00:30:19,912 Да видим дали това работи малко по-добре. 549 00:30:19,912 --> 00:30:21,350 Ние все още използвате нашия сървър. 550 00:30:21,350 --> 00:30:23,910 Здравейте Джейсън. 551 00:30:23,910 --> 00:30:24,780 Здравейте Джейсън. 552 00:30:24,780 --> 00:30:25,810 И тя работи това време. 553 00:30:25,810 --> 00:30:29,860 И така, това е доказателство, че можете наистина 554 00:30:29,860 --> 00:30:35,180 използвате фигурните скоби, че сте знаем и любов в PHP код в HTML. 555 00:30:35,180 --> 00:30:41,100 Кодът на PHP е предвидено да сте в pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 предвижда друг начин за правиш, че едно и също нещо. 557 00:30:44,760 --> 00:30:49,220 >> Така че сега ние имаме силата. 558 00:30:49,220 --> 00:30:55,740 Имаме функционалността за изпълнение кода на PHP, които видяхме в pset 6 559 00:30:55,740 --> 00:30:57,390 от себе си, в общи линии. 560 00:30:57,390 --> 00:31:01,350 Преди да се премине, какви са някои от най- въпроси, които имате в този момент? 561 00:31:01,350 --> 00:31:02,066 Да [недоловим]. 562 00:31:02,066 --> 00:31:06,512 >> АУДИТОРИЯ: Така че в редакцията му в pset6, когато го стартирате, има пространство. 563 00:31:06,512 --> 00:31:09,330 И мога да видя къде е пространството след запетаята. [Недоловим] старт 564 00:31:09,330 --> 00:31:10,700 отворената скоба. 565 00:31:10,700 --> 00:31:15,420 Как се включи в пространството начина, по който пише свои собствени кодове? 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER: Това е добър въпрос. 567 00:31:17,910 --> 00:31:21,650 И така, нека да разберат това. 568 00:31:21,650 --> 00:31:24,450 Така че това е наистина добър въпрос и този, който аз не помисли. 569 00:31:24,450 --> 00:31:25,950 Но нека го направим заедно. 570 00:31:25,950 --> 00:31:30,280 >> Така на първо място, което Правя с ехо 571 00:31:30,280 --> 00:31:33,690 е, когато ние просто ехо здравей, здравей да подава. 572 00:31:33,690 --> 00:31:41,310 Ако ние си спомняме сега тази точка на отделен линия, нека да разгледаме какво се случва. 573 00:31:41,310 --> 00:31:43,740 Така че ние кликнете върху тази. 574 00:31:43,740 --> 00:31:45,220 Поддържаме казвайки: Здравейте Джейсън. 575 00:31:45,220 --> 00:31:48,690 Така че отново, ние нямаме това пространство. 576 00:31:48,690 --> 00:31:53,090 >> И това е, защото в PHP, когато сме ехо, 577 00:31:53,090 --> 00:31:55,820 без значение колко spaces-- Не, не на V-- 578 00:31:55,820 --> 00:32:01,770 без значение колко пространства ще се постави в here-- ако сега се зареди, че отново, 579 00:32:01,770 --> 00:32:03,010 Здравейте Джейсън. 580 00:32:03,010 --> 00:32:05,770 Да, вижте, всички тези, пространства имам изядени. 581 00:32:05,770 --> 00:32:08,020 И това е нещо, което ехо функцията прави. 582 00:32:08,020 --> 00:32:11,110 >> Така че, за да се грижи за това пространство, и това е 583 00:32:11,110 --> 00:32:14,960 една от причините, защо не използвате ехо 584 00:32:14,960 --> 00:32:18,200 и можете да използвате htmlspecialchars вместо. 585 00:32:18,200 --> 00:32:22,140 Аз съм любопитен какво ще се случи, ако ние направихме това 586 00:32:22,140 --> 00:32:26,700 където ние затворено пространство, в низ. 587 00:32:26,700 --> 00:32:29,720 Аз честно казано не съм сигурен какво ще се случи, когато аз правя това. 588 00:32:29,720 --> 00:32:30,790 >> Така че това е един от начините. 589 00:32:30,790 --> 00:32:32,210 Това е един от начините да се грижи за него. 590 00:32:32,210 --> 00:32:34,840 Ако увийте пространството низ, тогава пространството 591 00:32:34,840 --> 00:32:36,920 Ще се изведе добре с ехо. 592 00:32:36,920 --> 00:32:41,930 Най-безопасният нещо да направите, е да се направи htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 Това е винаги безопасно залог. 594 00:32:43,800 --> 00:32:47,050 Но сега ние имаме начин да се направи то с ехо, ако е необходимо. 595 00:32:47,050 --> 00:32:50,700 И по същия начин, ние можем ехо нови линии, всички вид 596 00:32:50,700 --> 00:32:53,550 неща вие сте запознат правиш в PHP. 597 00:32:53,550 --> 00:32:57,460 >> Някой друг, какви са повече въпроси, които други хора са 598 00:32:57,460 --> 00:33:01,090 в този момент за PHP? 599 00:33:01,090 --> 00:33:04,620 Ако хората се появиха малко късно, Щастлив съм да остана след малко 600 00:33:04,620 --> 00:33:06,420 и да поговорим за някои от самото начало. 601 00:33:06,420 --> 00:33:10,380 И това е също и всички livestreamed, и архивира, който е луд. 602 00:33:10,380 --> 00:33:13,960 >> Както и да е, така че сега нека да се направят някои по-напреднали неща с PHP. 603 00:33:13,960 --> 00:33:18,790 И един от най-ранните неща, бяха въведени в C е за вериги. 604 00:33:18,790 --> 00:33:24,060 И PHP има по-мощен за линия, наречена примката foreach. 605 00:33:24,060 --> 00:33:37,940 И изглежда, че за всяка празна this-- като празни, фигурни скоби, направете нещо. 606 00:33:37,940 --> 00:33:41,500 Така че това е в основата на стенограмите. 607 00:33:41,500 --> 00:33:45,380 >> Ето, за цикъл като синтактичен строеж 608 00:33:45,380 --> 00:33:50,590 бе създадена в C и в монтажа език и такива неща. 609 00:33:50,590 --> 00:33:56,300 Разработена в C, точно, като стенограф за много от видовете електрически вериги 610 00:33:56,300 --> 00:33:57,750 че хората ще видят. 611 00:33:57,750 --> 00:34:01,230 Както, когато ви е написал една линия, има често е стъпка инициализация 612 00:34:01,230 --> 00:34:04,700 изпълнена точно в начало, състояние, при което веригата ще stop-- 613 00:34:04,700 --> 00:34:07,030 и това е характеристиката това е само в една линия, докато, 614 00:34:07,030 --> 00:34:10,040 или че докато има точно Просто feature-- и след това 615 00:34:10,040 --> 00:34:12,320 стъпка на нарастване На в края. 616 00:34:12,320 --> 00:34:16,489 И така бихте често откриете себе си пишете код като следното. 617 00:34:16,489 --> 00:34:19,780 Отивам да изтриете някои от това. 618 00:34:19,780 --> 00:34:23,850 >> Но ако сме итерации през герои в масив, 619 00:34:23,850 --> 00:34:26,960 например, като ние сме имам един набор от знаци. 620 00:34:26,960 --> 00:34:29,400 Съжаляваме да върне C. Знам, Вие смятате ли стана това. 621 00:34:29,400 --> 00:34:31,900 Но това е само за целта, на обучение PHP, обещавам. 622 00:34:31,900 --> 00:34:38,880 Така че, ако имаш ул Чар на разстояние 8, и нека 623 00:34:38,880 --> 00:34:46,760 казват, че казва Hellooo с плаващ нищожна. 624 00:34:46,760 --> 00:34:48,270 Great, така че това е нашият стринг. 625 00:34:48,270 --> 00:34:51,469 >> И тогава имахме за контур. 626 00:34:51,469 --> 00:34:53,730 Имаме инт аз равна на 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 И ние искаме да излезете, когато STR аз не се равнява на равно на нула, 629 00:35:09,110 --> 00:35:11,590 защото ние излезете, когато тя е равна на нула. 630 00:35:11,590 --> 00:35:19,170 И след това, което правим аз ++ при всеки точка в за контур. 631 00:35:19,170 --> 00:35:30,480 Правейки нещо с ул от и. 632 00:35:30,480 --> 00:35:34,950 >> Така че основната формула е, имахме този масив, че ние 633 00:35:34,950 --> 00:35:37,910 Исках да третират като отделни елементи. 634 00:35:37,910 --> 00:35:45,170 Но това, което трябваше да направя, е, че трябва да основно се създаде отделна число 635 00:35:45,170 --> 00:35:50,530 променлива, която се брои всеки път минахме през примката. 636 00:35:50,530 --> 00:35:55,240 И тогава ние ще трябва да се обадя след това strstr [в], когато това, което наистина исках да направя 637 00:35:55,240 --> 00:35:57,280 е просто отидете характер по знак, нали? 638 00:35:57,280 --> 00:36:00,185 Ние не искаме да увеличите на число и след това да използва това число 639 00:36:00,185 --> 00:36:02,780 за достъп до всеки един от героите поотделно. 640 00:36:02,780 --> 00:36:04,410 Ние наистина искаме знак по знак. 641 00:36:04,410 --> 00:36:08,600 >> И така за всяко интелигентно изчислява, че за нас. 642 00:36:08,600 --> 00:36:11,875 Ако имаме масив, който ние може да обяви в PHP 643 00:36:11,875 --> 00:36:15,900 като just-- ако имаме променлива призовани, нека го наречем масив. 644 00:36:15,900 --> 00:36:19,840 Чудесата на не пишете, че е точно като всяка друга променлива. 645 00:36:19,840 --> 00:36:20,730 Това е просто един масив. 646 00:36:20,730 --> 00:36:26,890 И ние имаме малко [недоловим] като 1, 2, 3, само един вид Initialized масив. 647 00:36:26,890 --> 00:36:29,680 Всичко е наред, той не харесва ми foreach. 648 00:36:29,680 --> 00:36:33,120 >> Но ако ние действително foreach-- Написах, че малко погрешно. 649 00:36:33,120 --> 00:36:34,840 Има два начина да направите един foreach цикъл. 650 00:36:34,840 --> 00:36:37,400 Има синтаксис в и като синтаксис. 651 00:36:37,400 --> 00:36:40,580 И ние ще направим в първия синтаксис не, като. 652 00:36:40,580 --> 00:36:41,780 Това е моя грешка. 653 00:36:41,780 --> 00:36:53,785 >> Така че foreach бр в масив, ехо бр. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 И PHP се крещи ми по някаква причина. 656 00:36:59,500 --> 00:37:03,520 Тя намери неочакван в в нещо, 657 00:37:03,520 --> 00:37:05,820 което е малко по-притеснява. 658 00:37:05,820 --> 00:37:09,105 Но ще разбера Затова, че е в един миг. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Така че не ми харесва това. 661 00:37:13,610 --> 00:37:15,040 Нека се опитаме с помощта на като. 662 00:37:15,040 --> 00:37:17,310 Тя предпочита АС синтаксис е изглежда. 663 00:37:17,310 --> 00:37:22,550 Така че нека да направим foreach масив като бр. 664 00:37:22,550 --> 00:37:24,520 >> Така че по-малко обяснение от това, което се е случило 665 00:37:24,520 --> 00:37:30,670 е като синтаксис е saying-- добре на първо място, нека да погледнем какво е това отпечатва. 666 00:37:30,670 --> 00:37:32,260 Така че ние отваряме нашият IDE. 667 00:37:32,260 --> 00:37:33,110 Ние отидете тук. 668 00:37:33,110 --> 00:37:35,845 Ние казваме, Hello Джейсън. 669 00:37:35,845 --> 00:37:41,390 И го е направил 123, които са били на съдържанието на масива, че сме създали до върха. 670 00:37:41,390 --> 00:37:45,500 >> Така че да се гмурне в този цикъл foreach, имаме променлива, наречена масив 671 00:37:45,500 --> 00:37:47,470 който е масив от три числа. 672 00:37:47,470 --> 00:37:52,120 И тогава ние правим foreach масив, както бр, ехо бр. 673 00:37:52,120 --> 00:37:54,990 И това е по- интуитивно, отколкото за клепнали. 674 00:37:54,990 --> 00:38:02,380 Ние което казваш, лечение на всеки един от нещата в масива, както бр, 675 00:38:02,380 --> 00:38:05,180 Искам да ми дадете бр. 676 00:38:05,180 --> 00:38:06,640 И това е точно това, което прави. 677 00:38:06,640 --> 00:38:12,000 >> PHP е, че изчисляването когато казвате foreach масив, 678 00:38:12,000 --> 00:38:16,080 и имаш работа с масив, това, което започваш да искаш да обхождане 679 00:38:16,080 --> 00:38:19,950 е, че героите в масив, е на цели числа в тази масив, 680 00:38:19,950 --> 00:38:21,920 е, че елементите в масив. 681 00:38:21,920 --> 00:38:26,110 И това е което ви позволява да съхранявате тези променливи като бр, 682 00:38:26,110 --> 00:38:29,360 и след това просто изход бр веднага, вместо да кажат: 683 00:38:29,360 --> 00:38:34,090 Имам променлива, наречена аз, и След това искам да изход strstr [в]. 684 00:38:34,090 --> 00:38:39,130 >> И така, това ни позволява да направим готини неща. 685 00:38:39,130 --> 00:38:43,330 Като основно ние не трябва да се създаде тези променливи, като аз си и да правят всичко 686 00:38:43,330 --> 00:38:45,090 това нарастване На неща в края. 687 00:38:45,090 --> 00:38:48,290 PHP се грижи за всичко това за вас. 688 00:38:48,290 --> 00:38:54,470 >> Така че сега нека поговорим за foreach като тя се прилага към нашия _GET речника. 689 00:38:54,470 --> 00:38:57,170 Така че ние ще коментирате това бързо. 690 00:38:57,170 --> 00:39:02,030 Така че ние имаме нашата _GET масив. 691 00:39:02,030 --> 00:39:04,361 Ние имаме тази променлива. 692 00:39:04,361 --> 00:39:05,610 И тя има някои неща в него. 693 00:39:05,610 --> 00:39:10,275 >> Точно сега, ние имаме само една променлива да се прехвърлят към него, който е име. 694 00:39:10,275 --> 00:39:13,420 Но ако това натиснете Enter, сега ние можем да имаме две променливи. 695 00:39:13,420 --> 00:39:17,910 Ние можем да имаме име и възраст, например, ако искаме да получим възрастта и също 696 00:39:17,910 --> 00:39:20,960 на името на лице, достатъчно смешно. 697 00:39:20,960 --> 00:39:25,690 >> Така че сега _GET ще бъде речник с два елемента, 698 00:39:25,690 --> 00:39:27,980 с две двойки ключови стойности. 699 00:39:27,980 --> 00:39:33,490 И първото key-- Отивам да пиша това един на дъската също. 700 00:39:33,490 --> 00:39:37,136 Имаме нашия речник е _GET. 701 00:39:37,136 --> 00:39:39,520 За съжаление, това е е малко трудно да се види. 702 00:39:39,520 --> 00:39:46,690 Но вътре нашия речник имаме Име, което ще бъде нещо 703 00:39:46,690 --> 00:39:47,680 че ние сме дал. 704 00:39:47,680 --> 00:39:53,040 И ще имаме възраст, който също е щеше да бъде нещо, което ние не дава. 705 00:39:53,040 --> 00:39:56,020 И това е съвкупността на нашия речник. 706 00:39:56,020 --> 00:39:57,730 >> Така че тя има две елементи в него. 707 00:39:57,730 --> 00:40:01,310 И така, защото foreach примки са умни, ние 708 00:40:01,310 --> 00:40:04,900 Може би си мислите, и правилно Може би си мислите, че foreach 709 00:40:04,900 --> 00:40:08,080 може обхождане чрез този речника, отпечатване 710 00:40:08,080 --> 00:40:10,850 стойностите, дадени по име и възраст. 711 00:40:10,850 --> 00:40:14,510 >> Така че нека да всъщност правят точно това. 712 00:40:14,510 --> 00:40:17,520 Да се ​​изгради foreach цикъл. 713 00:40:17,520 --> 00:40:23,351 И ние ще направим за _GET като. 714 00:40:23,351 --> 00:40:24,850 И ние ще направим следното. 715 00:40:24,850 --> 00:40:34,186 Така че нека да видим какво ще стане, ако ние латиница просто дума, а след това казват ехо дума. 716 00:40:34,186 --> 00:40:40,540 Ние също така ще ехо на нов ред просто за да бъде малко по-ясни, 717 00:40:40,540 --> 00:40:41,260 какво става. 718 00:40:41,260 --> 00:40:42,890 >> Така че нека да видим. 719 00:40:42,890 --> 00:40:44,390 Това не ми дава никакви грешки. 720 00:40:44,390 --> 00:40:46,810 И ние ще се затвори тази. 721 00:40:46,810 --> 00:40:51,020 На нашия сайт, вие ще трябва да се прави много от които в течение на pset7. 722 00:40:51,020 --> 00:40:53,890 Така че ние казваме, моето име е Сам. 723 00:40:53,890 --> 00:40:58,560 Моята възраст е 45. 724 00:40:58,560 --> 00:41:01,060 Не е. 725 00:41:01,060 --> 00:41:05,640 Но това отпечатва, както се очаква, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> И така, вие ще забележите, че какво foreach цикъл did-- тук, 727 00:41:08,930 --> 00:41:12,360 нека се върнем към това, така че това е до на board-- стигнем _GET като дума. 728 00:41:12,360 --> 00:41:15,130 И имаше четири неща в _GET. 729 00:41:15,130 --> 00:41:17,410 Но това отпечатана само две неща. 730 00:41:17,410 --> 00:41:21,290 foreach, е неговата интелигентност самостоятелно, Предполага се, че това, което ние наистина искахме 731 00:41:21,290 --> 00:41:24,100 беше ценностите, а не на ключовете. 732 00:41:24,100 --> 00:41:27,800 >> Но има един начин, по който можем да отпечатате от клавишите, както и, ако искахме да. 733 00:41:27,800 --> 00:41:30,810 Ако искахме да се знае какво тези променливи са били наричани, 734 00:41:30,810 --> 00:41:33,540 има начин, че ние може да получите достъп до тази, както добре. 735 00:41:33,540 --> 00:41:36,840 И по пътя към нещо като направите това, така че можем да кажем, нека наистина 736 00:41:36,840 --> 00:41:39,485 тя се раздели на двойки ключови стойности. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Така че нека да видим какво ще стане сега. 739 00:41:47,580 --> 00:41:50,550 >> Така че ние имаме ключ. 740 00:41:50,550 --> 00:41:52,290 Имаме стойност. 741 00:41:52,290 --> 00:41:56,650 Имаме още един нов линия за четливост. 742 00:41:56,650 --> 00:42:00,540 И нека да видим какво ще се случи когато правим това сега. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Аз не знам на колко години е Джейсън. 745 00:42:06,720 --> 00:42:09,180 Джейсън 15. 746 00:42:09,180 --> 00:42:11,650 Така че ние имаме име Джейсън, 15-годишна възраст. 747 00:42:11,650 --> 00:42:15,830 Така че ние успяхме да влезем ключът и стойност на двойки на този речник 748 00:42:15,830 --> 00:42:18,590 просто като кажа като ключови точки за стойност. 749 00:42:18,590 --> 00:42:23,350 И това е foreach синтактична захар битов, който позволява 750 00:42:23,350 --> 00:42:25,960 можете да получите достъп до неща в речника. 751 00:42:25,960 --> 00:42:31,190 >> Така че да се надяваме този вид подчертава мощността на цикъла foreach. 752 00:42:31,190 --> 00:42:35,690 Можете доста много хвърляне всичко, което iterable изглежда, 753 00:42:35,690 --> 00:42:38,922 като всичко, което има множествена елементи като масив, 754 00:42:38,922 --> 00:42:41,880 като dictionary-- тези два първични неща, които ще бъдат работещи с 755 00:42:41,880 --> 00:42:45,630 както в живота и в pset 7. 756 00:42:45,630 --> 00:42:49,350 Така че можете да хвърлят тези неща в нея, и тя ще разбера 757 00:42:49,350 --> 00:42:51,030 какво искате да правите с него. 758 00:42:51,030 --> 00:42:54,250 Той ще каже, OK, аз отивам да получите тези неща от данните, които 759 00:42:54,250 --> 00:42:55,680 е приет за мен. 760 00:42:55,680 --> 00:43:02,470 И това е нещо, което сте ще бъде с помощта на много по pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Отивам да се бърза превъртане надолу, само за да види къде съм на. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Дали хората имат въпроси в този момент? 764 00:43:13,070 --> 00:43:13,778 Въпроси на всички? 765 00:43:13,778 --> 00:43:14,400 Да? 766 00:43:14,400 --> 00:43:18,320 >> АУДИТОРИЯ: Така че с ключа и стойността, можете да се сетите нещо друго 767 00:43:18,320 --> 00:43:20,507 и тя все още ще работят? 768 00:43:20,507 --> 00:43:21,090 SPEAKER: Ами сега. 769 00:43:21,090 --> 00:43:22,820 Уау, аз съм напълно изтрита цялата линия. 770 00:43:22,820 --> 00:43:23,380 Чудесна работа. 771 00:43:23,380 --> 00:43:26,502 Така че, един. 772 00:43:26,502 --> 00:43:30,109 Key и стойност не е просто една конвенция. 773 00:43:30,109 --> 00:43:30,650 Това е от полза. 774 00:43:30,650 --> 00:43:34,010 Вие ще получите някои дизайн точки, може би някои точки за стил 775 00:43:34,010 --> 00:43:36,970 за това, че тъй като тя наистина предава намерението. 776 00:43:36,970 --> 00:43:39,650 Но ние казваме, а и yarp. 777 00:43:39,650 --> 00:43:42,476 >> АУДИТОРИЯ: Вие не трябва да промени нищо в HTML файл 778 00:43:42,476 --> 00:43:43,607 за да се отрази това? 779 00:43:43,607 --> 00:43:44,440 SPEAKER: Ни най-малко. 780 00:43:44,440 --> 00:43:47,260 АУДИТОРИЯ: И той просто знае, че поради равенство голяма than-- 781 00:43:47,260 --> 00:43:47,801 SPEAKER: Да. 782 00:43:47,801 --> 00:43:49,489 АУДИТОРИЯ: --that индикатор, който that's-- 783 00:43:49,489 --> 00:43:50,030 SPEAKER: Да. 784 00:43:50,030 --> 00:43:52,260 Това е синтаксис foreach, но да. 785 00:43:52,260 --> 00:43:53,720 >> АУДИТОРИЯ: Там не са видове. 786 00:43:53,720 --> 00:43:57,230 И какво от това, ако искате възраст да бъде само няколко? 787 00:43:57,230 --> 00:43:59,510 Има ли начин да се направи това? 788 00:43:59,510 --> 00:44:04,550 >> SPEAKER: Има начини, за да проверите дали променливи отговарят на определени видове. 789 00:44:04,550 --> 00:44:08,482 Така PHP пита малко повече от вас, защото не съществуват видове в. 790 00:44:08,482 --> 00:44:09,440 Някои от начините да го пита по-малко. 791 00:44:09,440 --> 00:44:11,070 В някои отношения тя иска повече. 792 00:44:11,070 --> 00:44:13,320 Защото, ако имате само нещо в променлива, 793 00:44:13,320 --> 00:44:14,960 вие нямате представа какъв тип е тя. 794 00:44:14,960 --> 00:44:19,310 Но ако сте умни за променливите обаче да задавате типове на и се уверете, 795 00:44:19,310 --> 00:44:22,750 която функционира само вие return-- Искам само функции на възвръщаемост 796 00:44:22,750 --> 00:44:26,210 един вид стойност, така че че можете основно 797 00:44:26,210 --> 00:44:31,090 Очакваме, че променливата се върнеш от функция ще бъде от типа 798 00:44:31,090 --> 00:44:32,780 че си мислиш, че ще бъде, в общи линии. 799 00:44:32,780 --> 00:44:36,550 >> Но има някои методи чрез която можете да проверите. 800 00:44:36,550 --> 00:44:39,801 Аз не ги помня разстояние от върха на главата ми. 801 00:44:39,801 --> 00:44:43,300 Чакам го да се оцвети в синьо. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 Има методи вградена в PHP, които могат да 805 00:44:52,000 --> 00:44:54,440 провери вида на променливи за вас. 806 00:44:54,440 --> 00:44:58,250 Но ако зададете променливи изящно, не трябва да 807 00:44:58,250 --> 00:45:01,330 трябва да се направи, че твърде много в pset 7. 808 00:45:01,330 --> 00:45:02,780 Но тези методи съществуват. 809 00:45:02,780 --> 00:45:06,704 И това е нещо, което е в самия език. 810 00:45:06,704 --> 00:45:08,370 И аз не си спомням точната синтаксис. 811 00:45:08,370 --> 00:45:09,930 Ние дори може да го гледам. 812 00:45:09,930 --> 00:45:11,974 Но времето е от съществено значение. 813 00:45:11,974 --> 00:45:13,890 има ли някой друг имате някакви въпроси? 814 00:45:13,890 --> 00:45:14,660 Да. 815 00:45:14,660 --> 00:45:15,951 >> АУДИТОРИЯ: Имам само още един. 816 00:45:15,951 --> 00:45:19,050 Така че ви спомена метода GET, но ти не спомена метода POST. 817 00:45:19,050 --> 00:45:20,500 Дали сме се върне към това? 818 00:45:20,500 --> 00:45:21,540 >> SPEAKER: Да, ние ще да се върне към това. 819 00:45:21,540 --> 00:45:24,840 Това е точно това, което търсех в моя телефон, който сега заспа, 820 00:45:24,840 --> 00:45:26,960 но аз ще го намеря. 821 00:45:26,960 --> 00:45:30,680 Просто като се уверите, че ударихме всички PHP бележки. 822 00:45:30,680 --> 00:45:35,640 Да, няма грешки версия. 823 00:45:35,640 --> 00:45:41,940 Да, имаме още няколко неща, които ние искаме да направим сега в този момент. 824 00:45:41,940 --> 00:45:45,980 >> Така че говорим за POST, които споменахте, 825 00:45:45,980 --> 00:45:49,630 единствената разлика между GET и POST е 826 00:45:49,630 --> 00:45:53,150 че си спомням, когато погледнахме На този URL и видяхме, о, 827 00:45:53,150 --> 00:45:58,270 Име равнява на и възраст се равнява yarp си прав в URL адреса има за нас. 828 00:45:58,270 --> 00:46:03,300 POST е малко по-потаен с неговото приемане на информация. 829 00:46:03,300 --> 00:46:08,090 >> Така че, ако не искаше потребител да се знае, например, можете 830 00:46:08,090 --> 00:46:11,160 не му попречи потребителско име и парола на лицето 831 00:46:11,160 --> 00:46:15,080 влезете в момента, за да се покаже в адреса, който е разумен нещо 832 00:46:15,080 --> 00:46:17,770 да не искате в URL адреса, защото някой може да го види. 833 00:46:17,770 --> 00:46:21,520 Ако те се свърже някой към страница, вие не искат тяхната URL измазани там, 834 00:46:21,520 --> 00:46:27,850 защото това ще позволи на хората да се логнете само с поставяне на URL, вместо 835 00:46:27,850 --> 00:46:29,670 на действително попълване на формуляр. 836 00:46:29,670 --> 00:46:31,710 POST е малко по-потаен. 837 00:46:31,710 --> 00:46:34,150 >> И единствените неща, които ние ще трябва да се промени 838 00:46:34,150 --> 00:46:38,550 са този метод, промяна от точка, за да оставите. 839 00:46:38,550 --> 00:46:42,367 И тогава вътре в HTTP, вместо за достъп до _GET масив, 840 00:46:42,367 --> 00:46:43,950 отиваме за достъп до _POST масив. 841 00:46:43,950 --> 00:46:48,600 >> И ние ще забележите, че, ако ние отваряме тази отново нагоре, 842 00:46:48,600 --> 00:46:51,910 Джейсън бавно отслабва във възрастта. 843 00:46:51,910 --> 00:46:53,230 Име на Джейсън, 14-годишна възраст. 844 00:46:53,230 --> 00:46:54,280 В едно и също нещо ще изскочи. 845 00:46:54,280 --> 00:46:57,190 Но ние отидете на URL адреса и тези променливи не са там. 846 00:46:57,190 --> 00:47:00,540 >> И начинът, по който POST passes-- така че не забравяйте 847 00:47:00,540 --> 00:47:02,750 как да изглежда при източника на една страница. 848 00:47:02,750 --> 00:47:04,570 Отиваме към мрежата. 849 00:47:04,570 --> 00:47:06,920 Ние освежи. 850 00:47:06,920 --> 00:47:10,690 И това е друго нещо, което POST ще ви даде предупреждения относно. 851 00:47:10,690 --> 00:47:15,050 Може би сте виждали кутия, текстово боксира като този във вашия браузър. 852 00:47:15,050 --> 00:47:18,170 Сигурни ли сте, искате изпращане на формуляр отново? 853 00:47:18,170 --> 00:47:21,170 POST е какво се изпраща тези форми. 854 00:47:21,170 --> 00:47:24,680 >> Тъй като основно, ако сте изпратили информация за кредитни карти с някого, 855 00:47:24,680 --> 00:47:26,350 че няма да се показват в URL адреса. 856 00:47:26,350 --> 00:47:28,180 Това ще бъде искане за POST. 857 00:47:28,180 --> 00:47:32,905 Така че, когато обнови страницата, това е повторно изпращане, че след запитване. 858 00:47:32,905 --> 00:47:35,530 Така че сега ние искаме да изпратим образуват отново, защото това не се случва 859 00:47:35,530 --> 00:47:37,340 да се създадат някакви дублиращи покупки. 860 00:47:37,340 --> 00:47:41,160 >> И ние ще забележите, че тук долу, метода ние използваме е POST. 861 00:47:41,160 --> 00:47:43,065 И това наистина е било направено от байтове. 862 00:47:43,065 --> 00:47:45,460 Тя се прехвърля 401 от тях. 863 00:47:45,460 --> 00:47:47,190 Програма е доста малка. 864 00:47:47,190 --> 00:47:51,600 Но има къде, че можем да видим стойностите, които се предават. 865 00:47:51,600 --> 00:47:59,540 Уеб страниците сами могат да видят, но ние като потребители не са в състояние да се види, 866 00:47:59,540 --> 00:48:01,650 освен ако не сте хакер. 867 00:48:01,650 --> 00:48:05,340 Ако сте добър хакер, можете да погледнете. 868 00:48:05,340 --> 00:48:09,360 >> Ако знаете основните формат на HTML, 869 00:48:09,360 --> 00:48:11,790 стойностите ще направят явили в страниците. 870 00:48:11,790 --> 00:48:13,160 Вие ще бъдете в състояние да се види. 871 00:48:13,160 --> 00:48:16,720 Стойностите ще бъдат там, те са само малко по-малко очевидни за вас 872 00:48:16,720 --> 00:48:19,522 да имат достъп, в общи линии. 873 00:48:19,522 --> 00:48:23,620 >> Имаме ли по- въпроси за GET, POST 874 00:48:23,620 --> 00:48:26,800 before-- това, което ние ще направим следващата е действително да разгледаме някои от кода 875 00:48:26,800 --> 00:48:30,837 че можете да започнете да даде в pset 7, говорим за как използва някои от тези понятия, 876 00:48:30,837 --> 00:48:32,670 и говори за неща, които вие ще 877 00:48:32,670 --> 00:48:35,090 трябва да се направи малко по pset 7. 878 00:48:35,090 --> 00:48:36,760 Всякакви други въпроси преди това? 879 00:48:36,760 --> 00:48:38,047 Още един интересен вие имате? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Страхотен. 882 00:48:41,840 --> 00:48:45,370 >> Добре, нека да погледнем малко по pset 7, 883 00:48:45,370 --> 00:48:49,530 Няма съмнение това, което са всичко най-ентусиазирани. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Искам да кажа, това е нещо, което David минава през малко. 886 00:48:54,750 --> 00:49:00,890 Но ще имаме три директории в отгоре, както и конфигурационен файл. 887 00:49:00,890 --> 00:49:04,650 Това е за бази данни, които ние ще говорим за около пет минути. 888 00:49:04,650 --> 00:49:07,220 Включва, никога не се нуждаете да погледнем в тази директория 889 00:49:07,220 --> 00:49:12,480 ако не искате да, но това е хубаво да знаем, че има най-различни помощници. 890 00:49:12,480 --> 00:49:14,210 Помощници е като полезни функции. 891 00:49:14,210 --> 00:49:18,120 И тогава имаме довереник, която определя някои неща нагоре. 892 00:49:18,120 --> 00:49:24,590 >> Има някои функции, които има CS50 писмено, че са в помощник и довереник. 893 00:49:24,590 --> 00:49:27,250 А някои от РНР, че вече излиза във файлове 894 00:49:27,250 --> 00:49:30,880 ще направи много по-сортиране на тъп крак работа за вас. 895 00:49:30,880 --> 00:49:35,250 Подобно, ако отидем в публичния login.php, което е това, 896 00:49:35,250 --> 00:49:38,350 показва полето, когато отидете в pset 7. 897 00:49:38,350 --> 00:49:40,580 Ще видим, че има това изисква декларация. 898 00:49:40,580 --> 00:49:43,420 И това нещо като рязък включва, таг 899 00:49:43,420 --> 00:49:46,850 включва, ако сте на по-нова генерация. 900 00:49:46,850 --> 00:49:49,740 Но това основно казва, че имам нужда от достъп 901 00:49:49,740 --> 00:49:52,260 до всички функции в config.php. 902 00:49:52,260 --> 00:49:55,290 И вие може да имате изисква за всякакви други неща. 903 00:49:55,290 --> 00:49:59,670 >> довереник всъщност изисква помощници. 904 00:49:59,670 --> 00:50:02,490 Така че винаги, когато имате нужда от довереник, вие сте също 905 00:50:02,490 --> 00:50:05,660 включително, или изискваща помощници, както добре. 906 00:50:05,660 --> 00:50:09,590 Така че ви дава достъп до всички готини функции, които ние ще използваме, 907 00:50:09,590 --> 00:50:10,420 неща, които харесваш направи. 908 00:50:10,420 --> 00:50:13,490 Аз всъщност ще облекчи това надолу малко. 909 00:50:13,490 --> 00:50:16,280 Така че функцията тогава ние сме Ще преминете през 910 00:50:16,280 --> 00:50:22,380 точно преди да преминем към SQL малко битов е функцията login.php, просто 911 00:50:22,380 --> 00:50:26,586 защото използва някои от темите че ние просто говори в PHP. 912 00:50:26,586 --> 00:50:30,840 >> Виждате ли първото нещо е, ако $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Това е друга глобална променлива, че започваш да се занимават с. 914 00:50:34,500 --> 00:50:38,460 Това е като _GET и _POST, но това, което сървър съдържа се това може да ви разочарова 915 00:50:38,460 --> 00:50:42,730 знам дали методът на поискване Беше GET или POST. 916 00:50:42,730 --> 00:50:47,250 Както по-рано това, което правехме е само в нашата код, който писахме, 917 00:50:47,250 --> 00:50:51,880 ние просто се променя тя да бъде GET и POST в зависимост от това, което има HTML. 918 00:50:51,880 --> 00:50:55,120 Но има страници, които могат да бъдат преглеждана с двата типа искания. 919 00:50:55,120 --> 00:50:57,410 И вие може да искате да направите, различни неща в зависимост 920 00:50:57,410 --> 00:50:59,740 от вида на искането, точно като вход прави. 921 00:50:59,740 --> 00:51:04,400 >> Така че можете да проверите това искане метод, чрез достъп до ключове, 922 00:51:04,400 --> 00:51:08,630 чрез използване на ключ и получаване на стойност на нещо в речника 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Така че това е още една глобална променлива като _GET и _POST. 925 00:51:13,800 --> 00:51:16,990 >> Ако това е GET, ние искаме да направи формата за вход. 926 00:51:16,990 --> 00:51:21,920 Render е функция, която в общи линии просто поставя съответния HTML 927 00:51:21,920 --> 00:51:24,500 и тя преминава някои параметри. 928 00:51:24,500 --> 00:51:28,740 Това заглавие е параметър, който е използвана при показване, достатъчно странно, 929 00:51:28,740 --> 00:51:32,670 заглавието на страницата в въпрос, нещо тук, 930 00:51:32,670 --> 00:51:34,850 каже здравей или в предишния пример. 931 00:51:34,850 --> 00:51:36,100 Сега имаме различно нещо. 932 00:51:36,100 --> 00:51:38,570 Иначе, ако това е POST, ние направя някои други неща. 933 00:51:38,570 --> 00:51:40,790 Използваме, че празна метод. 934 00:51:40,790 --> 00:51:42,750 Това не е налице, това е празна. 935 00:51:42,750 --> 00:51:45,440 И видяхме преди, PHP има справедлива стойност на вградения 936 00:51:45,440 --> 00:51:52,370 в методи, които David will-- ако има са методи, които са полезни за вас, 937 00:51:52,370 --> 00:51:55,560 те ще бъдат предупреждавани да ви в разходката през тази David 938 00:51:55,560 --> 00:51:59,770 дава в началото галерията, а също и полезни бита Zamyla му. 939 00:51:59,770 --> 00:52:01,040 Тя се е върнала всички. 940 00:52:01,040 --> 00:52:03,100 Ние всички можем да се радваме. 941 00:52:03,100 --> 00:52:06,530 Извиняваме се е уместно наречена функция че просто основно отпечатва 942 00:52:06,530 --> 00:52:10,130 някои съобщения за грешка, защото CS50 е много любезен. 943 00:52:10,130 --> 00:52:14,770 >> И сега това, това е сложен малко, защото това 944 00:52:14,770 --> 00:52:16,697 е мястото, където ние сме заявки в базата данни. 945 00:52:16,697 --> 00:52:18,280 Сега ние не сме говорили за бази данни. 946 00:52:18,280 --> 00:52:22,220 И ние отиваме в следващия пет минути, или така, максимум. 947 00:52:22,220 --> 00:52:24,980 Но това е функция че CS50 е написал 948 00:52:24,980 --> 00:52:38,050 за да получите една маса основно от база данни че ние работим с по pset 7. 949 00:52:38,050 --> 00:52:40,860 Аз съм много зле с моя нула индексиране днес. 950 00:52:40,860 --> 00:52:42,060 Но да, това е 7. 951 00:52:42,060 --> 00:52:46,340 >> Така заявка, че ще се върне на масив, общо взето е ключовата бит. 952 00:52:46,340 --> 00:52:54,130 И тъй като тези неща не са машинопис, толкова редове е масив от масиви. 953 00:52:54,130 --> 00:52:59,480 Защото, когато мислим, таблица, това, което ние ще направим 954 00:52:59,480 --> 00:53:04,830 е, както сте научили в psets харесват играта на 15, така или иначе 955 00:53:04,830 --> 00:53:06,990 където трябваше да се използва двойна решетка, ние основно 956 00:53:06,990 --> 00:53:15,210 имаме масив от друга масиви прави таблица. 957 00:53:15,210 --> 00:53:18,150 И имаш редове и колони. 958 00:53:18,150 --> 00:53:24,450 И тогава може да има достъп до тях, като [0] [1], можете да получите на [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Basic подобни неща. 960 00:53:26,900 --> 00:53:29,380 >> Така че това, което правим тук, в тази функция, 961 00:53:29,380 --> 00:53:35,070 ние искаме базата данни ако потребителят, който е 962 00:53:35,070 --> 00:53:40,200 опитвайки се да се логнете, че ще бъде изпратено чрез метода POST. 963 00:53:40,200 --> 00:53:43,950 Ще видим ставаме все потребителското име от _POST. 964 00:53:43,950 --> 00:53:46,900 Те ще са изпратили, потребителят или вие, ще изпрати на стойност 965 00:53:46,900 --> 00:53:50,750 чрез формуляр, чрез POST, защото това е потребителско име и парола неща. 966 00:53:50,750 --> 00:53:54,830 Проверяваме потребителско име да се види, е тази в таблицата? 967 00:53:54,830 --> 00:53:58,070 Защото, ако даден потребител се влезете в, след това си име 968 00:53:58,070 --> 00:54:03,320 трябва да се съхранява в таблицата на Потребителите, които съществуват за този сайт. 969 00:54:03,320 --> 00:54:09,360 Така че основно, ако за употреба е в базата данни, 970 00:54:09,360 --> 00:54:16,400 заявка ще се върне този ред, който е масив. 971 00:54:16,400 --> 00:54:24,560 >> Но сложната част е, че ако дори и ако двойната масива е само на един ред, 972 00:54:24,560 --> 00:54:31,900 дори ако това е един ред array-- като сте се погрижили basically-- 973 00:54:31,900 --> 00:54:36,900 ако имаш размер на един масив , който е притежател на друг масив, 974 00:54:36,900 --> 00:54:38,940 сте наистина се занимават с една колона. 975 00:54:38,940 --> 00:54:41,420 Но тя все още се обработва като двойна масив. 976 00:54:41,420 --> 00:54:44,560 >> И това е мястото, където тя понякога може да получите сложно, защото ние имаме редове тук. 977 00:54:44,560 --> 00:54:46,440 Нашата променлива е редове. 978 00:54:46,440 --> 00:54:48,590 И тогава ние създаваме нова променлива, наречена ред 979 00:54:48,590 --> 00:54:51,450 и определя равен на първия ред на реда. 980 00:54:51,450 --> 00:54:55,150 И вие ще забележите, че коментара казва, че е първият и единствен ред. 981 00:54:55,150 --> 00:54:57,080 >> Така че това е най-труден част, където сега функции 982 00:54:57,080 --> 00:54:59,660 може да се върне масиви много лесно. 983 00:54:59,660 --> 00:55:01,270 Там не е mallocs. 984 00:55:01,270 --> 00:55:02,280 Вие няма да видите mallocs. 985 00:55:02,280 --> 00:55:03,940 Така че вие ​​няма да видите SEG грешки. 986 00:55:03,940 --> 00:55:08,380 Но функции ще са все още минава около масиви и данни в групи. 987 00:55:08,380 --> 00:55:12,250 И вие трябва да се притесняват от това, което точно си функции ще се върнат. 988 00:55:12,250 --> 00:55:15,160 И дори ако това е една колона като тази, задава въпроси 989 00:55:15,160 --> 00:55:17,520 все още продължава да се върне двойно масив. 990 00:55:17,520 --> 00:55:21,390 Така че, за да достъп че column-- или сте мога да мисля за всичко това, както е обърната 991 00:55:21,390 --> 00:55:22,870 тъй като ние не говорим за реда. 992 00:55:22,870 --> 00:55:26,810 Но за достъп, които един ред, не може просто да се каже редове. 993 00:55:26,810 --> 00:55:31,540 Въпреки че е един ред, трябва да се се rowsrows [0] някак да елиминират този 994 00:55:31,540 --> 00:55:37,360 Външният малко на масива и Трябва просто да си един ред. 995 00:55:37,360 --> 00:55:38,342 >> Направете някои други неща. 996 00:55:38,342 --> 00:55:40,050 Има една функция наречено password_verify 997 00:55:40,050 --> 00:55:42,980 която проверява парола, която беше публикуван. 998 00:55:42,980 --> 00:55:48,500 И тогава ние виждаме друг глобалната променлива тук, _SESSION. 999 00:55:48,500 --> 00:55:51,340 По принцип сесийния идентификатор Ето как можете да следите 1000 00:55:51,340 --> 00:55:53,990 на, ако някой е влязъл в или не. 1001 00:55:53,990 --> 00:55:58,590 Така че точно сега с login.php, ние сме влезете потребител инча 1002 00:55:58,590 --> 00:56:01,920 Така че това, което искаме да направим, е да искаме да казват сесийния идентификатор е равна на ред 1003 00:56:01,920 --> 00:56:05,890 идентификатор, който просто има смисъл, защото всеки ред ще има различен номер 1004 00:56:05,890 --> 00:56:07,239 номер като част от масата. 1005 00:56:07,239 --> 00:56:09,280 Ще получите в SQL в второ, така че ако някой от този 1006 00:56:09,280 --> 00:56:13,500 Изглежда малко като дрън, тогава всичко ще се изясни. 1007 00:56:13,500 --> 00:56:18,450 Но ние отиваме да зададете идентификацията равна на правилното нещо, като влезете потребителят инча 1008 00:56:18,450 --> 00:56:20,530 Извинявам се, ако нещо се обърка. 1009 00:56:20,530 --> 00:56:27,600 И това е целта влизания в живот като професор Malan бих казал. 1010 00:56:27,600 --> 00:56:29,130 >> Така че това беше login.php. 1011 00:56:29,130 --> 00:56:33,750 И много от кода PHP пишете в pset 7, ще бъде малко. 1012 00:56:33,750 --> 00:56:36,470 Не забравяйте да коригирате да правилните разрешения. 1013 00:56:36,470 --> 00:56:40,180 Ще има малко за че в началото на спец. 1014 00:56:40,180 --> 00:56:46,382 >> Но РНР, че сте писането ще бъде 1015 00:56:46,382 --> 00:56:47,840 правиш неща, които е подобен на този. 1016 00:56:47,840 --> 00:56:49,715 Ще бъде достъп до някои неща, които 1017 00:56:49,715 --> 00:56:52,760 са дадени за вас в глобални променливи на PHP, че 1018 00:56:52,760 --> 00:56:56,105 се занимаваме с тока влезете в профила на потребителя, дали има 1019 00:56:56,105 --> 00:57:00,460 са заявки, изпратени до този страница, различни неща. 1020 00:57:00,460 --> 00:57:05,790 И това също ще бъде потенциално итерации чрез редове на това нещо. 1021 00:57:05,790 --> 00:57:09,010 >> В различна функция, заявка се връща този двоен масив. 1022 00:57:09,010 --> 00:57:11,450 И ако има повече от един редове в него, 1023 00:57:11,450 --> 00:57:15,080 ако има are-- да, ако има са повече от един редове в него, 1024 00:57:15,080 --> 00:57:16,870 след това ще бъде една маса. 1025 00:57:16,870 --> 00:57:20,500 И вие може да искате да превъртите чрез редовете на този масив, използвайки 1026 00:57:20,500 --> 00:57:22,860 примката foreach, че ние описано. 1027 00:57:22,860 --> 00:57:30,270 >> Така че, ако го направите foreach на двойното масив, каква ще бъде word-- тук, 1028 00:57:30,270 --> 00:57:31,909 Аз всъщност ще го напиша. 1029 00:57:31,909 --> 00:57:32,950 Аз ще го напиша бързо тук. 1030 00:57:32,950 --> 00:57:44,280 >> Ако имаме foreach редове като ред, какъв е вида на ред? 1031 00:57:44,280 --> 00:57:45,390 Някой знае ли? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Имаш го? 1034 00:57:54,500 --> 00:57:57,110 Така редове е двойна масив. 1035 00:57:57,110 --> 00:58:02,810 Така че това, което се случва foreach да се направи извод че искаме от този двоен масив 1036 00:58:02,810 --> 00:58:04,280 ако сме итерации над него? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Можем да приемем, че в общи линии това ще бъде или елементи, 1039 00:58:10,770 --> 00:58:14,970 или редове или колони, общо взето. 1040 00:58:14,970 --> 00:58:18,740 И така, ние, редове и колони може да третира като едно и също нещо. 1041 00:58:18,740 --> 00:58:23,880 >> Основно това, което примката foreach се случва да направите, е, че ще се върне редове. 1042 00:58:23,880 --> 00:58:28,500 ред ще бъде от тип ред, като има предвид, редове е двойна масив. 1043 00:58:28,500 --> 00:58:32,290 Така че, ако ви дам foreach двойна решетка, това е 1044 00:58:32,290 --> 00:58:35,830 Няма да превъртите дълбока повече от едно ниво. 1045 00:58:35,830 --> 00:58:44,464 Коя е основно да се каже, ако има осем клетки в този table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- на foreach цикъл не е 1047 00:58:48,110 --> 00:58:51,880 ще мине през всяка от тези клетки. 1048 00:58:51,880 --> 00:58:56,390 Какво примката foreach ще направя беше, че ще мине през този ред, 1049 00:58:56,390 --> 00:58:57,870 ти дам целия този ред. 1050 00:58:57,870 --> 00:58:59,410 И тогава тя ще мине през този ред. 1051 00:58:59,410 --> 00:59:01,850 >> Така че само итерации едно ниво дълбоко. 1052 00:59:01,850 --> 00:59:05,310 Ако добавите вложените foreach цикъл, тогава 1053 00:59:05,310 --> 00:59:16,280 може да лекува всеки ред се върна от редове, които правиш foreach ред като елемент, 1054 00:59:16,280 --> 00:59:17,640 да речем. 1055 00:59:17,640 --> 00:59:22,750 И тогава може да повторя елемента. 1056 00:59:22,750 --> 00:59:24,930 Така че това е един кратък малко опреснителни за това как 1057 00:59:24,930 --> 00:59:30,220 възможно е да използвате foreach шлейфове в контекста на заявката. 1058 00:59:30,220 --> 00:59:32,840 >> Има ли някакви въпроси относно PHP? 1059 00:59:32,840 --> 00:59:36,520 Каквото и да е, преди да сме преминете към говорим за SQL 1060 00:59:36,520 --> 00:59:37,820 и на шега на база данни? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Чувствам се добре? 1063 00:59:42,110 --> 00:59:42,750 Чувствам се добре. 1064 00:59:42,750 --> 00:59:43,470 Всичко е наред. 1065 00:59:43,470 --> 00:59:49,130 >> Нека преминем обратно към PowerPoint, което вероятно сте пропуснали. 1066 00:59:49,130 --> 00:59:51,800 SQL, Уау. 1067 00:59:51,800 --> 00:59:57,900 Хората, които са в разрез ми обикновено Ще знаете, че подпозиции на акроними 1068 00:59:57,900 --> 01:00:01,220 винаги са само първите думи Мисля, че на този мач, който 1069 01:00:01,220 --> 01:00:02,690 algorithm-- че акроним. 1070 01:00:02,690 --> 01:00:04,090 Това не е един алгоритъм. 1071 01:00:04,090 --> 01:00:08,050 >> Така че SQL е база данни. 1072 01:00:08,050 --> 01:00:11,060 Това е език, който работи с бази данни. 1073 01:00:11,060 --> 01:00:14,440 И всички бази данни са се маси, най-малко в начина, 1074 01:00:14,440 --> 01:00:17,220 че SQL ги представлява. 1075 01:00:17,220 --> 01:00:23,610 >> Друг начин да се мисли за бази данни е бази данни са набор от ключове и стойности 1076 01:00:23,610 --> 01:00:24,110 основно. 1077 01:00:24,110 --> 01:00:29,530 Можете да мислите за база данни, като речник, а също и във вид на таблица. 1078 01:00:29,530 --> 01:00:34,300 По принцип това е начин да се сдружават различни данни с други данни, 1079 01:00:34,300 --> 01:00:36,270 често чрез редове и колони. 1080 01:00:36,270 --> 01:00:38,470 И това е начинът, това е SQL работи най-добре. 1081 01:00:38,470 --> 01:00:40,880 >> Така че това е един пример на маса. 1082 01:00:40,880 --> 01:00:44,610 Имам няколко примера за хора в моята част, което 1083 01:00:44,610 --> 01:00:45,970 Аз не са имали време да се промени. 1084 01:00:45,970 --> 01:00:52,020 Но ние имаме неща като ID, име, суперсила, и родния град. 1085 01:00:52,020 --> 01:00:54,100 Аз не знам някой да е, където от в рубриката ми, 1086 01:00:54,100 --> 01:00:56,266 така че аз съм просто ще приемем всички са от Ню Йорк 1087 01:00:56,266 --> 01:00:59,370 Сити, защото имам висока статистическа вероятност да бъдат верни. 1088 01:00:59,370 --> 01:01:04,200 >> SQL автоматично ще се грижа на колоната ID за вас. 1089 01:01:04,200 --> 01:01:07,560 Ако поставите нов ред в SQL база данни, 1090 01:01:07,560 --> 01:01:09,700 това ще увеличи че ID номер и просто 1091 01:01:09,700 --> 01:01:14,890 основно се придържаме като пет имена, суперсила, родния град, който 1092 01:01:14,890 --> 01:01:16,430 към края на същата таблица. 1093 01:01:16,430 --> 01:01:19,160 Така ID е колона ще Никога не трябва да се притесняваш. 1094 01:01:19,160 --> 01:01:22,770 Но, както в случая на login.php, когато ние 1095 01:01:22,770 --> 01:01:26,610 получаваха ID на сесията от една маса и само с помощта на ID, 1096 01:01:26,610 --> 01:01:30,320 ID е начин да се идентифицира по уникален начин елемент на база данни. 1097 01:01:30,320 --> 01:01:34,980 >> Така че, ако имахме два Sams, като и двете който преподава CS50, и двете от които 1098 01:01:34,980 --> 01:01:39,370 бяха от Милуоки, които биха все още имат различни идентификационни номера 1099 01:01:39,370 --> 01:01:43,420 и по този начин да се различава в контекста на масата. 1100 01:01:43,420 --> 01:01:48,700 Така че това е, което се занимава SQL с, работа с в задния край. 1101 01:01:48,700 --> 01:01:54,160 >> Сега това са четирите команди че ще трябва да работи с SQL. 1102 01:01:54,160 --> 01:01:56,390 И аз ги вдигна на един слайд. 1103 01:01:56,390 --> 01:01:59,530 Но ние ще мине през всички тях поотделно. 1104 01:01:59,530 --> 01:02:03,300 >> Първата команда е UPDATE, който прави това, което може да се очаква. 1105 01:02:03,300 --> 01:02:07,240 Речем, че има някои данни в таблицата, която е остаряла. 1106 01:02:07,240 --> 01:02:09,470 Подобно ако поддържаш следите на имената на хората 1107 01:02:09,470 --> 01:02:13,350 и възрасти, ако на някого след това се увеличава с възрастта, 1108 01:02:13,350 --> 01:02:18,590 вие ще искате да отидете и актуализира възраст само на това лице. 1109 01:02:18,590 --> 01:02:21,902 За пример, който работи с първата ни table-- 1110 01:02:21,902 --> 01:02:24,610 не се притеснявайте за написването всички тези команди в същото време. 1111 01:02:24,610 --> 01:02:27,640 Но ако имаш актуализация надолу, че ще бъде добре за тази част, 1112 01:02:27,640 --> 01:02:29,790 защото ние ще се върна на масата. 1113 01:02:29,790 --> 01:02:33,920 >> Така че, ако се върнем на масата, нека да кажа нещо, което се е случило 1114 01:02:33,920 --> 01:02:38,480 е имало земетресение или неизправност линия, която разделя директно 1115 01:02:38,480 --> 01:02:39,920 чрез New York City. 1116 01:02:39,920 --> 01:02:45,130 И ние искахме да се актуализира всеки който е живял в Ню Йорк. 1117 01:02:45,130 --> 01:02:49,670 Всички те трябваше да се премести в Пенсилвания. 1118 01:02:49,670 --> 01:02:51,130 Това не е роден град. 1119 01:02:51,130 --> 01:02:53,180 Всички те трябваше да се премести в Ню Хейвън. 1120 01:02:53,180 --> 01:02:54,030 Ето. 1121 01:02:54,030 --> 01:02:57,630 Така че всеки в Ню Йорк се премества в Ню Хейвън. 1122 01:02:57,630 --> 01:03:01,300 >> И така, това е нещо, което е редактиране на три реда в тази таблица. 1123 01:03:01,300 --> 01:03:04,716 Но в SQL, можете да направите че само за една декларация. 1124 01:03:04,716 --> 01:03:05,715 Така че ние се върнем към актуализация. 1125 01:03:05,715 --> 01:03:09,670 Нека бързо да изтрие този форум отново. 1126 01:03:09,670 --> 01:03:14,570 Когато ние говорим за актуализиране, има 1127 01:03:14,570 --> 01:03:17,640 няколко части на синтаксиса, които са от ключово значение. 1128 01:03:17,640 --> 01:03:19,770 Е, всички от синтаксиса е от ключово значение. 1129 01:03:19,770 --> 01:03:22,210 Но нещата в зелено е задължително. 1130 01:03:22,210 --> 01:03:25,680 Изискват се белия, като предварително дефинирани имена. 1131 01:03:25,680 --> 01:03:30,750 И светлосиньото са неща, които се различават в зависимост от масата. 1132 01:03:30,750 --> 01:03:34,640 Така че това е, което се случва с цветовата схема тук, там горе. 1133 01:03:34,640 --> 01:03:40,250 >> Така че, ако искаме да се актуализира само тези редове на хората, които живеят в Ню Йорк, 1134 01:03:40,250 --> 01:03:43,490 И така, какво ще правим, ако ние казахме UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Така маса е мястото, където ще се постави Името на нашата маса. 1136 01:03:46,320 --> 01:03:49,170 Нека просто кажем името на нашата маса е една маса. 1137 01:03:49,170 --> 01:03:52,515 Така че ние искаме да се актуализира на маса един. 1138 01:03:52,515 --> 01:03:57,470 И ние искаме да set-- какво искаме да зададете? 1139 01:03:57,470 --> 01:04:05,160 Ами ние искаме да кажем, така column-- PHP третира редове като уникални идентификатори. 1140 01:04:05,160 --> 01:04:07,930 И тогава колони са различните области 1141 01:04:07,930 --> 01:04:09,940 на тези елементи на базата данни. 1142 01:04:09,940 --> 01:04:14,210 >> Така че първият елемент на базата данни има име на Сам, суперсила на CS50, 1143 01:04:14,210 --> 01:04:16,210 и родния град на Милуоки. 1144 01:04:16,210 --> 01:04:20,710 Така че, ако ние серията, нека да погледнем отново параметрите, които набор отнема. 1145 01:04:20,710 --> 01:04:23,880 Имаме колона е равна стойност. 1146 01:04:23,880 --> 01:04:27,290 Така че ние искаме да кажем някои column-- които помним 1147 01:04:27,290 --> 01:04:31,850 е field-- искаме да видим по- поле равно на нещо ново. 1148 01:04:31,850 --> 01:04:42,340 >> Така че, ако ние просто каза актуализация таблица 1, задайте име равно Elliot. 1149 01:04:42,340 --> 01:04:46,310 Вземи някои хора от нов раздел в по този въпрос. 1150 01:04:46,310 --> 01:04:51,540 Но ако ние просто направихме актуализация таблица 1 зададете име равно Elliot, какво щеше 1151 01:04:51,540 --> 01:04:55,530 външния вид на маса като след това? 1152 01:04:55,530 --> 01:04:56,410 Хората имат някаква идея? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Да. 1155 01:05:00,210 --> 01:05:03,195 >> АУДИТОРИЯ: Всичко в тази ред ще стане Елиът. 1156 01:05:03,195 --> 01:05:04,570 SPEAKER: Всичко в кой ред? 1157 01:05:04,570 --> 01:05:06,067 АУДИТОРИЯ: На първия ред. 1158 01:05:06,067 --> 01:05:07,150 SPEAKER: На първия ред? 1159 01:05:07,150 --> 01:05:09,724 Защо първия ред? 1160 01:05:09,724 --> 01:05:10,890 Не искам да кажа, за да се заяжда с теб. 1161 01:05:10,890 --> 01:05:13,287 >> АУДИТОРИЯ: Може би всичко в цялата таблица? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER: Всичко в цялата таблица, да. 1163 01:05:15,120 --> 01:05:19,520 И това е точно така because-- I е просто да ви помага, а малко по- 1164 01:05:19,520 --> 01:05:22,650 there-- защото ние пропуснахме опционалната WHERE клаузата. 1165 01:05:22,650 --> 01:05:27,260 Ако не разполагате, където клауза, какво ще направи тази команда 1166 01:05:27,260 --> 01:05:32,240 е, че ще работя с всеки един ред в таблицата. 1167 01:05:32,240 --> 01:05:35,430 Името на всеки човек ще стане Elliott, общо взето, 1168 01:05:35,430 --> 01:05:37,360 които Elliot е много щастлив за. 1169 01:05:37,360 --> 01:05:40,070 Или Yanni, един от двамата. 1170 01:05:40,070 --> 01:05:42,490 Но името на всички, ще се промени. 1171 01:05:42,490 --> 01:05:47,880 >> Така че начина, по който ние използваме КЪДЕ clause-- и това се отнася за всички Призвана 1172 01:05:47,880 --> 01:05:51,410 които са във всяка тези различни неща. 1173 01:05:51,410 --> 01:05:54,380 Така вие ще забележите, че SET има колона еднаква стойност. 1174 01:05:54,380 --> 01:05:55,190 Това се случва и къде. 1175 01:05:55,190 --> 01:06:00,040 Но те са различни видове отчети. 1176 01:06:00,040 --> 01:06:04,400 Така колоната се равнява на стойността в SET е в присвояване. 1177 01:06:04,400 --> 01:06:08,320 Както можем да кажеш, че ние искаме за да зададете име равна на Елиът. 1178 01:06:08,320 --> 01:06:15,390 Но в клаузите за къде, това са изявленията на равенството. 1179 01:06:15,390 --> 01:06:20,410 Така че нека да кажем, ние искахме само да промените името на лицето, за да Elliot 1180 01:06:20,410 --> 01:06:23,940 ако тяхното име е Райън, да речем. 1181 01:06:23,940 --> 01:06:24,920 >> Така че, когато казваме 1182 01:06:24,920 --> 01:06:32,700 >> КЪДЕ име се равнява на Райън, че ще е успешно само промяна 1183 01:06:32,700 --> 01:06:37,440 само name-- че ще промените полето Име в редове 1184 01:06:37,440 --> 01:06:40,770 когато полето за име е равна на Райън. 1185 01:06:40,770 --> 01:06:44,430 Така че, ако имахме няколко души на име Райън, всички от имената им 1186 01:06:44,430 --> 01:06:45,730 щеше да се промени, за да Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> Това е подобно на примера на линия, ако вината разделя 1188 01:06:48,169 --> 01:06:50,960 New York City и всеки трябва да се се премести в Ню Хейвън, начина, по който можем да 1189 01:06:50,960 --> 01:06:56,570 направя, че в един отчет е UPDATE таблица1 SET родния = Ню Хейвън 1190 01:06:56,570 --> 01:07:00,210 където родния равнява New York City. 1191 01:07:00,210 --> 01:07:03,410 Това е силата на изложението UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Ние можем да изберете произволен брой редове чрез верни твърдения 1193 01:07:10,530 --> 01:07:12,860 за областите, в тези редове. 1194 01:07:12,860 --> 01:07:19,510 Не можем да кажем UPDATE таблица1 набор Име = Elliot КЪДЕ ред = 1, 1195 01:07:19,510 --> 01:07:24,820 с изключение на това, което можем да кажем, ако ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Така че ние ще бъде работа с равенство 1198 01:07:29,830 --> 01:07:32,830 на полета, равенство на колони. 1199 01:07:32,830 --> 01:07:38,030 Но с помощта на полето ID е начин да се изберете специално отделни редове, 1200 01:07:38,030 --> 01:07:43,210 защото полето за идентификатор е уникален идентификатор в SQL база данни. 1201 01:07:43,210 --> 01:07:45,860 Така че като актуализиране ред един, ID е равно на 1. 1202 01:07:45,860 --> 01:07:49,560 Актуализиране поредни две, просто промените този номер. 1203 01:07:49,560 --> 01:07:51,610 Но силата на КЪДЕ твърдение е, че ние 1204 01:07:51,610 --> 01:07:57,480 да актуализирате неща въз основа на това, което им текущите стойности на някои неща са. 1205 01:07:57,480 --> 01:07:58,155 Да Елиът? 1206 01:07:58,155 --> 01:08:02,678 >> АУДИТОРИЯ: И какво, ако искате to-- отново, това е друг въпрос. 1207 01:08:02,678 --> 01:08:07,660 Но първият ми въпрос е, където се случва това? 1208 01:08:07,660 --> 01:08:09,130 Къде съм аз актуализиране на този? 1209 01:08:09,130 --> 01:08:11,100 Това ли е в код PHP? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER: Къде ли се актуализира, да. 1211 01:08:13,379 --> 01:08:15,170 Ние ще говорим където за цялата 1212 01:08:15,170 --> 01:08:18,729 се случва нещо веднъж да отидем чрез всички команди. 1213 01:08:18,729 --> 01:08:21,130 Но това, което трябва да се знам за сега е основно 1214 01:08:21,130 --> 01:08:26,279 че вашата SQL база данни съществува като нещо 1215 01:08:26,279 --> 01:08:30,090 да бъдат достъпни от заявката функция, която определя CS50. 1216 01:08:30,090 --> 01:08:33,800 Така че, ако използвате функцията за заявка, можете да получите достъп до тази таблица. 1217 01:08:33,800 --> 01:08:39,529 >> Така че ще изпрати тези команди за вашата маса в PHP файлове 1218 01:08:39,529 --> 01:08:41,420 чрез функцията за търсене. 1219 01:08:41,420 --> 01:08:45,410 Можете също така да си поиграете с вашата маса директно. 1220 01:08:45,410 --> 01:08:49,050 И това е най-добрият начин да се тествате тези видове команди. 1221 01:08:49,050 --> 01:08:52,720 И ние ще проверете как точно да направите това само малко. 1222 01:08:52,720 --> 01:08:54,910 >> Така че това е UPDATE команда. 1223 01:08:54,910 --> 01:08:57,939 И останалата част от командите Ще бъде нещо подобно, 1224 01:08:57,939 --> 01:08:59,069 работи по подобни неща. 1225 01:08:59,069 --> 01:09:02,740 The вмъкнете в е вероятно най-различни един от UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Отивам да напусне, че там горе за само малко и работят тук. 1227 01:09:06,170 --> 01:09:10,215 Така INSERT INTO, ще видите тази таблица е все същата. 1228 01:09:10,215 --> 01:09:17,010 Вие искате да вмъкнете в. 1229 01:09:17,010 --> 01:09:20,286 На капитализация, SQL е нечувствителен. 1230 01:09:20,286 --> 01:09:22,160 Така че не е нужно да капитализира тези неща. 1231 01:09:22,160 --> 01:09:27,960 По конвенция думите в бяло, се капитализират. 1232 01:09:27,960 --> 01:09:31,590 Но аз също ги цвят кодирани. 1233 01:09:31,590 --> 01:09:34,390 Единствената причина, поради която сте се възползва тези, когато сте ги въвеждате 1234 01:09:34,390 --> 01:09:36,609 е просто да подчертая че онези са константи. 1235 01:09:36,609 --> 01:09:39,189 И така, можете да разгледате капитализиране или на факта, 1236 01:09:39,189 --> 01:09:40,740 че аз съм ги оцветени по различен начин. 1237 01:09:40,740 --> 01:09:44,910 >> Така че ние имаме INSERT INTO, нека да направим таблица1 отново. 1238 01:09:44,910 --> 01:09:45,930 Това е всичко, на един ред. 1239 01:09:45,930 --> 01:09:48,609 Аз съм просто го отделя от различни изявления. 1240 01:09:48,609 --> 01:09:52,399 Така че не се притеснявайте за това, че таблица1 да се качи на втория ред. 1241 01:09:52,399 --> 01:09:56,130 >> Така че ние искаме да вмъкнете В Таблица 1 някои стойности. 1242 01:09:56,130 --> 01:09:58,922 И вие ще забележите, опционален битов, което ще получите в секунда. 1243 01:09:58,922 --> 01:09:59,755 Така че ние имаме ценности. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Така че нека да кажем искаме да добавим Andi до масата ни, защото ни липсва Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi е болен. 1247 01:10:09,390 --> 01:10:12,490 Така че нека да добавите Andi нашата трапеза. 1248 01:10:12,490 --> 01:10:15,150 Не забравяйте, че ID номер се актуализира автоматично. 1249 01:10:15,150 --> 01:10:17,320 Така единствените области ние трябва да се тревожи за 1250 01:10:17,320 --> 01:10:20,230 са име, суперсила, и родния град. 1251 01:10:20,230 --> 01:10:23,660 >> И така, начинът, по който го правим, погледнете в нашата синтаксис, е ние сме 1252 01:10:23,660 --> 01:10:28,780 просто имам скоби, с запетая разделени стойности, всяка от които 1253 01:10:28,780 --> 01:10:29,890 е ценност. 1254 01:10:29,890 --> 01:10:35,530 Така че, ако искаме да вмъкнете Andi в нашата маса, всичко, което трябва да направите, е прав Andi. 1255 01:10:35,530 --> 01:10:38,630 Какво е суперсила Andi му, хора в раздел Andi е? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Тя искала полет, или искали скорост, или нещо такова. 1258 01:10:47,545 --> 01:10:48,920 Какво ние вече имаме там? 1259 01:10:48,920 --> 01:10:53,425 Имаме CS50, полет, скорост и сила. 1260 01:10:53,425 --> 01:10:54,850 >> АУДИТОРИЯ: Пътуване във времето. 1261 01:10:54,850 --> 01:10:56,180 >> SPEAKER: Пътуване във времето, невероятно. 1262 01:10:56,180 --> 01:11:04,280 Така че ние имаме Andi, време пътуване, и родния си град. 1263 01:11:04,280 --> 01:11:05,530 Това е един наистина добър въпрос. 1264 01:11:05,530 --> 01:11:09,210 New York City, освен ако някой не знае. 1265 01:11:09,210 --> 01:11:13,600 Всички са от Ню Йорк е най- урок, за да отнеме от днес. 1266 01:11:13,600 --> 01:11:17,710 >> Така че това твърдение би вмъкнете, като пети ред, 1267 01:11:17,710 --> 01:11:21,900 с времето за пътуване на суперсила и родния град на New York City. 1268 01:11:21,900 --> 01:11:25,660 Но полето за избор е в основата на пътя 1269 01:11:25,660 --> 01:11:30,090 да се уточни точно кои колони искате да вмъкнете неща вътре. 1270 01:11:30,090 --> 01:11:33,710 >> Начинът, по който го правим сега, Andi, времето за пътуване, New York City, 1271 01:11:33,710 --> 01:11:38,150 върви в точния ред на нашата table-- име, суперсила, родния град. 1272 01:11:38,150 --> 01:11:42,290 И ако искаш да направиш нещо, различно от това, 1273 01:11:42,290 --> 01:11:44,970 като кажа, че не са знаели нечий суперсила, 1274 01:11:44,970 --> 01:11:47,660 като как аз не знаех Andi на суперсила в началото. 1275 01:11:47,660 --> 01:11:50,450 Така че всичко, знаех си беше име и родния си град. 1276 01:11:50,450 --> 01:11:54,550 Какво можех да направя, е можех do-- аз ще изтрие тази бърза. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Искам само да актуализирате колоните. 1279 01:12:00,090 --> 01:12:04,100 И това е мястото, където опционален списък колона влезе в игра. 1280 01:12:04,100 --> 01:12:09,185 Искам само да актуализира име и роден град. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 И тогава аз ще кажа ЦЕННОСТИ. 1283 01:12:16,480 --> 01:12:24,430 Ще направя Andi и New York City. 1284 01:12:24,430 --> 01:12:28,980 >> Ако бях пропусната в списъка на колони и просто да направи тези две неща, 1285 01:12:28,980 --> 01:12:32,450 където ще New York City са отишли? 1286 01:12:32,450 --> 01:12:35,900 Кои колона би Ню Йорк Сити са поставени в? 1287 01:12:35,900 --> 01:12:38,950 Хората имат някаква идея? 1288 01:12:38,950 --> 01:12:40,160 Суперсила, точно. 1289 01:12:40,160 --> 01:12:41,890 >> Така че това просто ще отидат в ред. 1290 01:12:41,890 --> 01:12:45,530 И след като са достигнали до края на списък, той просто ще спре попълване неща вътре. 1291 01:12:45,530 --> 01:12:49,080 И ценностите, които тя ще се придържаме в всички колони просто ще бъде нула. 1292 01:12:49,080 --> 01:12:51,840 Така че ние определено, защото име и роден град, 1293 01:12:51,840 --> 01:12:56,110 ние ще имаме ID 5, Име на Andi, суперсила NULL. 1294 01:12:56,110 --> 01:12:58,750 Така суперсила е неинициализирана стойност. 1295 01:12:58,750 --> 01:13:01,340 Не е задължително да получите Същите Valgrind грешки, ако се опитате 1296 01:13:01,340 --> 01:13:01,970 и достъп до него. 1297 01:13:01,970 --> 01:13:05,160 Всичко ще бъде добре занули излезе, защото NULL е ценност в SQL. 1298 01:13:05,160 --> 01:13:06,780 Това е константа. 1299 01:13:06,780 --> 01:13:08,980 И тогава родния град ще бъде в Ню Йорк. 1300 01:13:08,980 --> 01:13:11,860 Така че това е вмъкнете в командването. 1301 01:13:11,860 --> 01:13:13,610 Преди да се премести, има още две команди. 1302 01:13:13,610 --> 01:13:19,060 Дали хората имат някакви въпроси относно UPDATE, за INSERT INTO, за SQL 1303 01:13:19,060 --> 01:13:21,556 обикновено преди да преминем върху крайните нашите бита? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Хората се чувстват добре, чудесно. 1306 01:13:26,910 --> 01:13:27,410 Обичам го. 1307 01:13:27,410 --> 01:13:29,480 Така че нека да говорим за SELECT. 1308 01:13:29,480 --> 01:13:33,445 Отивате канавка UPDATE тук. 1309 01:13:33,445 --> 01:13:35,720 >> И SELECT ще бъде много подобен. 1310 01:13:35,720 --> 01:13:38,790 Целта на SELECT, SELECT цел в живота 1311 01:13:38,790 --> 01:13:45,910 е да ви дам един куп колони които отговарят на определени условия. 1312 01:13:45,910 --> 01:13:48,230 И когато казвам задоволи определени условия, 1313 01:13:48,230 --> 01:13:50,800 ума си мощ веднага се върне към тази WHERE клауза 1314 01:13:50,800 --> 01:13:52,090 които излязоха в UPDATE. 1315 01:13:52,090 --> 01:13:54,880 И тази клауза е точно там, в SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Ако не се изведе, където клауза и ние казваме SELECT име, 1317 01:14:06,020 --> 01:14:16,490 hometown-- лимец, че малко wrong-- име, родния град ОТ таблица1. 1318 01:14:16,490 --> 01:14:19,690 Ако можем просто да кажем, че това, което SELECT ще ни даде е това е 1319 01:14:19,690 --> 01:14:23,730 ще ни даде по- double-- маса, по-скоро. 1320 01:14:23,730 --> 01:14:27,450 Двойно масив ако сме мисля за в PHP усеща. 1321 01:14:27,450 --> 01:14:33,239 Но това е просто ще ни даде по- двойна масив от два columns-- име, 1322 01:14:33,239 --> 01:14:33,780 и родния град. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 И това ще игнорира ID. 1325 01:14:38,130 --> 01:14:41,310 И това ще игнорира суперсила. 1326 01:14:41,310 --> 01:14:44,696 И това просто ще ни даде всичко един ред от тази таблица. 1327 01:14:44,696 --> 01:14:46,570 Така че, ако ние просто вмъква Andi, ще имаме Andi. 1328 01:14:46,570 --> 01:14:48,605 И ще имаме оригиналната четворка. 1329 01:14:48,605 --> 01:14:53,720 Ако те са били актуализирани, че ще да бъде отразено и така нататък, и така нататък. 1330 01:14:53,720 --> 01:14:56,520 >> Така че това е така, защото ние не използва клаузата WHERE. 1331 01:14:56,520 --> 01:14:59,200 Но можем да я използваме в точния същия начин можем да го използва в UPDATE. 1332 01:14:59,200 --> 01:15:05,310 Ако ние искаме само таблица на имената и супер сили на хората, живеещи 1333 01:15:05,310 --> 01:15:13,430 в Ню Йорк, ние може да изпълни изявление като SELECT име, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Аз съм просто ще напусне that-- ОТ таблица1 КЪДЕ родния = New York City. 1335 01:15:27,190 --> 01:15:33,370 >> Така че това идва да покаже, че това е възможно получите напълно различни колони, 1336 01:15:33,370 --> 01:15:36,920 и след това пуснати колони, че не сте дори и да се върна в клаузата WHERE. 1337 01:15:36,920 --> 01:15:39,200 Ние дори не искам родния град на всеки. 1338 01:15:39,200 --> 01:15:41,920 Но ние искаме името и суперсилата на хората 1339 01:15:41,920 --> 01:15:43,817 чийто роден град е Ню Йорк. 1340 01:15:43,817 --> 01:15:45,650 Така че това е нещо, което ние може да се направи с КЪДЕ 1341 01:15:45,650 --> 01:15:49,112 клауза е да можем да се справим с колони че ние не трябва непременно искам обратно. 1342 01:15:49,112 --> 01:15:52,320 По същия начин, по UPDATE, можем да се справим с колони, че ние не правим задължително 1343 01:15:52,320 --> 01:15:53,270 искате да актуализирате. 1344 01:15:53,270 --> 01:15:58,890 Ние можем да се актуализира на всеки един град кой е име е Сам, например. 1345 01:15:58,890 --> 01:16:02,080 Ние можем да актуализираме град всеки, чието ID номер е 2. 1346 01:16:02,080 --> 01:16:04,960 Така че просто се актуализира град на втория ред 1347 01:16:04,960 --> 01:16:08,220 където ние не трябва да се справят с необходимо общата въпрос. 1348 01:16:08,220 --> 01:16:13,264 >> И изтриване е, както бихте очакваме, изтриете от таблица 1. 1349 01:16:13,264 --> 01:16:14,930 И тогава ние имаме друга клауза WHERE. 1350 01:16:14,930 --> 01:16:17,940 Така че можем да кажем, КЪДЕТО ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Изтриване на първия ред. 1352 01:16:18,950 --> 01:16:23,240 И ИЗТРИЙ винаги ще изтрие един ред, или тя ще изтрие някои брой редове. 1353 01:16:23,240 --> 01:16:26,990 Изтрий от масата, където родния = New York City 1354 01:16:26,990 --> 01:16:28,740 ще изтрие всички в New York City. 1355 01:16:28,740 --> 01:16:30,985 Това е, ако имаше внезапната трагична чума 1356 01:16:30,985 --> 01:16:33,360 и просто исках да се премахне всеки от масата, които 1357 01:16:33,360 --> 01:16:35,760 живял в един град че е бил ударен от чумата. 1358 01:16:35,760 --> 01:16:38,050 Нека те почиват в мир. 1359 01:16:38,050 --> 01:16:43,849 >> Това са четирите SQL команди че ще трябва да се използва. 1360 01:16:43,849 --> 01:16:45,390 Ти дори не може да се наложи да ги използват всички. 1361 01:16:45,390 --> 01:16:47,690 Но това са четиримата че CS50 ви очаква 1362 01:16:47,690 --> 01:16:53,630 да се чувстват удобно с навлиза в както викторина 1 и също pset7 и pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Има само тази таблица отново. 1364 01:16:55,820 --> 01:16:58,930 В този един, суперсила Рой има беше обновен до лазерни лъчи, които 1365 01:16:58,930 --> 01:17:00,880 е пример не съм използвал. 1366 01:17:00,880 --> 01:17:05,480 Аз не знам кой от тях Roy предпочита, но сила. 1367 01:17:05,480 --> 01:17:07,670 Рой има суперсила на сила. 1368 01:17:07,670 --> 01:17:09,090 Катрин не го направи днес. 1369 01:17:09,090 --> 01:17:10,260 Това е жалко. 1370 01:17:10,260 --> 01:17:11,260 Но тя има супер скорост. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Добре, че беше PHP. 1373 01:17:14,670 --> 01:17:19,410 Преди да говорим за MVC, прави Някой има ли въпроси за PHP? 1374 01:17:19,410 --> 01:17:23,864 Сега SQL, PHP или ако изведнъж има излезе с един въпрос за PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Страхотен. 1377 01:17:28,460 --> 01:17:29,920 Добре, ние сме всичко е готово след това. 1378 01:17:29,920 --> 01:17:33,660 >> Така че говорим малко по- за модел вижте контролери, 1379 01:17:33,660 --> 01:17:38,770 нека се върнем към някои от нещата в pset7. 1380 01:17:38,770 --> 01:17:42,470 Така че какъв модел оглед контролер is-- аз не съм 1381 01:17:42,470 --> 01:17:45,660 Ще запазите промените ми да се логнете защото аз напълно го заклал. 1382 01:17:45,660 --> 01:17:49,220 Но в общи линии имаме две отделни неща се случват. 1383 01:17:49,220 --> 01:17:52,390 Имаме публично директория, която съдържа 1384 01:17:52,390 --> 01:17:56,460 код, който се случва да бъде изпълнено и уеб страниците, които ще бъдат посетени. 1385 01:17:56,460 --> 01:17:58,780 И ние също имаме тази гледка директория. 1386 01:17:58,780 --> 01:18:01,780 И видяна съдържа шаблони. 1387 01:18:01,780 --> 01:18:04,390 >> Това е, което функцията render-- видяхме рендера 1388 01:18:04,390 --> 01:18:08,240 функция в един куп от кода на PHP че CS50 вече е написана за вас, 1389 01:18:08,240 --> 01:18:10,550 който взема в определени параметри. 1390 01:18:10,550 --> 01:18:14,510 Какво прави този код е, че ще ходи в гледка, 1391 01:18:14,510 --> 01:18:18,000 които са набори от харесват prewritten HTML код, 1392 01:18:18,000 --> 01:18:20,720 и това е поставяне стойности в някои места. 1393 01:18:20,720 --> 01:18:23,990 Това е начина, когато отидат в CS50 финансите, 1394 01:18:23,990 --> 01:18:25,760 същото заглавието е на всяка страница. 1395 01:18:25,760 --> 01:18:28,130 Същата футъра е на всяка страница. 1396 01:18:28,130 --> 01:18:31,880 Това е така, защото начинът които оказват произведения е, че ще 1397 01:18:31,880 --> 01:18:36,720 автоматично закърпи в тази глава и зрителя, които можете да намерите в изглед. 1398 01:18:36,720 --> 01:18:41,400 >> Ние всъщност може да отиде в заглавието, и Виж, това е един HTML файл с главата. 1399 01:18:41,400 --> 01:18:43,280 Тя има някои стилове. 1400 01:18:43,280 --> 01:18:48,450 Не е нужно да погледнем в CSS за pset7, ако не искате да. 1401 01:18:48,450 --> 01:18:50,560 Но можете да модифицирате ги, ако искате, да направи 1402 01:18:50,560 --> 01:18:53,470 Вашата финансите изглежда малко по-различно. 1403 01:18:53,470 --> 01:18:57,560 >> Тя има някои PHP в заглавната малко, за да видите 1404 01:18:57,560 --> 01:19:01,240 ако има друго заглавие тя трябва да сложи в тази глава. 1405 01:19:01,240 --> 01:19:04,300 Но само някои други скриптове, и връзки, и други неща. 1406 01:19:04,300 --> 01:19:08,700 Head приключва, тялото започва и Опа, ние имаме това странно малко край битов. 1407 01:19:08,700 --> 01:19:14,730 И има Разделения, точно като безформен вид елемент 1408 01:19:14,730 --> 01:19:17,120 , който има представа за средата. 1409 01:19:17,120 --> 01:19:22,450 >> И тогава, когато ние виждаме футър, имаме в края на Разделения. 1410 01:19:22,450 --> 01:19:25,000 Ние имаме дъно, което е където текстът на долния е. 1411 01:19:25,000 --> 01:19:26,770 Край на Разделения, край на тялото, в края на HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Така че това, което правят, е прави се направи е нещо 1413 01:19:29,070 --> 01:19:33,150 от закърпване с глава, а различна PHP файл, който 1414 01:19:33,150 --> 01:19:37,110 ще съдържа действителните неща вие ще видите, като маса на запасите си 1415 01:19:37,110 --> 01:19:39,690 ако купувате или продажба на акции. 1416 01:19:39,690 --> 01:19:41,480 И тогава тя ще добавим в долния им край. 1417 01:19:41,480 --> 01:19:44,890 А гледката на модела Идеята е, че ние контролер 1418 01:19:44,890 --> 01:19:49,590 Искам да се разделят, как нещата изглеждат от кода. 1419 01:19:49,590 --> 01:19:53,420 Това е, което искаме да се разделят на интерфейса и гръб, когато интерфейса е 1420 01:19:53,420 --> 01:20:00,440 неща, които потребителят вижда, на хубаво visuals-- HTML, CSS, такива неща, 1421 01:20:00,440 --> 01:20:02,320 снимки и така нататък. 1422 01:20:02,320 --> 01:20:05,780 И гръб е PHP. 1423 01:20:05,780 --> 01:20:07,710 Това е код, който ти пиша. 1424 01:20:07,710 --> 01:20:10,240 Това е мястото, където кодът, който е прави реални операции. 1425 01:20:10,240 --> 01:20:12,400 Това е, когато сте добавяне фондова да си на маса, 1426 01:20:12,400 --> 01:20:14,890 когато сте закупуване и продажби, това е обезопасен. 1427 01:20:14,890 --> 01:20:20,210 >> И ние можем, като те видях, включително PHP директно в HTML. 1428 01:20:20,210 --> 01:20:23,210 Така че това, което можехме да направим за тази задача е просто трябваше 1429 01:20:23,210 --> 01:20:26,200 един HTML файл за всяка страница, като вход. 1430 01:20:26,200 --> 01:20:30,260 И тогава на тази страница, точно имаше огромен блок от PHP код, 1431 01:20:30,260 --> 01:20:33,822 включително всички от код, който тази страница конкретно ще трябва. 1432 01:20:33,822 --> 01:20:35,780 И тогава бихме могли да имаме направил това за портфейла. 1433 01:20:35,780 --> 01:20:40,250 Бихме могли да са направили всички купуването и продажба в рамките на отделните страници. 1434 01:20:40,250 --> 01:20:43,680 >> Но тъй като ние сме прави отделно от където 1435 01:20:43,680 --> 01:20:46,660 пишем гръб код, можем лесно 1436 01:20:46,660 --> 01:20:52,660 промени начина, нещата изглеждат без променя всеки един файл. 1437 01:20:52,660 --> 01:20:55,460 Ние правим неща, като просто добавете нова Div до дъното 1438 01:20:55,460 --> 01:21:00,720 of-- Hello I модифициран футъра. 1439 01:21:00,720 --> 01:21:03,710 Можете да просто правя подобни неща. 1440 01:21:03,710 --> 01:21:07,250 Но също така, можете да промените цялата визуална оформлението 1441 01:21:07,250 --> 01:21:09,290 без това да повлияе това, което е върви в гръб. 1442 01:21:09,290 --> 01:21:12,000 И вие можете да промените целия гръб и все още 1443 01:21:12,000 --> 01:21:13,900 трябва да изглежда точно като го е направил преди. 1444 01:21:13,900 --> 01:21:14,400 Това 1445 01:21:14,400 --> 01:21:16,170 >> Дали идеята за модел оглед контролер. 1446 01:21:16,170 --> 01:21:19,992 И това всъщност е наложено парадигма в някои от езиците за програмиране 1447 01:21:19,992 --> 01:21:21,700 може да искате да използвате за окончателните проекти. 1448 01:21:21,700 --> 01:21:25,100 Ако го направите развитие IOS, те имат гледка, 1449 01:21:25,100 --> 01:21:29,120 което е това, което виждате на iPhone, и След като бекенд като нещо отделно. 1450 01:21:29,120 --> 01:21:31,260 >> Можете да си помисля малко. 1451 01:21:31,260 --> 01:21:35,190 Има много неща, на изпълними файлове в компютърни науки, което е смешно, 1452 01:21:35,190 --> 01:21:37,270 защото всичко е в двоичен. 1453 01:21:37,270 --> 01:21:38,550 Не планирах това. 1454 01:21:38,550 --> 01:21:41,590 Това беше игра на думи неволно. 1455 01:21:41,590 --> 01:21:43,860 Да, игра на думи, която не е предназначена. 1456 01:21:43,860 --> 01:21:49,070 >> Но подобно .h файлове и .c файлове, има много разделителна неща, които ние 1457 01:21:49,070 --> 01:21:49,900 може да не се наложи. 1458 01:21:49,900 --> 01:21:54,330 Така че ние можем просто да редактирате з файлове, или някой може просто да видите .h файл и да знаят 1459 01:21:54,330 --> 01:21:57,650 точно функциите, които са в .c файл, без непременно да знае 1460 01:21:57,650 --> 01:21:58,870 тяхното изпълнение. 1461 01:21:58,870 --> 01:22:02,800 Тази идея за разделителни компоненти че зависят един от друг 1462 01:22:02,800 --> 01:22:06,990 но може да подреди на достъп до всяка друга чрез различни канали, минаваща 1463 01:22:06,990 --> 01:22:09,310 на променливите, просто включва изявления, неща 1464 01:22:09,310 --> 01:22:14,440 ей така, на този принцип помага за създаване на приложения 1465 01:22:14,440 --> 01:22:17,080 който може да бъде по-лесно редактирано от няколко души, 1466 01:22:17,080 --> 01:22:20,440 може да бъде по-лесно да се промени или изменение на голям мащаб, 1467 01:22:20,440 --> 01:22:24,880 и по-лесно се трасира в много отношения. 1468 01:22:24,880 --> 01:22:28,254 >> Наистина бързо, имам няколко съвета за pset7, 1469 01:22:28,254 --> 01:22:31,420 което аз ще направя на цял екран, така че не Просто погледнете в the-- върха върха Tippee. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Там не са много полезни съвети. 1472 01:22:35,130 --> 01:22:38,060 >> Но аз споменах PHP е трудно да се трасира. 1473 01:22:38,060 --> 01:22:39,290 Двойни и тройни го проверите. 1474 01:22:39,290 --> 01:22:41,550 Ако кодът не е просто показва на страницата, 1475 01:22:41,550 --> 01:22:46,240 това вероятно е грешка PHP, съжалявам. 1476 01:22:46,240 --> 01:22:48,570 >> Вие никога не трябва да разгледаме CSS, ако не искате да. 1477 01:22:48,570 --> 01:22:52,150 Но след като сте готови, то може да бъде Малко нещо забавно приятно просто да отида в 1478 01:22:52,150 --> 01:22:54,770 и се забъркваш с параметрите на CSS. 1479 01:22:54,770 --> 01:22:58,700 CSS и HTML са пример за модел изглед стил контролер нещо прекалено, нали? 1480 01:22:58,700 --> 01:23:02,150 Може да имате стил тагове вътрешността на HTML елементи. 1481 01:23:02,150 --> 01:23:04,800 Но ако нещо ги аутсорсинг към CSS, 1482 01:23:04,800 --> 01:23:08,180 те са по-лесно да редактирате, и да играе наоколо с, и да се забавляват с. 1483 01:23:08,180 --> 01:23:10,816 >> Отнасяйте CS50 помощник функционира като черни кутии. 1484 01:23:10,816 --> 01:23:12,940 Не е нужно да знаете точно това, което Render прави, 1485 01:23:12,940 --> 01:23:16,770 но му се доверите винаги правя правото нещо, в зависимост от това, което го давате, 1486 01:23:16,770 --> 01:23:17,690 неща като това. 1487 01:23:17,690 --> 01:23:21,040 И аз бих препоръчал гледане на Давид репетиция, 1488 01:23:21,040 --> 01:23:24,490 преминавайки през всички неща, а не само Todos, 1489 01:23:24,490 --> 01:23:26,960 но наистина може да лекува тези като черни кутии. 1490 01:23:26,960 --> 01:23:29,280 Не отивам в тях функции, които търсят бъгове. 1491 01:23:29,280 --> 01:23:33,510 >> И приветствам връщането на нашия повелител Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Страхотен. 1493 01:23:34,010 --> 01:23:40,430 >> Има ли някакви въпроси преди окончателните ние някак скача за деня? 1494 01:23:40,430 --> 01:23:42,610 Am I все още живеят? 1495 01:23:42,610 --> 01:23:44,700 Страхотен. 1496 01:23:44,700 --> 01:23:47,120 Здравейте Излъчване на живо хората. 1497 01:23:47,120 --> 01:23:47,620 Страхотен. 1498 01:23:47,620 --> 01:23:50,260 Има ли вече въпроси? 1499 01:23:50,260 --> 01:23:50,760 Не? 1500 01:23:50,760 --> 01:23:52,884 >> И тогава мисля, че ние сме добре да тръгвам за днес. 1501 01:23:52,884 --> 01:23:55,550 Аз ще си наоколо малко след това, ако хората са имали въпроси 1502 01:23:55,550 --> 01:23:57,480 те се страхували да попитам на потока. 1503 01:23:57,480 --> 01:23:59,790 А иначе, имате един добър ден. 1504 01:23:59,790 --> 01:24:01,933