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 Я не Енді. 4 00:00:10,040 --> 00:00:14,590 Енді вже захворів у цей день, і я були свого роду називається в останню хвилину 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-- Р встановлений 7. 15 00:00:43,650 --> 00:00:44,480 Р встановлений 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 що ви будете використовувати в Р встановлюється 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 але Р встановлений 6 мав деякий PHP код, який відбувається. 29 00:01:27,880 --> 00:01:34,710 І тому, що PHP є С-як мову, 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-- все, що речі, які весело про С. 34 00:01:51,590 --> 00:01:56,190 Він має кілька речей, які трохи трохи краще, ніж С, що ми побачимо, 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 код, який був у Р встановлюється 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 встановлений. 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 що ми вже здійснили, я насправді скопіював трохи Р 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 Це говорить, добре, наш сайт в даний час доступно за адресою в IDE, 68 00:03:52,350 --> 00:03:57,710 в основному, що те, що ви були з допомогою точно так, як це було в Р встановлюється 7-- Р набір 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-- якщо ви говорите, Сем бо це моя name-- 75 00:04:20,550 --> 00:04:23,620 і я натисніть привітатися, коли ми пішли на наступну сторінку, 76 00:04:23,620 --> 00:04:25,270 що ім'я повинно було бути відображено. 77 00:04:25,270 --> 00:04:28,550 Це б сказав, "Привіт, Сем" або "Привіт," все, що вам ім'я 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 сторінці за допомогою використання РНР і форм, 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 це все застрягли між ними Знак питання-каретка блоки. 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 був укладений у INT основний, порожнечу, фігурна дужка, кінець кучеряве заяву дужки. 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 є програмування мова, яка дуже С-як, 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, ми зробили це з функцією PRINTF. 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--, тому що це не зовсім Printf. 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 І, що має ефект робить Printf з рядком "Привіт." 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 точно так само як PRINTF заяві. 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 Є деякі тонкі відмінності між GET та посада 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 Р набір 6. 184 00:10:57,340 --> 00:11:00,850 А насправді, якщо ми йдемо в і дивитися перш, ніж ми коли-небудь ще раз внесено, 185 00:11:00,850 --> 00:11:03,090 Я збираюся сказати привіт , Метою яких те, що ваше ім'я? 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-Я-О-Т. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: Я-О-Т? 192 00:11:09,720 --> 00:11:10,440 >> АУДИТОРІЯ: Так. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Ідеальний. 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 Hello," це не він не збирається, щоб показати на екрані 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? Ім'я = Елліот. 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 Ми сказали, ім'я = Елліот. 206 00:11:40,870 --> 00:11:46,290 І це, в кінцевому рахунку, як Р набір 6 Доступ змінну, ми пройшли в 207 00:11:46,290 --> 00:11:47,520 через форму. 208 00:11:47,520 --> 00:11:51,470 І це те, що властиво запиту GET. 209 00:11:51,470 --> 00:11:57,480 Запит Get робить параметрів Відомо, в URL сайту. 210 00:11:57,480 --> 00:12:01,190 >> І ви пам'ятаєте, теж, в Р набір 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, що назвати = Елліот. 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 Тепер, що ми рухаємося по поза С в 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 Елліот знову. 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 І якщо ми йдемо сюди, ми побачимо, то замість імені = Елліот, 249 00:13:52,880 --> 00:13:55,200 він говорить людина = Елліот. 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 І ти сказав Int А і INT б. 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 І тому, якщо ми наберемо одне в кожній одно-- "Джейсон Хіршхорн," для 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 Схоже, у нас є, а Очікується, а = Джейсон і б = Хіршхорн, 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 де наші змінні, які ми перейти до наступного веб-сторінки Live. 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 І те, що ви повинні були зробити, коли ви оголосив їх було сказати, Int А чи сЬаг б. 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 І так, що ви створити переменная-- а 295 00:16:44,480 --> 00:16:49,930 ніж говорити INT, CHAR, string-- яка насправді символ *, як ми знаю-- 296 00:16:49,930 --> 00:16:52,180 а не робити все що, тому що всі 297 00:16:52,180 --> 00:16:54,620 має той же тип, Безтиповою, ми можемо тільки 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 Зараз ми збираємося зосередитися на GET і посади. 305 00:17:20,569 --> 00:17:22,910 Але це корисно річ, що робить IDE 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 У середовищі IDE повинні кидати деякі помилки, якщо я роблю нічого поганого, 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 Так що з C програми, ви могли б зробити розпорядок дня 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 є С-як, але він виконується на льоту веб-браузері. 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 >> Так що тепер, якщо ми переходимо, метою яких кажуть, давайте закриємо це. 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, тому що змінні є безтиповою, рядок 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 Так що тепер нам потрібно поговорити про отримувати і розміщувати і виконувати остаточний річ, яка 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 дуже С-як. 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 У нас є A = H і B = г, де і б імена змінних. 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 Але це саме те, що що відбувається в Р встановлюється 6. 398 00:22:21,920 --> 00:22:27,240 В принципі, те, що Р набір 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 [? Малин?] Зробив це в лекції один або два рази. 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 >> Залу: Джерело. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: джерело сторінку. 432 00:24:14,870 --> 00:24:15,890 Точно. 433 00:24:15,890 --> 00:24:19,230 Якщо ви йдете на сторінку Source-- досконалий. 434 00:24:19,230 --> 00:24:21,630 Так Вихідний код сторінки тягне інспектора. 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 Ми використовуємо метод GET. 453 00:25:14,310 --> 00:25:15,760 >> І це червоний. 454 00:25:15,760 --> 00:25:19,030 Або, Він був червоним, коли я не вибравши його. 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 Таким чином, все, що вихідна сторінка може в основному сказати вам ваша річ 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 щоб бути С-як, що ви побачите петлі. 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 є Google його 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 ми насправді потягніть його вгору і побачити, що Добре, ось щось цікаве. 496 00:27:14,980 --> 00:27:18,070 Так що це насправді те, що він виглядав в Р встановлюється 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 і IFS і всі 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 ["NAME"], тобто 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 >> СЛУХАЛИ: Це хороше запитання. 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 І один з найбільш ранніх речей, які ви були введені в С було для петель. 604 00:33:18,790 --> 00:33:24,060 І PHP має більш потужний для цикл називається цикл по кожному елементу. 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 Розроблений в С, точніше, як скорочення для багатьох видів петель 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 Великий, так що це наша рядок. 625 00:34:48,270 --> 00:34:51,469 >> А потім у нас був цикл. 626 00:34:51,469 --> 00:34:53,730 У нас є INT я дорівнює 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 а просто-- якщо ми маємо змінну називається, давайте називати його масив. 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, просто свого роду ініціалізованих масиву. 647 00:36:26,890 --> 00:36:29,680 Це нормально, це не подобається моя Еогеасп. 648 00:36:29,680 --> 00:36:33,120 >> Але якщо ми насправді foreach-- Я набрав, що трохи неправильно. 649 00:36:33,120 --> 00:36:34,840 Є два способи зробити цикл по кожному елементу. 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 >> Так Еогеасп піт в масиві, відлуння Num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 І РНР кричати на мені чомусь. 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 Так давайте зробимо Еогеасп масив в якості піт. 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 Ми говоримо, Привіт Джейсон. 669 00:37:35,845 --> 00:37:41,390 І це зробив 123, який був вміст масиву, який ми створили до вершини. 670 00:37:41,390 --> 00:37:45,500 >> Так дайвінг в цьому цикл по кожному елементу, у нас є змінна називається масив 671 00:37:45,500 --> 00:37:47,470 який являє собою масив з трьох чисел. 672 00:37:47,470 --> 00:37:52,120 А потім ми робимо Еогеасп Масив, як піт, відлуння Num. 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 >> РНР розрахунку, що коли ви говорите, Еогеасп масив, 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 а потім просто вихід Num відразу, а не кажучи 683 00:38:29,360 --> 00:38:34,090 У мене є змінна I, а то я хочу, щоб вихідний 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 >> Так що тепер давайте поговоримо про Еогеасп в це відноситься і до наших словнику _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 І це тому, що Еогеасп петлі розумні, ми 708 00:40:01,310 --> 00:40:04,900 могли б думати, і правильно Можна подумати, що Еогеасп 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 Давайте побудуємо цикл по кожному елементу. 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 Але він друкує, як і очікувалося, Сем 45. 726 00:41:05,640 --> 00:41:08,930 >> І так ви помітите, що те, що цикл по кожному елементу 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 Еогеасп, будучи його інтелект себе, Передбачається, що те, що ми дійсно хотіли 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 І це Еогеасп синтаксичний цукор, який дозволяє трохи 750 00:42:23,350 --> 00:42:25,960 отримати доступ до речі в словнику. 751 00:42:25,960 --> 00:42:31,190 >> Так що сподіваюся, це свого роду підкреслює сила цикл по кожному елементу. 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 Це буде казати, добре, я йду, щоб отримати ці речі з даних, які 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 СЛУХАЛИ: Ой. 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 Ключ і значення всього лише умовність. 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 СЛУХАЛИ: Зовсім ні. 780 00:43:44,440 --> 00:43:47,260 АУДИТОРІЯ: А це якраз знає, що через більшу дорівнює than-- 781 00:43:47,260 --> 00:43:47,801 СЛУХАЛИ: Так. 782 00:43:47,801 --> 00:43:49,489 АУДИТОРІЯ: --that показник того, що that's-- 783 00:43:49,489 --> 00:43:50,030 СЛУХАЛИ: Так. 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 >> СЛУХАЛИ: Є способи, щоб перевірити, якщо Змінні відповідати певним типам. 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 >> СЛУХАЛИ: Так, ми будемо повертатися до цього. 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 що пам'ятаю, коли ми дивилися за цією адресою, і ми побачили, о, 827 00:45:53,150 --> 00:45:58,270 Ім'я дорівнює а і вік дорівнює yarp праві в URL там для нас. 828 00:45:58,270 --> 00:46:03,300 ПОСТ трохи більш скритними з проходження інформації. 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 В даний час увійшли в яке буде відображатися в URL-адреса, який є розумним кроком 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 ПОСТ трохи більш скритними. 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 >> І те, як цей пост 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 І це інша справа, що Повідомлення буде дати вам попередження про. 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 СТОВП Що відправки цих форм. 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 Я маю на увазі, це те, що Девід йде через небагато. 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 І деякі з PHP, що вже існує в файлах 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 чи посади. 916 00:50:42,730 --> 00:50:47,250 Як раніше, що ми робили просто в нашому коді, що ми написали, 917 00:50:47,250 --> 00:50:51,880 ми були просто змінюється, що це буде отримати і 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 Рендер це функція, яка в основному просто ставить відповідну 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 в методах, що Девід will-- якщо методи, які є корисними для вас, 937 00:51:52,370 --> 00:51:55,560 вони будуть попереджені вас в прогулянці по цій Давида 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 Основні речі, як, що. 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 через форму через пост, бо це ім'я користувача та пароль матеріал. 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 ID, який тільки має сенс, оскільки кожен рядок матиме інший ідентифікатор 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 І це логіни мета життя, як професор Маланії б сказав. 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 Не забудьте CHMOD для належні дозволи. 1013 00:56:36,470 --> 00:56:40,180 Там буде трохи про що на початку специфікації. 1014 00:56:40,180 --> 00:56:46,382 >> Але PHP, що ви написання буде 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 цикл по кожному елементу, що ми описали. 1027 00:57:22,860 --> 00:57:30,270 >> Так що, якщо ви Еогеасп на подвійному Масив, що буде в 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 >> Якщо у нас є Еогеасп рядків а поспіль, що тип рядки? 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 Так що Еогеасп збирається вивести що ми хочемо від цієї подвійної масив 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 >> В основному те, що цикл по кожному елементу буде зробити це збирається повертати рядка. 1042 00:58:23,880 --> 00:58:28,500 рядок буде типу підряд, в той час як рядків подвійний масив. 1043 00:58:28,500 --> 00:58:32,290 Так що, якщо ви даєте Еогеасп подвійний масив, це 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-- цикл по кожному елементом не 1047 00:58:48,110 --> 00:58:51,880 збираюся пройти через кожен з цих клітин. 1048 00:58:51,880 --> 00:58:56,390 Що цикл по кожному елементу робитиме був він піде через цей ряд, 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 Якщо додати вкладений цикл по кожному елементу, то ви 1053 00:59:05,310 --> 00:59:16,280 може відноситися до кожного рядка, повернутої з Рядки, ви Еогеасп ряд як елемент, 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 ви могли б використовувати Еогеасп петлі в контексті запиту. 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 це буде збільшувати, що Ідентифікаційний номер і просто 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 Так ідентифікатор стовпця ви ніколи не доведеться турбуватися. 1094 01:01:19,160 --> 01:01:22,770 Але, як і у випадку з login.php, коли ми 1095 01:01:22,770 --> 01:01:26,610 були одержувати ідентифікатор сеансу з таблиці і лише за допомогою 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 через Нью-Йорк. 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 так що ми будемо робити, якщо ми говорили оновлення? 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, встановіть ім'я дорівнює Елліот. 1149 01:04:42,340 --> 01:04:46,310 Отримати деякі людей з Новий розділ на цьому. 1150 01:04:46,310 --> 01:04:51,540 Але якщо ми тільки що зробили оновлення таблиці 1 Ім'я набору дорівнює Елліот, що б 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 СЛУХАЛИ: Все в якому ряду? 1157 01:05:04,570 --> 01:05:06,067 АУДИТОРІЯ: У першому ряду. 1158 01:05:06,067 --> 01:05:07,150 СПІКЕР: У першому ряду? 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 СЛУХАЛИ: Все в вся таблиця, так. 1163 01:05:15,120 --> 01:05:19,520 І це абсолютно вірно, я because-- просто допомагаючи вам трохи 1164 01:05:19,520 --> 01:05:22,650 there--, тому що ми опущений додатковий Інеко. 1165 01:05:22,650 --> 01:05:27,260 Якщо ви не маєте WHERE Пропозиція, що ця команда буде робити 1166 01:05:27,260 --> 01:05:32,240 це буде працювати з кожним однорядні в таблиці. 1167 01:05:32,240 --> 01:05:35,430 Ім'я кожної людини буде стати Елліотт, в основному, 1168 01:05:35,430 --> 01:05:37,360 який Елліот дуже радий. 1169 01:05:37,360 --> 01:05:40,070 Або Янні, один з двох. 1170 01:05:40,070 --> 01:05:42,490 Але ім'я кожного зміниться. 1171 01:05:42,490 --> 01:05:47,880 >> Так як ми використовуємо ДЕ clause-- і це відноситься до всіх Wheres 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 Таким чином, колона дорівнює вартості в комплекті в завданні. 1177 01:06:04,400 --> 01:06:08,320 Як ми говоримо, ми хочемо встановити ім'я, що збігається з Еліотом. 1178 01:06:08,320 --> 01:06:15,390 Але в WHERE статей, Ці заяви рівності. 1179 01:06:15,390 --> 01:06:20,410 Так що давайте говорити, що ми тільки хотіли змінити ім'я людини до Еллиоту 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 зміниться на Еллиоту. 1187 01:06:45,730 --> 01:06:48,169 >> Це схоже на прикладі від того, якщо лінія розлому розщеплюється 1188 01:06:48,169 --> 01:06:50,960 Нью-Йорк і кожен повинен переїхати в Нью-Хейвені, шлях від нас залежне, 1189 01:06:50,960 --> 01:06:56,570 зробити це в один оператор UPDATE table1 SET рідне місто Нью-Хейвен = 1190 01:06:56,570 --> 01:07:00,210 де рідне місто дорівнює Нью-Йорк. 1191 01:07:00,210 --> 01:07:03,410 Це сила Це оновлення заяві. 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 table1 набір Ім'я = Елліот ДЕ ряд = 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 бо поле ID є унікальним Ідентифікатор в базі даних 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 >> АУДИТОРІЯ: А що, якщо ви хочете, метою яких знову ж таки, це інше питання. 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 >> СПІКЕР: Де ви оновити, так. 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 Вставку на, ймовірно, найбільш відрізняється від UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Я збираюся залишити це там для тільки трохи і робота тут. 1227 01:09:06,170 --> 01:09:10,215 Так вставити в, ви побачите ця таблиця раніше те ж саме. 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, давайте зробимо table1 знову. 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 >> Тому ми хочемо, щоб вставити НА table1 деякі значення. 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 до нашого столу, тому що ми пропускаємо Енді. 1246 01:10:08,100 --> 01:10:09,390 Енді хворий. 1247 01:10:09,390 --> 01:10:12,490 Так давайте додамо Енді до нашого столу. 1248 01:10:12,490 --> 01:10:15,150 Пам'ятайте, що ідентифікаційний номер оновлюється автоматично. 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 Так що, якщо ми хотіли, щоб вставити Енді в наш стіл, все, що ми повинні зробити, це вірно Анді. 1255 01:10:35,530 --> 01:10:38,630 Що наддержавою Анді, люди в розділі Анді? 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 >> СЛУХАЛИ: Подорож у часі, дивно. 1262 01:10:56,180 --> 01:11:04,280 Отже, ми отримали Енді, час подорожі, і її рідне місто. 1263 01:11:04,280 --> 01:11:05,530 Це дійсно гарне питання. 1264 01:11:05,530 --> 01:11:09,210 Нью-Йорк, якщо хтось не знає. 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 з подорожами в часі наддержави і рідне місто Нью-Йорк. 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 >> Таким чином, що ми робимо це зараз, Енді, час у дорозі, Нью-Йорк, 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 як, як я не знав, Анді наддержавою на початку. 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 Я зроблю Енді і Нью-Йорку. 1284 01:12:24,430 --> 01:12:28,980 >> Якби я опустив список стовпців і просто зробити ці дві речі, 1285 01:12:28,980 --> 01:12:32,450 де б Нью-Йорк пішли? 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 І цінності, які вона буде дотримуватися в всі стовпці буде просто значення NULL. 1292 01:12:49,080 --> 01:12:51,840 Так, тому що ми вказано Ім'я та рідний, 1293 01:12:51,840 --> 01:12:56,110 ми збираємося, щоб мати ID 5, назвати Енді, наддержави 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 Так от INSERT INTO команди. 1301 01:13:11,860 --> 01:13:13,610 Перш ніж ми перейдемо, є більше дві команди. 1302 01:13:13,610 --> 01:13:19,060 Є люди, є які-небудь питання з приводу ОНОВЛЕННЯ, про 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 >> І ВИБІР буде дуже схожі. 1310 01:13:35,720 --> 01:13:38,790 Мета 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 Ваш розум може негайно повернутися до того, що Інеко 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 >> Якщо ми не поставити WHERE пункт, і ми говоримо ВИБІР ім'я, 1317 01:14:06,020 --> 01:14:16,490 hometown-- пишеться, що трохи wrong-- ім'я, рідне місто ВІД table1. 1318 01:14:16,490 --> 01:14:19,690 Якщо ми просто скажемо, що, те, що ВИБІР збирається дати нам, це 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 Так що, якщо ми тільки що вставили Енді, ми повинні Анді. 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 >> Так це тому, що ми не використовуйте статтю, де. 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-- ВІД table1 ДЕ рідне місто = Нью-Йорк. 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 Так що те, що ми можна зробити з WHERE 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 Ми можемо оновити місто кожен, чиї ідентифікаційний номер 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 >> І видаляти, як ви б очікувати, DELETE FROM table1. 1349 01:16:13,264 --> 01:16:14,930 І тоді у нас є ще один пункт, де. 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 DELETE FROM таблиця, в якій рідне місто = Нью-Йорк 1354 01:16:26,990 --> 01:16:28,740 видалить всі в Нью-Йорку. 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 Я не знаю, який Рой воліє, але сила. 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 які є набори, як заздалегідь написані 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 Глава закінчується, організм починає, і ой, у нас є цей дивний маленький кінець небагато. 1407 01:19:08,700 --> 01:19:14,730 І є DIV, як безформний вид елемента 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 Кінець DIV, кінця тіла, кінець 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 Ми робимо такі речі, як просто додати нова справ до нижньої 1438 01:20:55,460 --> 01:21:00,720 of-- Привіт я змінив колонтитули. 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 Ви не повинні знати, саме те, що робить рендер, 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 Я все ще живу? 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