Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
модуль пхп.doc
Скачиваний:
10
Добавлен:
29.08.2019
Размер:
713.22 Кб
Скачать
  1. Способы встраивания php скрипта в html код

Встраивание в HTML

PHP-скрипты встраиваются в HTML-код. Возникает вопрос, каким образом? Есть несколько способов. Один

из них приведен в самом первом примере – с помощью открывающего тега <?php и закрывающего тега ?>.

Такого вида специальные теги позволяют переключаться между режимами HTML и PHP. Этот синтаксис наиболее

предпочтителен, поскольку позволяет задействовать PHP в XML-совместимых программах (например,

написанных на языке XHTML), но тем не менее можно использовать следующие альтернативные варианты

(команда echo "Some text"; выводит на экран текст «Some text».):

1.<? echo "Это простейшая

инструкция для

обработки PHP"; ?>

2.<script language="php">

echo "Некоторые редакторы

(FrontPage) предпочитают

делать так";

</script>

3.<% echo "Можно использовать теги

в стиле ASP "; %>

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

с помощью функции short_tags() для PHP 3, либо включив установку short_open_tag в конфигурационном

файле PHP, либо скомпилировав PHP с параметром --enable-short-tags. Даже если это включено по умолчанию

в php.ini-dist, использование коротких тегов не рекомендуется. Второй способ аналогичен вставке,

например, JavaScript-кода и использует для этого соответствующий html тег. Поэтому использовать его

можно всегда, но это делается редко из-за его громоздкости. Третий способ можно применить, только

если теги в стиле ASP были включены, используя конфигурационную установку asp_tags.

Когда PHP обрабатывает файл, он просто передает его текст, пока не встретит один из перечисленных

специальных тегов, который сообщает ему о необходимости начать интерпретацию текста как кода PHP.

Затем он выполняет весь найденный код до закрывающего тега, говорящего интерпретатору, что далее снова

идет просто текст. Этот механизм позволяет внедрять PHP-код в HTML – все за пределами тегов PHP

остается неизменным, тогда как внутри интерпретируется как код. Заметим также, что php-файл не похож

на CGI-скрипт. Php файл не должен быть исполнимым или еще каким-либо образом помеченным.

Для того чтобы отправить php-файл на обработку серверу, нужно в строке браузера набрать путь к этому

файлу на сервере. Скрипты php должны располагаться там, где разрешен доступ через www, например там

же, где лежит домашняя страничка. Если php-файл лежит на локальной машине, то его можно обработать

с помощью интерпретатора командной строки.

  1. Переменные и константы в php. Область определения переменных

Переменная - это некая сущность, содержащая данные. Если тип данных это общее описание формата хранимых данных и способов работы с ними, то переменная представляет собой конкретный блок памяти компьютера. В этом блоке хранится значение переменной, а обратиться к блоку (и к значению) можно поимени переменной.

В PHP имя переменной всегда начинается со знака доллара ($), за которым обязательно должна следовать буква, после которой можно использовать буквы, цифры и знак подчёркивания. Имена чувствительны к регистру символов, т.е. переменные $value, $Value, $VALUE и $VaLuE - четыре РАЗНЫХ переменных, хотя их имя и читается одинаково.

Примеры синтаксически правильных имён переменных:

<php

$varName

$name_19

$x_____________99887

$иван_иваныч

?>

Пример некорректных имён:

<php

$1_name

$_user_pass

?>

Есть одно общее правило (для всех языков программирования), касающееся именования переменных. Правило очень простое: имена всегда должны быть осмысленными.

Пример плохо читаемого кода

<php

$x_1 = func1($b);

$u1 = $x_1['param1'];

$u2 = $x_1['param2'];

$u3 = $x_1['param3'];

?>

Краткость, конечно, сетстра таланта, но жертвовать простотой восприятия кода ради его компактности - неразумно. Тем более, что длина имени никак не влияет на производительнось скрипта. Но не стоит и впадать в противоположную крайность - давать переменным слишком длинные имена. Если имя должно состоять из двух и более слов - части имени нужно выделять заглавными буквами или разделять подчёркиваниями. Например, имя $strusernameadndomain намного лучше воспринимается в виде $str_UserNameAndDomain.

Пример хорошо читаемого кода

<php

$user_data = get_user_data($userInfo);

$user_id = $user_data['user_id'];

$user_login = $user_data['user_login'];

$user_name = $user_data['user_name'];

?>

Переменные бывают двух видов: обычные переменные (переменные-значения) и ссылочные переменные. Ключевое отличие между ними заключено в способе обработки данных. При присвоении значения обычной переменной присваиваемое значение полностью копируется, т.е. создаётся новый блок памяти, куда помещается копия исходного значения. При дальнейшей работе все изменения будут отражаться на этой копии, а не на исходных данных.

Ссылочные переменные работают иначе. При присвоении значения ссылочной переменной копируются не данные, а информация о том, где она лежит. В результате получается, что переменная указывает на тот же блок, в котором лежат исходные данные. Теперь если изменить значение ссылочной переменной, то изменится исходное значение.

Рассмотрим пример:

Передача переменных по значению

<php

// Присвоим значение 'Вася' переменной $name

$name = 'Вася';

$ref_name = $name;

// Теперь $ref_name равен $name

// Изменим $ref_name

$ref_name = "Меня зовут $ref_name";

echo $ref_name;

// $ref_name изменилась

echo $name;

// $name осталась прежней

?>

Передача переменных по ссылке

<php

// Присвоим значение 'Вася' переменной $name

$name = 'Вася';

$ref_name = &$name;

// Теперь $ref_name ссылается на $name

// Изменим $ref_name

$ref_name = "Меня зовут $ref_name";

echo $ref_name;

echo $name;

// $name изменилась одинаково с $ref_name

?>

Стоит отметить, что по ссылке можно передавать только переменные, т.е. следующий код приведёт к ошибке:

<php

$ref_name = &('Вася'); // нельзя, т.к. значение 'Вася' не является переменной;

?>

Для работы с переменными есть в PHP особые функции:

  • isset() - проверяет, была ли объявлена переменная и отличается ли её значение от NULL;

  • empty() - аналог isset()

  • unset() - встроенная функция языка, удаляющая значение переменной и удаляющая саму переменную из списка доступных переменных (уничтожающая переменную).

<php

$name = 'Иван Иваныч';

if(isset($name))

{

// Выводим сообщение с именем

echo "Моё имя: $name";

// уничтожаем переменную

unset($name);

}

else "Имя ещё не определено";

echo $name;

// ничего не выведет,

// т.к. значение переменной $name

// ещё не определено

// или переменная уже уничтожена

?>