Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещев Web - программирование 2015-02-17.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.93 Mб
Скачать

2.1.2. Настройка php

Все параметры конфигурации находятся в файле php.ini, который по умолчанию копируется в каталог /usr/local/lib/ в процессе установки.

Общие параметры конфигурации.

short_open_tag [on | off] - определяет возможность использования коротких тегов <?...?> наряду со стандартными тегами.

precision [integer] - задает количество значащих цифр, отображаемых в вещественных числах.

max_execution_time [integer] - определяет максимальную продолжительность выполнения сценариев РНР в секундах.

error_reporting [1-8] - определяет уровень выдачи сообщений об ошибках в РНР. Чем выше значение (1 - обычные ошибки; 2 - обычные предупреждения; 4 - ошибки лексического анализатора; 8 - замечания), тем «чувствительнее» РНР реагирует на ошибки.

display_errors [on | off] - управляет выводом информации об ошибках в браузере.

log_errors - определяет, следует ли регистрировать ошибки в файле. При включении параметра log_errors файл, в котором регистрируются ошибки, назначается при помощи параметра error_log.

error_log [filename] - определяет файл, в котором регистрируются ошибки при включенном параметре log_errors.

Существуют два основных варианта оформления перехода в РНР:

1) стандартные теги: <?php print "Добро пожаловать в мир PHP!": ?>;

2) Короткие теги: <? print " Добро пожаловать в мир PHP!"; ?>

По умолчанию короткие теги не используются, их нужно специально активизировать. Это можно сделать двумя способами: указать ключ - enable-short-tags при компиляции РНР или включить параметр short_open_tag в файл php.ini.

В РНР существуют два формата комментариев:

1) однострочные комментарии начинаются с двойного символа «косая черта» (//) или с символа фунта (#);

2) многострочные комментарии - их начало и конец обозначаются символами /* и */.

2.1.3. Правила написания программы

Основные правила написания программы: в именах переменных и функций большие и малые буквы различаются; в конце каждого оператора (команды) указывается точка с запятой (;); специального символа переноса оператора на другую строчку нет – переность можно с любой позиции в которой можно указать пробел (слова не разрываются при переносе оператора); где можно задать один пробел можно задавать несколько пробелов.

Составной оператор (блок операторов) – это группа простых или составных операторов, заключенная в фигурные скобки ({}). Составные операторы используются в случаях, когда по синтаксису написания команды требуется написание одного оператора, а необходимо написать группу операторов вот тогда эта группа оформляется в виде составного оператора, то есть заключается в фигурные скобки.

Общепринятые соглашения при описании синтаксиса.

Понятия оператора и команды считаются эквивалентными.

При описании синтаксиса оператора, функции или других программных объектов применяются следующие специальные символы, которые не вводятся в программу (если это не оговорено особо), но поясняют правила написания:

[…] – необязательный элемент оператора;

… – повторение предыдущего элемента оператора.

2.2. Типы данных и переменные

2.2.1. Типы данных

В РНР поддерживаются шесть основных типов данных:

1) Целое число не имеет дробной части и представляется последовательностью из одной или нескольких цифр.

Восьмеричные числа начинаются с цифры 0.

Шестнадцатеричные целые числа имеют префикс 0х или 0Х.

2) Вещественное число числа с плавающей точкой отличаются от целых наличием дробной части. Поддерживаются два вещественных формата:

стандартная запись - для представления типичных вещественных чисел — скажем, денежных величин (12.45);

научная запись - для представления очень больших и очень малых чисел (5.9736е24).

3) Строковое значение - последовательность символов. Строки могут ограничиваться парой кавычек (" ") или апострофов (' '). Имена переменных в строках, заключенных в кавычки, заменяются соответствующими значениями, а строки в апострофах интерпретируются буквально, даже если в них присутствуют имена переменных,

Строки могут содержать служебные символы (например, \n - новая строка,  \r - возврат курсора,  \t - горизонтальная табуляция, \\ - обратная косая черта,  \$ - знак доллара, \" – кавычка).

В строках, заключенных в кавычки, распознаются все существующие служебные символы, а в строках, заключенных в апострофы, — только служебные символы «\\» и «\».

Второй вариант синтаксиса ограничения строк, представленный в HTML 4, называется встроенной документацией. В этом варианте синтаксиса строка начинается с символов <<<, за которыми следует некоторый идентификатор, затем строка, присваиваемая переменной. Конструкция заканчивается вторым экземпляром того же идентификатора.

Пример:

$paragraph = <<<DELIM

………

DELIM;

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

К отдельным символам строки можно обращаться как к элементам массива с последовательной нумерацией ($s[4]).

4) Массив - список однотипных элементов. Существует два типа массивов, различающиеся по способу идентификации элементов - c числовым и ассоциативным индексом, заключенного в кавычки. По размерности массивы делятся на одномерные и многомерные.

При обращении к элементам одномерных индексируемых массивов используется целочисленный или ассоциативный индекс позицию заданного элемента. Обобщенный синтаксис элементов одномерного массива: $имя [индекс1]; Одномерные массивы создаются присвоением значений элементам. При создании массивов также можно воспользоваться функцией array (). Массив $meat из предыдущего примера создается командой

$mstud = array("Иванов", "Петров", "Сидоров"); или для ассоциативного

$mstud = array(1->"Иванов", 2->"Петров", 3->"Сидоров");

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

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

Обобщенный синтаксис элементов многомерного массива:

$имя[индекс1][индекс2]..[индексN];

Пример ссылки на элемент двухмерного индексируемого массива:

$position = $chess_board[5][4];

В многомерных массивах допускается смешанное индексирование (числовое и ассоциативное).

5) Логический тип данных принимает всего два значения: истинное (true) и ложное (false). Вообще говоря, любое не пустое значение переменной интерпретируется как истина, иначе – ложь.

6) - Объект - переменная, экземпляр которой создается по специальному шаблону, называемому классом. В отличие от других типов данных, поддерживаемых в языке РНР, объекты должны объявляться явно. Объявление класса должно предшествовать объявлению объектов, создаваемых на их основе.

Пример объявления класса и последующего создания объектов на его основе:

class appliance {

var power:

function set_power($on_off) { $this->power = $on_off;  }

}

...

$blender = new appliance;

Определение класса задает атрибуты и функции, связанные с некоторой структурой данных — в данном примере это структура с именем appliance (устройство). У этой структуры имеется всего один атрибут power (мощность). Для изменения этого атрибута создается метод set_power.

Объекты создаются при помощи ключевого слова new. Например, в приведенном выше фрагменте создается объект $blender класса appliance.

После создания объекта $blender можно задать его мощность при помощи метода set_power: $blender->set_power("on");