Урок 3: Ваша первая РНР-страница
На уроках 1 и 2 вы уже немного познакомились с PHP и настроили сервер (или получили к нему доступ). Теперь мы готовы к созданию первой РНР-страницы. Это будет легко и просто, но после этого урока вы уже будете знать о РНР намного больше.
Как правило PHP-файл представляет собой текстовый файл с расширением .php, состоящий из:
- Текста
- HTML-тэгов
- PHP-скриптов
Вы уже знакомы с текстом и HTML-тэгами. Теперь остановимся на РНР-скриптах.
PHP-скрипты
PHP Documentation Group выпустила подробную документацию . По всему данному учебнику даётся множество ссылок на эту документацию. Цель - чтобы вы привыкли искать ответы на ваши вопросы. PHP настолько обширен, что его невозможно охватить в этом учебнике. Но PHP достаточно прост! Более того, язык PHP часто весьма похож на обычный английский.
Давайте начнём конструирование вашей первой РНР-страницы.
Пример: Hello World!
Начнём создание обычного HTML-документа, но назовём файл page.php и поместим его в корневую директорию сайта. Если вы используете XAMPP (см. Урок 2), путь к файлу на вашем компьютере (который теперь является сервером) будет "c:\xampp\htdocs\page.php".
HTML-код должен выглядеть примерно так:
<html> <head> <title>Моя первая PHP-страница</title> </head> <body> </body> </html>
Как вы помните, вероятно, из первого урока, PHP даёт команды серверу. Так что давайте напишем команду серверу.
Сначала мы должны указать серверу, где код PHP начинается и заканчивается. В PHP тэги <?php и ?> используются для обозначения начала и конца блоков РНР-кода, которые сервер должен исполнять (на большинстве серверов достаточно использовать <? в качестве стартового тэга, но <?php будет более корректно при первом использовании PHP.)
Попробуем теперь добавить такой блок кода в ваш HTML-код:
<html> <head> <title>Моя первая PHP-страница</title> </head> <body> <?php echo "<h1>Hello World!</h1>"; ?> </body> </html>
Если просмотреть этот PHP-документ в браузере, то он будет выглядеть примерно так:
Но интересно будет просмотреть HTML-код в браузере (выбрав "view source"):
PHP-коды исчезли! Из первого урока, вы помните, что только сервер может видеть PHP-коды - клиент (программа-браузер) видит только результат!
Посмотрим, что происходит. Мы просим сервер написать <h1> Hello World!</h1>. Говоря более техническим языком, мы используем строковую функцию echo для написания клиенту специализированной строки, где точка с запятой обозначают конец команды. Но не волнуйтесь! В этом учебнике мы постараемся использовать техническую терминологию по-минимуму.
Наш первый пример, очевидно не особо впечатляющ. Но не спешите! Теперь будет всё интереснее. Рассмотрим другой пример.
Пример: Now!
Заставим сервер написать что-нибудь ещё. Мы можем, например, попросить его вывести текущие дату и время:
<html> <head> <title>Моя первая PHP-страница</title> </head> <body> <?php echo date("r"); ?> </body> </html>
В браузере мы увидим:
Соответствующий HTML-код:
Стало уже немного интереснее, не правда ли?
Сервер отображает дату и время при отображении РНР-страницы. Заметьте, что при обновлении страницы в браузере, отобразится новое время. Сервер выводит текущие дату и время всякий раз при отправке страницы клиенту.
Отметим также, что HTML-содержит только дату и время, но не РНР-коды. Следовательно, этот пример не зависит от того, какой браузер используется. В реальности вся функциональность выполняется серверными технологиями и всегда работает во всех браузерах!
И вновь отметим точку с запятой в конце строки кода. Этот разделитель очень важен - при его отсутствии скрипт работать не будет.
В этом примере мы использовали date, функцию, которая возвращает текущие дату и время сервера.
Попробуем расширить пример, записав строку/string и функцию/function, разделив их символом "." (точка) - примерно так:
<html> <head> <title>Мой первый PHP-документ</title> </head> <body> <?php echo "<p>Текущие дата и время: " . date("r") . "</p>"; ?> </body> </html>
В браузере это выглядит так:
А вот соответствующих код HTML:
В следующем уроке мы поближе познакомимся с функцией date и различными форматами представления даты и времени.