Еженедельник Свет в Интернет

Главная

Новости

Статьи и обзоры
  Горожанин
  Обнинск в Internet
  Web Design
  Hardware
  Software
  Безопасность
  Серфинг
  Игродром
  Relax
  Технологии
  Web-обзор
  Интернет-ликбез
  Опросник
  УП-Технологии
  ART.net

Ссылки

Архив

О нас

Контакты

Форумы


Основатель:
К.Николаенко

Главный Редактор:
С.Коротков

Web Design:
Neutron


Наш спонсор






Порт POPULAR.RU
POPULAR.RU RegionalBanner Network.






Океан


НПП Метра - промышленные электронные автомобильные вагонные весы
Goldy Interior - салон офисной мебели: кабинеты руководителей, мебель для персонала

= Web-Дизайн =

 

ЗНАКОМСТВО С РНР

(с) Андрей Гончаров



Язык РНР был создан Расмусом Лердорфом осенью 1994 года исключительно в личных целях - Расмус хотел вести статистику посещаемости своего сайта (аббревиатура РНР расшифровывается как Personal Home Page). Средствами HTML это было реализовать невозможно, а другие инструменты для решения этой задачи по каким-то причинам Расмуса не удовлетворили, поэтому он и создал РНР - простое и удобное средство. А в 1995 году появилась первая общедоступная версия РНР.

На тот момент РНР обладал весьма скромными возможностями, но уже к середине 1995 года он научился принимать данные HTML-форм и работать с базами данных. С тех пор РНР все время совершенствовался, и на сегодняшний день представляет собой удобный инструмент для создания динамических HTML-страниц. Изменилось и значение аббревиатуры: теперь РНР рекурсивно расшифровывается как РНР: Hypertext Preprocessor (РНР - гипертекстовый препроцессор).
Так что же такое РНР? РНР - это скрипт-язык, интерпретируемый на стороне сервера. После выполнения скрипта серверов браузеру передаются результаты его работы в виде HTML-страницы.
Так как целью данной статьи является обучение основам написания РНР-скриптов, то сначала определимся с инструментами, которые для этого понадобятся. Для того, чтобы отлаживать скрипты, необходимо установить на компьютере веб-сервер, например Apache <www.apache.org>, и собственно сам РНР <www.php.net> или <http://ru.php.net>. Также нам понадобится текстовый редактор. Конечно, сойдет и Notepad, но его возможностей может оказаться недостаточно для комфортной работы. Для дальнейшего освоения РНР можно посоветовать использовать редактор с подсветкой синтаксиса, например HomeSite 4.51 <www.allaire.com>, или, еще лучше специализированный редактор со средой отладки, например РНР Coder <www.phpide.de>. Процесс установки и настройки веб-сервера Apache и РНР описан во множестве статей, в частности их можно найти на сайте <http://adonis.dem.ru>. Итак, начнем.

СТРУКТУРА СКРИПТА

Сам скрипт представляет собой обычный текстовый файл, в котором содержится одна либо несколько секций <?php?>. Для лучшего восприятия сказанного напишем простейший скрипт, выводящий в браузер простейшуюю HTML-страницу с надписью "Это первый скрипт". Для этого создадим файл first.php следующего содержания:

<!doctype html public "-//W3C//DTD HTML 4.0 //RU">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<title>Первый скрипт!</title>
</head>
<body>
<?php
echo "Это первый скрипт";
?>
</body>
</html>

