Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab3-PHP-rus.doc
Скачиваний:
3
Добавлен:
23.11.2019
Размер:
105.98 Кб
Скачать

Лабораторна робота №3 Мова рнр

Мета роботи: отримати навички створення сценаріїв на мові РНР.

3.1. Теоретичні відомості

РНР (созданный в качестве предобработчика гипертекстов —Hypertext Preprocessor) вобрал в себя всю простоту сценариев и мощь средств разработки серверной части Web-приложений. Если принять во внимание его простой C-подобный синтаксис, поддержку самых разнообразных баз данных, объектно-ориентированного подхода и возможность бесплатного использования, то станет понятна все возрастающая популярность языка РНР.

Что происходит со сценариями php при передаче клиентского запроса?

Когда от клиентского броузера поступает запрос на получение обычной страницы HTML, то Web-сервер выполняет следующую простую последовательность действий:

1. Анализ HTTP-запроса.

2. Поиск нужного серверного ресурса (страницы).

3. Передача данных обратно клиенту.

В случае запроса на страницу, в состав которой входят PHP-сценарии, приведенная выше последовательность действия несколько усложняется. Web-сервер в этом случае должен выполнить анализ запрошенного файла, а при обнаружении операторов PHP вызвать соответствующий интерпретатор. В несколько упрощенном виде выполняемая при этом последовательность действий выглядит следующим образом.

1. Анализ http-запроса.

2. Поиск необходимого серверного ресурса (страницы).

3. Анализ сценариев, обнаруженных на странице, путем вызова соответствующего интерпретатора.

4. Передача обратно клиенту результирующей страницы.

Необходимо отметить, что на странице, которая передается клиентскому броузеру, уже не содержится никаких сценариев. Их место заняли данные, сгенерированные в процессе их интерпретации. В общем случае такими данными может быть не только HTML-код, но и различные фрагменты на языках клиентских сценариев (JavaScript и т.д.).

Включение фрагментов РНР в HTML-код

Фрагмент на языке РНР можно встроить в текст Web-страницы несколькими способами: с помощью стандартных дескрипторов; с помощью коротких дескрипторов; с помощью дескрипторов script; с помощью дескрипторов в стиле ASP.

Стандартные дескрипторы

Для встраивания в страницы HTML кода РНР чаще всего используются стандартные дескрипторы. Это объясняется их наглядностью и удобством в использовании. Например,

<?php

print “This is a simple test!”;

?>

Короткие дескрипторы

Короткие дескрипторы обеспечивают наиболее компактный переход к коду РНР.

<? echo “This is a simple test!”; ?>

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

  • указать ключ -enable-short-tags при компиляции модуля РНР;

  • включить параметр short_open_tag в файл php.ini.

Дескрипторы script

Некоторые текстовые редакторы ошибочно принимают код РНР за код HTML (то есть визуально отображаемый текст), что нарушает правильную интерпретацию Web-страницы. Эта проблема решается путем использования дескрипторов script.

<script language=“php”>

<?php print “This is a simple test!”; ?>

</script>

Дескрипторы в стиле ASP

Четвертый и последний способ внедрения кода на языке РНР в текст HTML-страницы заключается в использовании дескрипторов в стиле ASP. Они напоминают короткие дескрипторы, однако вместо вопросительного знака используется символ %.

<%php echo “This is a simple test!”; %>

Переменные

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

<?php

$username = ‘Barry’;

$UserName = ‘White’;

echo “$username $UserName”;

?>

Примерами неправильных имен переменных являются следующие: $4name, $&Test, $8+abc.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]