1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Веб-разработка PHP] 2 00:00:03,000 --> 00:00:05,000 [Томми MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Это CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> В этом видео мы узнаем об использовании PHP для веб-разработки. 5 00:00:11,000 --> 00:00:14,000 РНР это язык сценариев, которые могут быть использованы для реализации 6 00:00:14,000 --> 00:00:17,000 веб-сайтов на веб-сервере. 7 00:00:17,000 --> 00:00:21,000 Веб-сервер является по существу машина ориентированы на предоставление контента 8 00:00:21,000 --> 00:00:24,000 которые могут быть доступны через Интернет. 9 00:00:24,000 --> 00:00:30,000 При переходе на веб-страницу, как Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 код в файл с именем home.php который живет на веб-сервере Facebook где-то 11 00:00:35,000 --> 00:00:38,000 будет выполняться на этом сервере. 12 00:00:38,000 --> 00:00:41,000 Этот код, скорее всего, произвести некоторый выход 13 00:00:41,000 --> 00:00:43,000 что в свою очередь будет отправлено с сервера 14 00:00:43,000 --> 00:00:45,000 в вашем веб-браузере. 15 00:00:45,000 --> 00:00:49,000 Мы будем использовать CS50 прибор в качестве веб-сервера. 16 00:00:49,000 --> 00:00:51,000 Ваша машина, вероятно, не будет столь же могущественной, как машины 17 00:00:51,000 --> 00:00:57,000 в центре обработки данных Facebook, но вы не будете иметь никаких проблем с использованием его для веб-разработки. 18 00:00:57,000 --> 00:01:05,000 >> Когда мы перейти к URL, как http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 мы настроить устройство с помощью приложения под названием сервер Apache HTTP 20 00:01:10,000 --> 00:01:19,000 искать файл с именем hello.php внутри дома / jharvard / виртуальных доменов / localhosts / HTML по умолчанию. 21 00:01:19,000 --> 00:01:23,000 Если этот файл существует, то Apache будет использовать интерпретатор PHP 22 00:01:23,000 --> 00:01:27,000 для выполнения кода PHP в hello.php. 23 00:01:27,000 --> 00:01:31,000 Если этот файл не существует, то Apache будет бросать не найдена ошибка 24 00:01:31,000 --> 00:01:36,000 или ошибка 404, который вы, наверное, видели во время просмотра веб-страниц. 25 00:01:36,000 --> 00:01:40,000 >> Давайте взглянем на hello.php. 26 00:01:40,000 --> 00:01:45,000 Мы видим здесь, что hello.php генерирует сигнал строку вывода. 27 00:01:45,000 --> 00:01:51,000 Когда мы побежали hello.php в командной строке с помощью PHP hello.php 28 00:01:51,000 --> 00:01:54,000 что выход был напечатан на терминал. 29 00:01:54,000 --> 00:01:58,000 Теперь, когда мы к этому файлу через URL в веб-браузере 30 00:01:58,000 --> 00:02:01,000 его выход будет отправлен на веб-браузера, 31 00:02:01,000 --> 00:02:09,000 так отправиться в URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 мы можем увидеть выход в нашем веб-браузера. 33 00:02:12,000 --> 00:02:17,000 >> Давайте попробуем добавить еще один Printf в наш привет мир программы. 34 00:02:17,000 --> 00:02:23,000 Хорошо, давайте голову обратно в веб-браузере и посмотреть, что у нас есть. 35 00:02:23,000 --> 00:02:25,000 Интересный. 36 00:02:25,000 --> 00:02:28,000 Вместо того, чтобы печатать еще одну линию на отдельной строке, как вы бы видели 37 00:02:28,000 --> 00:02:32,000 в терминале, похоже, это был smushed на той же линии 38 00:02:32,000 --> 00:02:36,000 как другой Printf, так что, возможно, новые линии не работают в PHP. 39 00:02:36,000 --> 00:02:38,000 Не совсем. 40 00:02:38,000 --> 00:02:41,000 Помните, что HTML обычно используется для создания веб-страниц 41 00:02:41,000 --> 00:02:44,000 , которые могут отображаться на веб-браузеров. 42 00:02:44,000 --> 00:02:49,000 Мало того, что строка привет от PHP не действительный HTML, 43 00:02:49,000 --> 00:02:53,000 но помните, что мы не можем использовать \ п символ в HTML 44 00:02:53,000 --> 00:02:55,000 создать разрыв строки. 45 00:02:55,000 --> 00:03:01,000 Вместо того чтобы просто выводить строку Давайте выходной действительный HTML. 46 00:03:01,000 --> 00:03:04,000 Используя пункт теги каждый из наших Printf звонков 47 00:03:04,000 --> 00:03:07,000 будет отображаться на отдельной строке, 48 00:03:07,000 --> 00:03:11,000 так что теперь, когда мы посещаем URL, указывающий на valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 мы видим результат, который мы ищем. 51 00:03:19,000 --> 00:03:22,000 >> Теперь, если мы рассматриваем исходный текст этой страницы 52 00:03:22,000 --> 00:03:25,000 мы видим, что мы теперь, глядя на действительный HTML, 53 00:03:25,000 --> 00:03:28,000 который мы создали с PHP. 54 00:03:28,000 --> 00:03:31,000 Ввод всех наших HTML внутри Е звонков 55 00:03:31,000 --> 00:03:34,000 , конечно, собирается получить действительно раздражает. 56 00:03:34,000 --> 00:03:38,000 К счастью, мы можем легко смешивать HTML и PHP 57 00:03:38,000 --> 00:03:41,000 в том же. файл PHP. 58 00:03:41,000 --> 00:03:47,000 Помните, что все наше PHP кода должны быть заключены в 00:03:49,000 и?>. 60 00:03:49,000 --> 00:03:52,000 Все, что не заключен в этих разделителей 61 00:03:52,000 --> 00:03:55,000 просто быть отправлены в качестве выхода на браузере 62 00:03:55,000 --> 00:03:57,000 а не выполняется. 63 00:03:57,000 --> 00:04:01,000 Это означает, что мы можем сделать что-то вроде этого. 64 00:04:01,000 --> 00:04:05,000 Мы можем просто написать HTML внутри нашего. Файл PHP 65 00:04:05,000 --> 00:04:11,000 а затем вставьте PHP блоки везде, где мы хотели бы некоторые PHP код должен быть казнен. 66 00:04:11,000 --> 00:04:15,000 Здесь мы определяем несколько переменных в верхней части файла, 67 00:04:15,000 --> 00:04:19,000 и позже мы распечатать их внутри нашего HTML. 68 00:04:19,000 --> 00:04:27,000 Теперь, если мы посещаем этот адрес, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 мы можем увидеть нашу оценены PHP внутри нашего HTML. 70 00:04:33,000 --> 00:04:36,000 >> Теперь давайте посмотрим, как мы можем передавать данные 71 00:04:36,000 --> 00:04:39,000 среди наших различных PHP-страниц. 72 00:04:39,000 --> 00:04:51,000 Вместо того чтобы говорить 73 00:04:51,000 --> 00:04:58,000 мы можем просто сказать 00:05:01,000 и?>. 75 00:05:01,000 --> 00:05:03,000 Теперь давайте посмотрим, как мы можем передавать данные 76 00:05:03,000 --> 00:05:06,000 среди наших различных PHP-страниц. 77 00:05:06,000 --> 00:05:11,000 Один из способов сделать это, чтобы закодировать информацию в URL страницы. 78 00:05:11,000 --> 00:05:14,000 При просмотре веб-страниц, вы, возможно, заметили, что некоторые URL-адреса 79 00:05:14,000 --> 00:05:20,000 содержат? затем строку, содержащую амперсандов и знак равенства. 80 00:05:20,000 --> 00:05:23,000 Эта часть URL известен как строку запроса, 81 00:05:23,000 --> 00:05:29,000 и это позволяет эффективно передавать аргументы в сценарий PHP. 82 00:05:29,000 --> 00:05:34,000 Строка запроса состоит из пар ключ-значение, так же, как хэш-таблицу. 83 00:05:34,000 --> 00:05:38,000 Знак равенства разделяет ключ и соответствующее ему значение 84 00:05:38,000 --> 00:05:41,000 в то время как амперсанды отделить пар. 85 00:05:41,000 --> 00:06:05,000 URL, который выглядит как http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 имеет 2 пары ключ-значение в строке запроса. 87 00:06:09,000 --> 00:06:12,000 Ключ Foo карты в бар стоимости, 88 00:06:12,000 --> 00:06:16,000 и ключ Баз карты к значению QUX. 89 00:06:16,000 --> 00:06:23,000 Мы можем легко получить доступ к этим пары ключ-значение, используя специальную переменную в PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Является ассоциативным массивом 92 00:06:32,000 --> 00:06:36,000 что автоматически заполняется строки запроса данных. 93 00:06:36,000 --> 00:06:46,000 Это означает, что с учетом этого URL $ _GET ["Foo"] 94 00:06:46,000 --> 00:06:49,000 будет равна строки бар. 95 00:06:49,000 --> 00:06:56,000 >> Давайте взглянем на get.php видеть $ _GET в действии. 96 00:06:56,000 --> 00:07:00,000 Здесь мы используем функцию с именем var_dump, 97 00:07:00,000 --> 00:07:03,000 который при введении массив или другой переменной 98 00:07:03,000 --> 00:07:05,000 напечатает это для нас. 99 00:07:05,000 --> 00:07:12,000 Теперь, если мы просто получить доступ http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 тогда мы увидим, пустой массив, потому что мы не предоставили строку запроса. 101 00:07:17,000 --> 00:07:29,000 Если мы предоставляем строку запроса через http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 то можно увидеть, что переменная $ _GET будет содержать 103 00:07:34,000 --> 00:07:37,000 пар ключ-значение строки запроса. 104 00:07:37,000 --> 00:07:42,000 Но что, если мы не хотим, чтобы разместить наши данные внутри URL части страницы? 105 00:07:42,000 --> 00:07:46,000 Для больших объемов данных, это может привести в некоторых довольно уродливые URL-адресов 106 00:07:46,000 --> 00:07:49,000 что собираются сделать нашу блестящую веб-сайте выглядят ламе. 107 00:07:49,000 --> 00:07:52,000 Мы можете поместить строку запроса в тело 108 00:07:52,000 --> 00:07:57,000 из HTTP запросов, а не URL запроса. 109 00:07:57,000 --> 00:08:02,000 Тогда мы можем использовать $ _POST переменную в PHP 110 00:08:02,000 --> 00:08:05,000 для доступа к пары ключ-значение. 111 00:08:05,000 --> 00:08:10,000 Один из способов сделать это с помощью HTML форме. 112 00:08:10,000 --> 00:08:13,000 Здесь у нас есть простой HTML форму. 113 00:08:13,000 --> 00:08:17,000 Обратите внимание, здесь, что метод атрибут этой формы является пост. 114 00:08:17,000 --> 00:08:21,000 Это говорит браузеру, чтобы положить пары ключ-значение формы 115 00:08:21,000 --> 00:08:25,000 в теле запроса, а не URL. 116 00:08:25,000 --> 00:08:28,000 >> Если бы мы использовали значение получить для этого атрибута 117 00:08:28,000 --> 00:08:32,000 Затем пар ключ-значение формы вместо этого пойти в строку запроса, 118 00:08:32,000 --> 00:08:36,000 , чтобы мы могли получить к ним доступ через $ _GET снова. 119 00:08:36,000 --> 00:08:42,000 Действие атрибут виде сообщает браузеру куда отправить данные. 120 00:08:42,000 --> 00:08:46,000 Здесь наши 2 входных элементы имеют атрибуты имен. 121 00:08:46,000 --> 00:08:51,000 Значение атрибутов имен будет служить в качестве ключей в наши данных, 122 00:08:51,000 --> 00:08:56,000 и значения полей ввода станет значения этих ключей. 123 00:08:56,000 --> 00:08:59,000 Теперь давайте взглянем на post.php, 124 00:08:59,000 --> 00:09:03,000 файл, что эта форма представляет на. 125 00:09:03,000 --> 00:09:10,000 Так же, как мы делали раньше, мы просто отображения содержимого переменной $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Давайте перейдите к форме с http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Теперь, когда мы узнайте мы видим, что данные из form.php 128 00:09:23,000 --> 00:09:30,000 передается Post.php без добавления строку запроса к URL. 129 00:09:30,000 --> 00:09:35,000 Теперь мы видели 2 различные способы передачи данных между PHP страниц, 130 00:09:35,000 --> 00:09:37,000 получить и опубликовать. 131 00:09:37,000 --> 00:09:41,000 В наших примерах мы использовали 2 различных типов HTTP-запросов. 132 00:09:41,000 --> 00:09:45,000 Как и следовало ожидать, запрос Get был использован, когда мы населен 133 00:09:45,000 --> 00:09:51,000 Был использован $ _GET из URL, и запрос сообщению 134 00:09:51,000 --> 00:09:55,000 когда мы заселены $ _POST. 135 00:09:55,000 --> 00:09:59,000 В разработке веб-приложений, что это хорошее правило использовать запросы GET 136 00:09:59,000 --> 00:10:03,000 когда ваше приложение будет только считывать данные, и после просьбы 137 00:10:03,000 --> 00:10:05,000 когда ваше приложение будет записывать данные. 138 00:10:05,000 --> 00:10:09,000 Например, поисковый запрос будет читать данные из вашего приложения, 139 00:10:09,000 --> 00:10:12,000 так запрос Get имеет смысл. 140 00:10:12,000 --> 00:10:17,000 С другой стороны, ваше приложение будет записывать данные с помощью чего-то вроде регистрационной форме, 141 00:10:17,000 --> 00:10:22,000 с такой просьбой сообщение имело бы больше смысла, и это краткий обзор некоторых из методов, 142 00:10:22,000 --> 00:10:26,000 мы будем использовать в CS50 для создания веб-сайтов с использованием PHP. 143 00:10:26,000 --> 00:10:30,000 >> Меня зовут Томми, и это CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]