Главная
Новости
Статьи и обзоры
Горожанин
Обнинск в Internet
Web Design
Hardware
Software
Безопасность
Серфинг
Игродром
Relax
Технологии
Web-обзор
Интернет-ликбез
Опросник
УП-Технологии
ART.net
Ссылки
Архив
О нас
Контакты
Форумы
Основатель: К.Николаенко
Главный Редактор: С.Коротков
Web Design: Neutron
|
|
= 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; присваиваем переменной значение
/*
пример комментария, состоящего
из нескольких строк.
*/
?>
Теперь пришло время изучить вопросы, без которых не обойтись при написании действительно полезных скриптов.
Продолжение следует.
|
|