[Powered by Google Translate] [Веб-разработка PHP]
[Томми MacWilliam]
[Это CS50.] [CS50.TV]
>> В этом видео мы узнаем об использовании PHP для веб-разработки.
РНР это язык сценариев, которые могут быть использованы для реализации
веб-сайтов на веб-сервере.
Веб-сервер является по существу машина ориентированы на предоставление контента
которые могут быть доступны через Интернет.
При переходе на веб-страницу, как Facebook.com / home.php
код в файл с именем home.php который живет на веб-сервере Facebook где-то
будет выполняться на этом сервере.
Этот код, скорее всего, произвести некоторый выход
что в свою очередь будет отправлено с сервера
в вашем веб-браузере.
Мы будем использовать CS50 прибор в качестве веб-сервера.
Ваша машина, вероятно, не будет столь же могущественной, как машины
в центре обработки данных Facebook, но вы не будете иметь никаких проблем с использованием его для веб-разработки.
>> Когда мы перейти к URL, как http://localhost/hello.php
мы настроить устройство с помощью приложения под названием сервер Apache HTTP
искать файл с именем hello.php внутри дома / jharvard / виртуальных доменов / localhosts / HTML по умолчанию.
Если этот файл существует, то Apache будет использовать интерпретатор PHP
для выполнения кода PHP в hello.php.
Если этот файл не существует, то Apache будет бросать не найдена ошибка
или ошибка 404, который вы, наверное, видели во время просмотра веб-страниц.
>> Давайте взглянем на hello.php.
Мы видим здесь, что hello.php генерирует сигнал строку вывода.
Когда мы побежали hello.php в командной строке с помощью PHP hello.php
что выход был напечатан на терминал.
Теперь, когда мы к этому файлу через URL в веб-браузере
его выход будет отправлен на веб-браузера,
так отправиться в URL, http://localhost/hello.php,
мы можем увидеть выход в нашем веб-браузера.
>> Давайте попробуем добавить еще один Printf в наш привет мир программы.
Хорошо, давайте голову обратно в веб-браузере и посмотреть, что у нас есть.
Интересный.
Вместо того, чтобы печатать еще одну линию на отдельной строке, как вы бы видели
в терминале, похоже, это был smushed на той же линии
как другой Printf, так что, возможно, новые линии не работают в PHP.
Не совсем.
Помните, что HTML обычно используется для создания веб-страниц
, которые могут отображаться на веб-браузеров.
Мало того, что строка привет от PHP не действительный HTML,
но помните, что мы не можем использовать \ п символ в HTML
создать разрыв строки.
Вместо того чтобы просто выводить строку Давайте выходной действительный HTML.
Используя пункт теги каждый из наших Printf звонков
будет отображаться на отдельной строке,
так что теперь, когда мы посещаем URL, указывающий на valid.php
http://localhost/valid.php
мы видим результат, который мы ищем.
>> Теперь, если мы рассматриваем исходный текст этой страницы
мы видим, что мы теперь, глядя на действительный HTML,
который мы создали с PHP.
Ввод всех наших HTML внутри Е звонков
, конечно, собирается получить действительно раздражает.
К счастью, мы можем легко смешивать HTML и PHP
в том же. файл PHP.
Помните, что все наше PHP кода должны быть заключены в <PHP?
и?>.
Все, что не заключен в этих разделителей
просто быть отправлены в качестве выхода на браузере
а не выполняется.
Это означает, что мы можем сделать что-то вроде этого.
Мы можем просто написать HTML внутри нашего. Файл PHP
а затем вставьте PHP блоки везде, где мы хотели бы некоторые PHP код должен быть казнен.
Здесь мы определяем несколько переменных в верхней части файла,
и позже мы распечатать их внутри нашего HTML.
Теперь, если мы посещаем этот адрес, http://localhost/mixed.php
мы можем увидеть нашу оценены PHP внутри нашего HTML.
>> Теперь давайте посмотрим, как мы можем передавать данные
среди наших различных PHP-страниц.
Вместо того чтобы говорить
мы можем просто сказать <? = переменная, которую мы хотели бы напечатать, или,
и?>.
Теперь давайте посмотрим, как мы можем передавать данные
среди наших различных PHP-страниц.
Один из способов сделать это, чтобы закодировать информацию в URL страницы.
При просмотре веб-страниц, вы, возможно, заметили, что некоторые URL-адреса
содержат? затем строку, содержащую амперсандов и знак равенства.
Эта часть URL известен как строку запроса,
и это позволяет эффективно передавать аргументы в сценарий PHP.
Строка запроса состоит из пар ключ-значение, так же, как хэш-таблицу.
Знак равенства разделяет ключ и соответствующее ему значение
в то время как амперсанды отделить пар.
URL, который выглядит как http://localhost/get.php?foo=bar&baz=qux
имеет 2 пары ключ-значение в строке запроса.
Ключ Foo карты в бар стоимости,
и ключ Баз карты к значению QUX.
Мы можем легко получить доступ к этим пары ключ-значение, используя специальную переменную в PHP,
$ _GET.
$ _GET Является ассоциативным массивом
что автоматически заполняется строки запроса данных.
Это означает, что с учетом этого URL $ _GET ["Foo"]
будет равна строки бар.
>> Давайте взглянем на get.php видеть $ _GET в действии.
Здесь мы используем функцию с именем var_dump,
который при введении массив или другой переменной
напечатает это для нас.
Теперь, если мы просто получить доступ http://localhost/get.php
тогда мы увидим, пустой массив, потому что мы не предоставили строку запроса.
Если мы предоставляем строку запроса через http://localhost/get.php?foo=bar&baz=qux
то можно увидеть, что переменная $ _GET будет содержать
пар ключ-значение строки запроса.
Но что, если мы не хотим, чтобы разместить наши данные внутри URL части страницы?
Для больших объемов данных, это может привести в некоторых довольно уродливые URL-адресов
что собираются сделать нашу блестящую веб-сайте выглядят ламе.
Мы можете поместить строку запроса в тело
из HTTP запросов, а не URL запроса.
Тогда мы можем использовать $ _POST переменную в PHP
для доступа к пары ключ-значение.
Один из способов сделать это с помощью HTML форме.
Здесь у нас есть простой HTML форму.
Обратите внимание, здесь, что метод атрибут этой формы является пост.
Это говорит браузеру, чтобы положить пары ключ-значение формы
в теле запроса, а не URL.
>> Если бы мы использовали значение получить для этого атрибута
Затем пар ключ-значение формы вместо этого пойти в строку запроса,
, чтобы мы могли получить к ним доступ через $ _GET снова.
Действие атрибут виде сообщает браузеру куда отправить данные.
Здесь наши 2 входных элементы имеют атрибуты имен.
Значение атрибутов имен будет служить в качестве ключей в наши данных,
и значения полей ввода станет значения этих ключей.
Теперь давайте взглянем на post.php,
файл, что эта форма представляет на.
Так же, как мы делали раньше, мы просто отображения содержимого переменной $ _POST.
>> Давайте перейдите к форме с http://localhost/form.php.
Теперь, когда мы узнайте мы видим, что данные из form.php
передается Post.php без добавления строку запроса к URL.
Теперь мы видели 2 различные способы передачи данных между PHP страниц,
получить и опубликовать.
В наших примерах мы использовали 2 различных типов HTTP-запросов.
Как и следовало ожидать, запрос Get был использован, когда мы населен
Был использован $ _GET из URL, и запрос сообщению
когда мы заселены $ _POST.
В разработке веб-приложений, что это хорошее правило использовать запросы GET
когда ваше приложение будет только считывать данные, и после просьбы
когда ваше приложение будет записывать данные.
Например, поисковый запрос будет читать данные из вашего приложения,
так запрос Get имеет смысл.
С другой стороны, ваше приложение будет записывать данные с помощью чего-то вроде регистрационной форме,
с такой просьбой сообщение имело бы больше смысла, и это краткий обзор некоторых из методов,
мы будем использовать в CS50 для создания веб-сайтов с использованием PHP.
>> Меня зовут Томми, и это CS50.
[CS50.TV]