Теперь, если вы наберете в браузере (подразумевается, что веб-сервер и РНР уже установлены и функционируют на компьютере) адрес <http://127.0.0.1/first.php>, то увидите (если не допустили ошибок при наборе текста скрипта) страничку, содержащуюю единственную строчку "Это первый скрипт". Данный скрипт является бессмысленным, так как его функциональность можно реализовать с использованием средств HTML. Зато мы видим, каким именно образом РНР-код можно встраивать в HTML-страницу.
У вас, наверняка, уже возникли вопросы: а что же мне, собственно, может дать использование РНР? Зачем он вообще нужен? Чтобы на них ответить, давайте рассмотрим такую ситуацию: вам нужно создать несколько похожих друг на друга HTML-страниц, которые содержат разные заголовки и изображения. Без использования РНР потребовалось бы создавать все эти страницы с нуля, каждый раз используя одинаковые фрагменты HTML-кода. А вот как можно решить эту задачу с использованием РНР: создать файлы-шаблоны повторяющихся частей страниц, а затем - несколько скриптов, содержащих несколько строк кода. Рассмотрим пример.
Создадим файл-шаблон "верхний колонтитул" страницы header.tpl следующего содержания:
<!doctype html public "-//W3//DTD HTML 4.0 //RU">
<html>
<head>
<meta http-equiv="Content-Type"
content="texte/html; charset=wundows-1251">
<title><?php echo $title; ?></title>
</head>
<body>
А вот содержимое файла-шаблона "нижний колонтитул":
<img src="<?php echo $image; ?>">
</body>
</html>
Возможно, встречающиеся слова echo, $title, $image покажутся вам непонятными. Так вот, echo - это функция РНР для вывода текстовых данных в браузер. С ее помощью можно выводить просто текст, как мы делали еще в первом примере, а можно и значения переменных.. В нашем случае $title и $image и есть переменные. В отличие от большинства языков программирования, в РНР нет необходимости переменные и их тип объявлять заранее. О том, что это переменные, свидетельствует знак "$" в начале их имени. По аналогии с языками С и С++ имена переменных в РНР могут состоять из символов латиницы, цифр и знака подчеркивания. Кроме того, РНР чувствителен к регистру, поэтому $var1 и $Var1 будут двумя разными переменными. Так же, как и в C/C++, в РНР каждая отдельная конструкция должна завершаться точкой с запятой - ";".
Теперь, когда мы ответили на возникшие вопросы, вернемся к нашей задаче и напишем скрипты, использующие наши шаблоны. Создадим файл page1.php:

<?php
$title = "Страница 1";
include("header.tpl");
$image = "img/1.gif";
echo "Заголовок 1";
include("footer.tpl");
?>

И файл page2.php:

<?php
$title = "Страница 2";
include("header.tpl");
$image = "img/2.gif";
echo "Заголовок 2";
include("footer.tpl");
?>

Теперь, если вы наберете в браузере <http://127.0.0.1/page1.php>, то увидите страницу с заголовком "Страница 1", содержащуюю строку "Заголовок 1" т рисунок. Аналогичным образом можно просмотреть и страницу page2.php. Как видите, для создания множества страниц сходной структуры не приходится повторять множество тегов.
В этих скриптах полезной функцией является include(). Эта функция подставляет в тело скрипта (в той позиции, где она вызывается) содержимое файла, который передается ей в качестве параметра, то есть в нашем случае header.tpl и footer.tpl. Она же может оказаться полезной для включения в текст скрипта других фрагментов программного кода. Следует также отметить, что если файл, который нужно включить в скрипт, находится в директории, отличной от той, где находится скрипт, то нужно также указать полный путь к файлу, например, include("dir1/dir2/somefile.ext");
Если возникает необходимость использовать в скрипте данные, которые не изменяются по ходу его выполнения, то их лучше всего объявить в виде константы: define("CONST", "value");. Особенность объявления констант заключается в том, что это необходимо делать в начале секции:

<?php
define("CONST", "3");
echo CONST;
?>

Когда ваш скрипт станет чуть более сложным, может возникнуть необходимость добавить в него комментарии, чтобы облегчить понимание логики происходящего. В РНР есть несколько возможностей добавления комментариев: можно закомментировать либо целую строку, либо несколько строк. Символы "//" или "#" свидетельствуют о том,что все стоящее после них и до конца строки является комментарием. Если необходимо закомментировать какой-то фрагмент скрипта, то лучше воспользоваться комбинацией "/*" и "*/". Пример:

<?php
$var = 1; присваиваем переменной значение
/*
пример комментария, состоящего
из нескольких строк.
*/
?>

Теперь пришло время изучить вопросы, без которых не обойтись при написании действительно полезных скриптов.

Продолжение следует.

Copyright © Свет в Internet   Designed by Свет в Internet