четверг, 10 октября 2013 г.

Основы PHP

Пришло время узнать, что такое PHP и с чем его едят,  зачем он нужен и как им пользоваться.
Ранее мы создали страничку с элементами HTML. Но она статична - чтобы изменить какие либо данные на ней необходимо править исходный код документа. А получить данные от посетителя страницы вообще невозможно. Помочь в деле динамически изменяемого содержимого и обмена данными с пользователями нам поможет PHP - англ. Hypertext Preprocessor - скриптовый язык программирования, предназначенный специально для создания веб-страниц.

Включаем PHP на нашей страничке

Для того, чтобы наш сервер понимал, что мы используем не чистую HTML разметку, а еще и язык программирования PHP наши странички должны иметь соответствующее расширение имени файла - php. Создайте новый файл в текстовом редакторе и сохраните его в папку c:\www\test с именем primer2.php.
Чтоб указать серверу где конкретно находится место с командами PHP, которые он должен обработать, это место выделяется тегом <?php . . . ?> . Давайте попробуем. Введите следующий текст в созданный вами файл:

Это вывод PHP:
<br>
<?php
    echo "Привет, я PHP!";
?>

Запустите виртуальную машину (описано в посте первый инструментарий) и в адресной строке браузера введите адрес новой странички: test/primer2.php. Результат выполнения программы, встроенной в нашу страницу должен быть таким:



Если на экране появились непонятные символы, измените кодировку страницы, как указано в предыдущем посте. 
Рассмотрим работу программы немного подробнее. Содержимое тега <?php . . . ?> это одна строчка echo "Привет, я PHP!"; В начале строки стоит слово "echo" - команда PHP, которая указывает, что в исходный код страницы нужно вставить содержимое между кавычками, идущее после команды. Если мы посмотрим страничку, которую выдал сервер нашему браузеру, мы не увидим тегов и команд PHP. Чтобы увидеть страницу, полученную браузером, находясь на нужной нам вкладке браузера нажмите комбинацию клавиш Ctrl+U. В открывшейся вкладке можно будет узнать, что получил наш браузер:




Как видно из листинга, сервер выполнил данную программой команду и просто вставил строчку "Привет, я PHP!" в исходный код страницы.
Этот пример показывает, как взаимодействует сервер с содержимым страницы в случае обнаружения команд PHP. Также мы увидели, что для действий нужно вводить команды (называемые операторами) которые состоят как минимум из служебного (ключевого) слова - в нашем случае "echo" и параметра - строки, заключенной в кавычки.
Пример очень простой, и естественным будет вопрос, зачем нам нужен PHP, если ту же строчку мы можем вставить сразу в страничку без всяких команд?


Добавляем динамику

Следующий пример продемонстрирует выгоды применения языка программирования. Давайте выведем в окно броузера текущую дату. Для этого изменим исходный код страницы следующим образом:

Сегодня:
<?php
     echo date('d.m.Y');
?>

Обновите страницу браузера и посмотрите на результат - мы получили текущую дату (если изменений нет, очистите кеш браузера, как указано в посте "Изучаем HTML")! Без использования PHP для корректного отображения даты нам пришлось бы каждый день изменять дату в коде нашей страницы, а применяя язык программирования, сервер эту работу делает за нас. Для проверки заставим браузер показывать текущее время. Для этого добавим команду "date()" c параметром "G:i:s".

Сегодня:
<?php
    echo date('d.m.Y');
?>
Сейчас:
<?php
    echo date('G:i:s');
?>

Результат выполнения программы представлен на рисунке ниже. Попробуйте несколько раз обновить страницу браузера, и вы увидите, что время изменяется! Ура, мы научились изменять время!



Результат выглядит не очень красиво, немного оформим его. Для этого используем конкатенацию строк - объединение блоков символов. Делается это с помощью строкового оператора ".". Изменим код программы в соответствии с образцом:

Сегодня:
<?php
    echo " -> ".date('d.m.Y'). "<br>";
?>
Сейчас:
<?php
    echo " -> ".date('G:i:s');
?>

Вот так должен выглядеть итог нашего титанического труда:



Посмотрите, как выглядит код страницы, нажав комбинацию клавиш Ctrl+U.
Изучите параметры, которые можно передавать оператору date() на официальном сайте PHP - http://php.net/manual/ru/function.date.php.
Почитайте о строковых операторах на странице http://php.net/manual/ru/language.operators.string.php.

В качестве задания для закрепления знаний измените код таким образом, чтобы год был представлен не четырьмя (2013), а двумя цифрами (13) и секунды не выводились.
На этом сегодня все. В следующей публикации мы поговорим о структуре HTML документа.

6 комментариев:

  1. А зачем все это дело запускать на виртуалке?

    ОтветитьУдалить
    Ответы
    1. Нативная поддержка utf-8. Последующая публикация на linux сервере.

      Удалить
    2. Я не о том, но я уже разобрался)

      Удалить
    3. Наверное имелось в виду, можно просто открывать файлы из папки браузером? Будут корректно отображаться HTML элементы, работать JavaScript. Но PHP работать не будет. И обращение к СУБД тоже.

      Удалить
    4. Да-да, я забыл, что php интерпритируемый...

      Удалить
  2. JavaScript тоже интерпретируемый. Но он работает на стороне клиента. А PHP и PostgreSQL - на стороне сервера.

    ОтветитьУдалить