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