Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vtoraya_chast_uchebnika_po_WWW_Okonchat_variant...doc
Скачиваний:
33
Добавлен:
27.09.2019
Размер:
6.06 Mб
Скачать

4.6.3. Вложенные функции и вложенные файлы

В PHP с целью динамического описания функции её можно «спрятать» не только в операторе if, но и в другой функции. В этом случае, первая («спрятанная») функция становится доступной для использования только после вызова функции, в которой она описана. Данная возможность реализована в первой части примера Пример 4-21

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

Для использования вложенных файлов надо ответить на три вопроса:

  1. Где хранить эти файлы?

  2. Какую команду надо использовать, чтобы вставлять файл в нужное место?

  3. Какими должны быть синтаксис и расширение таких файлов?

Ответим на эти вопросы:

  1. Файлы должны храниться в том же каталоге, что и вызывающий их скрипт;

  2. Вложение файла в нужное место скрипта производиться с помощью команды include("имя файла");

  3. Синтаксис файла требует использования «обёртки» <?php … ?>, а в качестве расширения файла обычно используется .inc, но допускается использование традиционного расширения .php.

Использование вложенных функций представлено во второй части примера Пример 4-21. В нём реализуется вычисление площади круга по заданному радиусу. Причём, константа π (пи) задаётся отдельным вложенным файлом, как и функция, вычисляющая площадь круга по известной формуле S = 2πR, где R – радиус круга.

Допустим, что мы решили создать три вложенных файла, из них два содержат одинаковое задание константы π, но имеют разные расширения: .inc и .php, а третий файл будет определять функцию, вычисляющую площадь круга, и иметь расширение .php.

Коды использования уже созданных и размещённых в нужном каталоге вложенных функций содержится во второй части примера Пример 4-21.

Упомянутую же задачу создания и размещения вложенных функций необходимо рассмотреть подробнее.

Поэтому ниже приводится её пошаговое решение с иллюстрациями экранных принт-скринов в IDE NetBeans 6.9.1.

Шаг 1. Фиксация исходного состояния – Рис. 4-5.

Имеем созданный каталог с начальным файлом.

Рис. 4‑13.

Шаг 2. Создаём файл, содержащий определение константы π.

Для этого последовательно выполняем действия, представленные на рисунках Рис. 4-6, Рис. 4-7.

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

Задаём имя файла constanta_Pi.inc. В правой (пустой) части формы ввода вставляем код, определяющий значение константы.

После этого можно тестировать проект с использованием подключаемого файла, в котором определяется константа π.

Примечание: на рисунках видно, что в каталоге уже присутствует дублёр файла constanta_Pi.inc, но с расширением .php. Действительно, он был создан раньше, чем файл constanta_Pi.inc, по тому же алгоритму, однако с выбором php-типа файла.

Вам необходимо проделать такую работу самостоятельно.

Пример 4-21 поддерживает проверку обеих вариантов за счёт перевода соответствующих команд в комментарии и обратно.

Наконец, переходим к созданию файла, описывающего функцию, вычисляющую площадь круга. Зададим ему расширение php и полное имя func_S_Kruga.php.

Процесс создания такого файла идентичен описанному ранее, с соответствующей поправкой на тип файла (Рис. 4-8).

После того можно ещё раз протестировать правильность использования включения вложенных файлов.

Рис. 4-6.

Рис. 4-7.

Рис.4-8.