Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОКС.doc
Скачиваний:
13
Добавлен:
04.12.2018
Размер:
536.58 Кб
Скачать

35. Синтаксис php

В отличие от традиционных скриптовых языков (таких, как Perl), PHP-программа представляет собой HTML-страницу со вставками кода. Непосредственно PHP-код (который - не HTML:) размещается между тэгами <? и ?>. Все, что расположено между этими тэгами, заменяется на выведенный скриптом внутри этого блока HTML-кодом (в частном случае - если скрипт ничего не выводит - просто "исчезает").

Переменные в PHP начинаются со знака $, за которыми следует произвольный набор латинских букв, цифр и знака подчеркивания: _, при этом цифра не может следовать сразу за знаком $.

Для присваивания переменной значения используется оператор =.

Простой пример.

<html>

<head><title>Hello World</title></head>

<body><h1>Hello World!</h1>

<p>Текущая дата:

<?

echo date("d.m.Y");

?>

</body>

</html>

Если сегодня - 27-е июля 2004 года, в результате исполнения скрипта браузер получит следующий HTML-код:

<html>

<head><title>Hello World</title></head>

<body><h1>Hello World!</h1>

<p>Текущая дата:

27.07.2004</body>

</html>

Строки 5,6,7 - вставка PHP-кода. На строках 5 и 7 расположены соответственно открывающий и закрывающий тэг. Их совершенно необязательно располагать на отдельных строках - это сделано по соображениям удобства чтения.

В строке 6 расположен оператор echo, используемый для вывода в браузер. Выводит же он результат выполнения функции date - в данном случае это текущая дата.

Строка 6 является законченным выражением. Каждое выражение в PHP заканчивается точкой с запятой - ;. Именно точкой с запятой, а не переводом строки - не забывайте об этом, особенно если вы раньше программировали на Visual Basic или ASP.

36. Переменные и константы php. Типы данных

В РНР переменные начинаются со знака доллара ($). За этим знаком может следовать любое количество буквенно-цифровых символов и символов подчеркивания, но первый символ не может быть цифрой или подчеркиванием. Следует также помнить, что имена переменных в РНР чувствительны к регистру, в отличие от ключевых слов.

При объявлении переменных в РНР не требуется явно указывать тип переменной, при этом одна и та же переменная может иметь на протяжении программы разные типы.

Переменная инициализируется в момент присваивания ей значения и существует до тех пор, пока выполняется программа. Т.е., в случае web-страницы это означает, что до тех пор, пока не завершен запрос.

Внешние переменные

После того, как запрос клиента проанализирован веб-сервером и передан РНР машине, последняя устанавливает ряд переменных, которые содержат данные, относящиеся к запросу и доступны все время его выполнения. Сначала РНР берет переменные окружения Вашей системы и создает переменные с теми же именами и значениями в окружении сценария РНР для того чтобы сценариям, расположенным на сервере были доступны особенности системы клиента. Эти переменные помещаются в ассоциативный массив $HTTP_ENV_VARS.

Естественно, что переменные массива $HTTP_ENV_VARS являются системно зависимыми (поскольку это фактически переменные окружения). Посмотреть значения переменных окружения для Вашей машины Вы можете при помощи команды env (Unix) или set (Windows).

Затем РНР создает группу GET-переменных, которые создаются при анализе строки запроса. Строка запроса хранится в переменной $QUERY_STRING и представляет собой информацию, следующую за символом "?" в запрошенном URL. РНР разбивает строку запроса по символам & на отдельные элементы, а затем ищет в каждом из этих элементов знак "=". Если знак "=" найден, то создается переменная с именем из символов, стоящих слева от знака равенства. Рассмотрим следующую форму:

$lt;form action = "http://localhost/PHP/test.php" method="get"$gt;

HDD: $lt;input type="text" name="HDD"/$gt;$lt;br$gt;

CDROM: $lt;input type="text" name="CDROM"/$gt;$lt;br$gt;

$lt;input type="submit"/$gt;

Если Вы в этой форме в строке HDD наберете, к примеру, "Maxtor", а в строке CDROM "Nec", то она сгенерирует следующую форму запроса:

http://localhost/PHP/test.php?HDD=Maxtor&CDROM=Nec

В нашем случае РНР создаст следующие переменные: $HDD = "Maxtor" и $CDROM = "Nec".

Вы можете работать с этими переменными из Вашего скрипта (у нас - test.php) как с обычными переменными. В нашем случае они просто выводятся на экран:

$lt;?

echo("$lt;p$gt;HDD is $HDD$lt;/p$gt;");

echo("$lt;p$gt;CDROM is $CDROM$lt;/p$gt;");

?$gt;

Если запрос страницы выполняется при помощи метода POST, то появляется группа POST-переменных, которые интерпретируются также и помещаются в массив $HTTP_POST_VARS.

Константы

Константы объявляются в РНР при помощи функции define():

define(CONSTANT, value)

Первый параметр этой функции - имя константы, второй - её значение. При использовании константы на неё ссылаются по имени:

$lt;?

define(CONSTANT1,15);

define(CONSTANT2,"x20"); // код пробела

define(CONSTANT3,"Hello");

echo(CONSTANT1);

?$gt;

По традиции имена констант пишут буквами верхнего регистра. И хотя это только традиция, мы Вам рекомендуем ей следовать, поскольку плохие программисты получаются в том числе и из тех, кто не следовал хорошим традициям J. Существует функция defined(), которая проверяет, определена ли константа:

$lt;?

define(CONSTANT,"Hello");

if(defined("CONSTANT"))

{

echo("$lt;p$gt;CONSTANT is defined$lt;/p$gt;");

}

?$gt;